This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.18.3. 了解身份验证供应商
身份验证供应商连接到用户身份的第三方源(如身份提供程序或 IDP),获取用户身份,根据该身份发布令牌,并将令牌返回到 Red Hat Advanced Cluster Security for Kubernetes (RHACS)。此令牌允许 RHACS 授权用户。RHACS 在用户界面和 API 调用中使用令牌。
安装 RHACS 后,您必须设置 IDP 来授权用户。
如果您使用 OpenID Connect (OIDC)作为 IDP,RHACS 依赖于映射规则来检查特定声明的值,如 组、mail、userid 和 name,用于授权用户。 如果缺少这些详细信息,映射将无法成功,且用户无法访问所需的资源。因此,您需要确保授权来自您的 IDP 的用户(如 组 )所需的声明包含在您的 IDP 身份验证响应中,以启用成功映射。
18.3.1. 声明映射 复制链接链接已复制到粘贴板!
声明是身份提供程序的数据,其中包含他们发出的令牌内的用户。
使用声明映射,您可以指定 RHACS 是否应该自定义从 IDP 接收到的 claim 属性到 RHACS 发布的令牌中的另一个属性。如果不使用声明映射,RHACS 不会将 claim 属性包含在 RHACS-issued 令牌中。
例如,您可以使用声明映射,从用户身份中的角色映射到 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_levelstoaccess_levels
18.3.1.5. 用户证书默认声明映射 复制链接链接已复制到粘贴板!
用户证书与所有其他身份验证供应商不同,因为不与第三方 IDP 通信,而是从用户使用的证书获取用户信息。
用户证书的默认声明映射包括:
-
CertFingerprinttouserid -
subjecttoCommon Name name -
EmailAddresses到email -
subjecttoOrganizational Unit groups
18.3.1.6. OpenShift Auth 默认声明映射 复制链接链接已复制到粘贴板!
以下列表提供了 OpenShift Auth 默认声明映射:
-
组到组 -
UID到userid -
name到name
18.3.2. 规则 复制链接链接已复制到粘贴板!
要授权用户,RHACS 依赖于映射规则来检查特定声明的值,如来自用户身份的组、电子邮件、userid 和名称。规则允许将属性具有特定值的用户映射到特定角色。例如,一个规则可以包括以下内容:'key' 是 email,值为 john@redhat.com,角色是 Admin。
如果缺少声明,映射将无法成功,且用户无法访问所需资源。因此,要启用成功映射,您必须确保来自 IDP 的身份验证响应包括授权用户所需的声明,如 组。
18.3.3. 最低访问角色 复制链接链接已复制到粘贴板!
RHACS 使用特定身份验证供应商发布的 RHACS 令牌为每个调用者分配最小访问角色。默认将最小访问角色设置为 None。
例如,假设有一个具有最低访问的角色 Analyst 的身份验证提供程序。在这种情况下,使用此提供程序登录的所有用户都将为其分配 Analyst 角色。
18.3.4. 所需属性 复制链接链接已复制到粘贴板!
必要的属性可以根据用户身份是否具有带有特定值的属性来限制 RHACS 令牌发出。
例如,您可以将 RHACS 配置为仅在带有 key is_internal 的属性具有属性 true 时发布令牌。具有 is_internal 属性的用户设为 false 或未设置不会获取令牌。