18.3. 了解身份验证供应商
身份验证供应商连接到用户身份的第三方源(如身份提供程序或 IDP),获取用户身份,根据该身份发出令牌,并将令牌返回到 Red Hat Advanced Cluster Security for Kubernetes (RHACS)。此令牌允许 RHACS 授权用户。RHACS 在用户界面和 API 调用中使用令牌。
安装 RHACS 后,您必须设置 IDP 来授权用户。
如果您使用 OpenID Connect (OIDC)作为 IDP,RHACS 依赖于映射规则来检查来自用户 ID 令牌或 UserInfo
端点响应中特定声明的值,如 组
、电子邮件
、userid
和名称
,以授权用户。如果没有这些详细信息,则映射无法成功,用户也不会获得对所需资源的访问权限。因此,您需要确保从 IDP 授权用户(如 组
)所需的声明包含在 IDP 的身份验证响应中,以启用成功映射。
其他资源
18.3.1. 声明映射
声明是身份提供程序包含令牌内用户的数据。
使用声明映射,您可以指定 RHACS 是否应该将其从 IDP 接收到的 claim 属性自定义到 RHACS-issued 令牌中的另一个属性。如果不使用声明映射,RHACS 不会在 RHACS-issued 令牌中包含 claim 属性。
例如,您可以使用声明映射,从用户身份中的角色
映射到 RHACS-issued 令牌中的组
。
RHACS 为每个身份验证供应商使用不同的默认声明映射。
18.3.1.1. OIDC 默认声明映射
以下列表提供默认的 OIDC 声明映射:
-
sub
到userid
-
name
到name
-
email
到email
-
组
到组
18.3.1.2. Auth0 默认声明映射
Auth0
默认声明映射与 OIDC 默认声明映射相同。
18.3.1.3. SAML 2.0 默认声明映射
以下列表适用于 SAML 2.0 默认声明映射:
-
subject.NameID
映射到userid
-
来自响应的每个 SAML
AttributeStatement.Attribute
都会被映射到其名称
18.3.1.4. Google IAP 默认声明映射
以下列表提供了 Google IAP 默认声明映射:
-
sub
到userid
-
email
到email
-
hd
到hd
-
google.access_levels
到access_levels
18.3.1.5. 用户证书默认声明映射
用户证书与所有其他身份验证提供程序不同,因为与第三方 IDP 通信,它们从用户所使用的证书获取用户信息。
用户证书的默认声明映射包括:
-
CertFingerprint
touserid
-
subject
到Common Name name
-
EmailAddresses
到email
-
subject
toOrganizational Unit groups
18.3.1.6. OpenShift Auth 默认声明映射
以下列表提供了 OpenShift Auth 默认声明映射:
-
组
到组
-
UID
到userid
-
name
到name
18.3.2. 规则
要授权用户,RHACS 依赖于映射规则来检查特定声明的值,如来自用户身份的组
、电子邮件
、userid
和名称
。规则允许映射具有特定值的属性的用户到特定角色。例如,规则可以包括以下内容:'key' 是 电子邮件
,值为
john@redhat.com
,role
为 Admin
。
如果缺少声明,映射将无法成功,用户也不会访问所需资源。因此,要启用成功映射,您必须确保来自 IDP 的身份验证响应包含授权用户所需的声明,如 组
。
18.3.3. 最低访问角色
RHACS 使用特定身份验证供应商发布的 RHACS 令牌为每个调用者分配最小访问角色。默认将最小访问角色设置为 None
。
例如,假设有一个具有最低访问的角色 Analyst
的身份验证提供程序。在这种情况下,使用此提供程序登录的所有用户都将为其分配 Analyst
角色。
18.3.4. 所需属性
必要属性可以根据用户身份是否具有带有特定值的属性来限制发出 RHACS 令牌。
例如,您只能将 RHACS 配置为仅在带有键 is_internal
的属性具有属性值 true
时发出令牌。将属性 is_internal
设置为 false
或未设置的用户不会获得令牌。