身份验证提供程序连接到第三方用户身份源(例如,身份提供程序或 IDP),获取用户身份,基于该身份发出令牌,并将令牌返回给 Red Hat Advanced Cluster Security for Kubernetes (RHACS)。此令牌允许 RHACS 授权用户。RHACS 在用户界面和 API 调用中使用此令牌。
安装 RHACS 后,必须设置 IDP 以授权用户。
如果您使用 OpenID Connect (OIDC) 作为您的 IDP,RHACS 依赖于检查特定声明(如 `groups`、`email`、`userid` 和 `name`)的值的映射规则,这些值来自用户 ID 令牌或 `UserInfo` 端点响应,以授权用户。如果缺少这些详细信息,则映射将无法成功,用户将无法访问所需的资源。因此,您需要确保授权用户(例如 `groups`)所需的声明包含在 IDP 的身份验证响应中,以启用成功的映射。 |
声明是身份提供程序在其发出的令牌中包含的关于用户的数据。
使用声明映射,您可以指定 RHACS 是否应将其从 IDP 收到的声明属性自定义为 RHACS 发出的令牌中的另一个属性。如果您不使用声明映射,RHACS 不会在 RHACS 发出的令牌中包含声明属性。
例如,您可以使用声明映射将用户身份中的 `roles` 映射到 RHACS 发出的令牌中的 `groups`。
RHACS 对每个身份验证提供程序使用不同的默认声明映射。
以下列表提供了默认的 OIDC 声明映射
`sub` 到 `userid`
`name` 到 `name`
`email` 到 `email`
`groups` 到 `groups`
以下列表适用于 SAML 2.0 默认声明映射
Subject.NameID
映射到 userid
响应中的每个 SAML AttributeStatement.Attribute
都映射到其名称
以下列表提供了 Google IAP 默认声明映射
`sub` 到 `userid`
`email` 到 `email`
hd
映射到 hd
google.access_levels
映射到 access_levels
为了授权用户,RHACS 依赖于检查特定声明(例如用户身份中的groups
、email
、userid
和 name
)值的映射规则。规则允许将具有特定值属性的用户映射到特定角色。例如,规则可能包括:`key` 为 email
,value
为 [email protected]
,role
为 Admin
。
如果声明缺失,则映射将无法成功,用户将无法访问所需的资源。因此,为了实现成功的映射,必须确保来自 IDP 的身份验证响应包含授权用户所需的声明,例如 groups
。