No description
- Go 93.8%
- Makefile 5.8%
- Dockerfile 0.4%
| cmd/kct | ||
| pkg | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .golangci.yml | ||
| Dockerfile | ||
| DockerfileBuildLocal | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
kct - KeyCloak Tool
Утилита для управления межсервисной авторизацией. Управляет сервисами, ролями и маппингами ролей между сервисами. При создании и удалении сервиса, добавляет и удаляет секрет из Vault.
Для сохранения в Vault нужен доступ к соответствующему namespace у пользователя. Также требуется установить клиент и авторизоваться:
export VAULT_ADDR="https://vault.s.o3.ru:8200"
vault login -method oidc
Проверить доступы можно в клиенте:
vault token capabilities o-secret/stg/platform/demo/service2
vault token capabilities o-secret/stg
vault token capabilities o-secret/prod
Для авторизации в Keycloak откроется страница браузера. Пользователю необходимо обладать правами на управления Realm-ом service2service.
Доступные команды:
service add service2 platform/demo/service2
service del service2 platform/demo/service2
service del service2
service ls
role add <svc> <role>
role del <svc> <role>
role ls <svc>
map add <cli> [to] <tgt> <role> [-f]
map del <cli> [to] <tgt> <role>
map ls <cli> [to] <tgt>
Примеры команд
service add service1 platform/demo/service1
role add service1 /ozon.platform.demo.service1.api.strings.Strings/ToUpper
role add service1 /ozon.platform.demo.service1.api.strings.Strings/*
role ls service1
role del service1 wrong
map ls service2 service1
map add service2 service1 /ozon.platform.demo.service1.api.strings.Strings/ToUpper
map add service2 service1 /ozon.platform.demo.service1.api.strings.Strings/ToLower
map ls service2 service1
map del service2 service1 /ozon.platform.demo.service1.api.strings.Strings/ToLower
map ls service2 service1