我正在尝试将Keycloak与保险柜集成。我有2个保险柜策略(管理员,开发人员)。我想使用路径“ keycloak”,并完成了$ vault auth enable -path=keycloak oidc
。
我要解决的问题是将Vault Policy与Keycloak Client Role映射。
$ vault write auth/keycloak/config \
oidc_discovery_url="https://$KEYCLOAK_ADDRESS/auth/realms/master" \
oidc_client_id="vault" \
oidc_client_secret=${CLIENT_SECRET} \
default_role="admin" type="oidc"
$ vault write auth/keycloak/role/admin \
bound_audiences="vault" \
allowed_redirect_uris="https://$VAULT_ADDRESS/ui/vault/auth/oidc/oidc/callback" \
allowed_redirect_uris="https://localhost:8250/oidc/callback" \
user_claim="sub" \
policies="admin" \
ttl=4h \
role_type="oidc" \
oidc_scopes="openid"
$ vault write auth/keycloak/role/dev \
bound_audiences="vault" \
allowed_redirect_uris="https://$VAULT_ADDRESS/ui/vault/auth/oidc/oidc/callback" \
allowed_redirect_uris="https://localhost:8250/oidc/callback" \
user_claim="sub" \
policies="dev" \
ttl=4h \
role_type="oidc" \
oidc_scopes="openid"
我希望将Vault中的管理员和开发人员角色绑定到Keycloak中的“ vault”客户端。但是,根据用户所绑定的组,我希望用户具有不同的策略。 (均通过控制台使用vault login -method=oidc keycloak
登录)
有什么想法吗?我想到的解决方案是使2个不同的客户端。但是,我只需要1个客户端“保险库”。能做到吗?