Настройка аутентификации в vault через Keycloak¶
- Во freeipa создаем группу
vault-admin
и добавляет туда пользователя -
В keycloak cоздаем клиент
Client type: OpenID connect Client ID: vault Client Authentication: ON Authentication flow: only - Standart flow Root URL: https://vault.<domain> Home URL: https://vault.<domain> Valid redirect URIs: - http://localhost:8250/oidc/callback - https://vault.<domain>/ui/vault/auth/oidc-keycloak/oidc/callback
-
мы хотим, чтобы члены группы "vault-admin" в KeyCloak получали соответствующую роль в Vault. Для достижения этой цели нам необходимо проинклюдить group membership в токены, выдаваемые клиентом KeyCloak. В KeyCloak нам нужно настроить "Mapper" - небольшой автоматизированный фрагмент кода, который знает, как сделать include groups в user token scope.
так как ранее мы создавали маппинг группы из freeipa в keycloak, то группа отобразится в keycloak
далее открываем Client Scopes, создаем возможно ранее уже создали:
name: groups
add mapper:
Mapper type: Group Membership
Name *: groups
Token Claim Name: groups
Full group path: On
Add to ID token: On
Add to access token: On
Add to userinfo: On
Add to token introspection: On
- Провалидируем User token scope Clients - vault - Client Scopes - Evaluate в поле Users вводим имя пользователя которого добавили в группу vault-admin , далее выбираем generated id tokens и в json выводе должны отобразиться группы которым принадлежит пользователь во freeipa
- На стороне vault как настроить смотрим тут
Links¶
- Vault: Keycloak OIDC
- https://d-heinrich.medium.com/hashicorp-vault-with-oidc-using-keycloak-95d8feee269