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 或未设置不会获取令牌。