- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
代表客户发布此问题:
我们正在尝试将 Kubernetes OIDC 身份验证与 Azure AD 集成。根据文档,为了使用用户组,我们需要将以下选项传递给 Kubernetes API 服务:--oidc-groups-claim user_roles
Api 服务使用 user_roles
在 Azure AD 返回的 JWT 中查找用户所属组的组名称。
但是,当我们解码 Azure AD 返回的 JWT 时,我们在返回的 JWT 中找不到任何名为 user_roles
的字段。解码后的 JWT 如下所示(已编辑):
{
"aud": "spn:XXX",
"iss": "https://sts.windows.net/XXX/ ",
"iat": XXX,
"nbf": XXX,
"exp": XXX,
"acr": "1",
"aio": "XXX",
"amr": [
"pwd",
"mfa"
],
"appid": "XXX",
"appidacr": "0",
"family_name": "Foo",
"given_name": "Bar",
"groups": [
"gid1",
"gid2"
],
"ipaddr": "XXX",
"name": "Foo Bar",
"oid": "XXX",
"onprem_sid": "XXX",
"scp": "user_impersonation",
"sub": "XXX",
"tid": "XXX",
"unique_name": "XXX",
"upn": "XXX",
"uti": "XXX",
"ver": "1.0"
}
如您所见,返回的 JWT 中不存在 user_role 字段。我们还缺少什么吗?我们是否应该在 Azure AD 中启用一些设置,以使 Azure 返回 user_role 填充用户所属的组名称?我们希望得到的 JWT 应该看起来像这样(请注意 user_role 字段):
https://github.com/kubernetes/kubernetes/issues/33290#issue-178672086
{
"iss": "XXX",
"aud": "XXX",
"exp": XXX,
"jti": "XXX",
"iat": XXX,
"nbf": XXX,
"sub": "mmosley",
"user_role": [
"admin",
"users",
"approvers"
],
"email": "XXX"
}
任何帮助或指示将不胜感激。
最佳答案
首先,据我所知,AAD id_token
仅支持 role
声明,而不支持 user_role
。可以通过添加 AAD 应用程序 list 的 appRoles
属性将其添加到 id_token
中。需要配置中的位来匹配 Azure AAD 检索到的 token 中的受众。
其次,--oidc-groups-claim
不应使用 user_role
声明。根据我的理解,应该是groups
,与id_token
中的groups
声明相匹配。
另外,您可以引用this blog和 this sample将 Kubernetes RBAC 与 Azure AD 集成。
有关 Kubernetes RBAC 身份验证的更多详细信息,请参阅 this document.
关于azure - AD OIDC 未返回 user_role,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49413010/
我收到以下错误 Class org.springframework.expression.spel.SpelEvaluationException Message EL1008E:(pos 0): F
我需要为用户身份验证创建一个基本数据库。到目前为止,每个用户都有一个名称、一个密码和一个角色。我在 Internet 的某个地方找到了这个,看起来很有前途: create table if not e
代表客户发布此问题: 我们正在尝试将 Kubernetes OIDC 身份验证与 Azure AD 集成。根据文档,为了使用用户组,我们需要将以下选项传递给 Kubernetes API 服务:--o
我正在使用 springboot 和 hibernate, 我的实体类如下所示: @Entity @Table(name="tbl_user") public class User { @Id
我是一名优秀的程序员,十分优秀!