【问题标题】:Keycloak and Vault Integration with Client RoleKeycloak 和 Vault 与客户端角色的集成
【发布时间】:2020-11-23 07:44:17
【问题描述】:

我正在尝试将 Keycloak 与 Vault 集成。我有 2 个保险柜策略(管理员、开发人员)。我想使用路径'keycloak',并且已经完成$ vault auth enable -path=keycloak oidc

我要解决的问题是将 Vault Policy 与 Keycloak 客户端角色进行映射。

$ 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 中的 admin 和 dev 角色绑定到 Keycloak 中的“Vault”客户端。但是,根据用户绑定的组,我希望用户有不同的策略。 (两者都使用vault login -method=oidc keycloak通过控制台登录)

有什么想法吗?我想到的解决方案是制作 2 个不同的客户端。但是,我只想要 1 个客户“保险库”。这可以实现吗?

【问题讨论】:

  • 这个运气好吗?
  • @DanGarthwaite 不幸的是,还没有。
  • groups_claim=groups

标签: keycloak hashicorp-vault


【解决方案1】:

转到您的客户端,然后转到 Mappers 选项卡,然后按 Add Builtin

然后在搜索中找到组并添加它

在此之后,您的 jwt 令牌有效负载中将出现组部分

然后在您的 Vault oidc 配置中配置 groups_claim

$ 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" \
groups_claim="groups"

$ 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" \
groups_claim="groups"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 2017-09-12
    • 2021-01-03
    • 2022-12-19
    • 2018-08-12
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多