15.3. 将 OpenShift Container Platform OAuth 服务器配置为身份提供程序
OpenShift Container Platform 包括一个内置的 OAuth 服务器,可用作 Red Hat Advanced Cluster Security for Kubernetes (RHACS)的身份验证供应商。
要将内置的 OpenShift Container Platform OAuth 服务器集成为 RHACS 的身份供应商,请使用本节中的说明。
先决条件
-
您必须具有
AuthProvider
权限,才能在 RHACS 中配置身份提供程序。 - 您必须已通过身份提供程序在 OpenShift Container Platform OAuth 服务器中配置了用户和组。有关身份提供程序要求的详情,请参阅 了解身份提供程序配置。
以下流程只为 OpenShift Container Platform OAuth 服务器配置一个名为 central
的主路由。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access Control。 - 点 Create auth provider,然后从下拉列表中选择 OpenShift Auth。
- 在 Name 字段中输入身份验证提供程序的名称。
为使用所选 身份提供程序访问 RHACS 的用户分配最小 访问角色。用户必须具有授予此角色的权限或具有较高权限的角色才能登录到 RHACS。
提示为安全起见,红帽建议在完成设置时首先将 最小访问角色设置为 None。之后,您可以返回 Access Control 页面,根据您的身份提供程序中的用户元数据设置更多定制的访问规则。
可选: 要为用户和组访问 RHACS 添加访问规则,请点击 Rules 部分中的 Add new rule,然后输入规则信息并点 Save。您需要用户或组的属性,以便您可以配置访问权限。
提示组映射功能更为强大,因为组通常与团队或权限集关联,且需要比用户少修改。
要在 OpenShift Container Platform 中获取用户信息,您可以使用以下方法之一:
-
点 User Management
Users < ;username > YAML。 -
访问
k8s/cluster/user.openshift.io~v1~User/<username>/yaml
文件,并记录名称
、uid
(RHACS 中的userid
)和组
的值。 - 使用 OpenShift Container Platform API 参考 中所述。
以下配置示例描述了如何使用以下属性为 Admin 角色配置规则:
-
名称
:管理员
-
groups
:["system:authenticated", "system:authenticated:oauth", "myAdministratorsGroup"]
-
UID
:12345-00aa-1234-123b-123fcdef1234
您可以使用以下方法之一为这个管理员角色添加规则:
-
要为名称配置规则,请从 Key 下拉列表中选择
name
,在 Value 字段中输入administrator
,然后在 Role 下选择 Administrator。 -
要为组配置规则,请从 Key 下拉列表中选择
groups
,在 Value 字段中输入myAdministratorsGroup
,然后在 Role 下选择 Admin。 -
要为用户名配置规则,请从 Key 下拉列表中选择
userid
,在 Value 字段中输入12345-00aa-1234-123b-123fcdef1234
,然后在 Role 下选择 Admin。
-
点 User Management
- 如果将自定义 TLS 证书用于 OpenShift Container Platform OAuth 服务器,您必须将 CA 的 root 证书作为可信 root CA 添加到 Red Hat Advanced Cluster Security for Kubernetes 中。否则,Central 无法连接到 OpenShift Container Platform OAuth 服务器。
要使用
roxctl
CLI 安装 Red Hat Advanced Cluster Security for Kubernetes 时启用 OpenShift Container Platform OAuth 服务器集成,请在 Central 中将ROX_ENABLE_OPENSHIFT_AUTH
环境变量设置为true
:oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
$ oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
对于访问规则,OpenShift Container Platform OAuth 服务器不会返回密钥
电子邮件
。
15.3.2. 为 OpenShift Container Platform OAuth 服务器创建额外路由 复制链接链接已复制到粘贴板!
当使用 Red Hat Advanced Cluster Security for Kubernetes 门户将 OpenShift Container Platform OAuth 服务器配置为身份提供程序时,RHACS 仅为 OAuth 服务器配置单一路由。但是,您可以通过在 Central 自定义资源中将注解指定为注解来创建其他路由。
先决条件
流程
如果使用 RHACS Operator 安装 RHACS:
创建一个
CENTRAL_ADDITIONAL_ROUTES
环境变量,其中包含 Central 自定义资源的补丁:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
CENTRAL_ADDITIONAL_ROUTES
补丁应用到 Central 自定义资源:oc patch centrals.platform.stackrox.io \ -n <namespace> \ <custom-resource> \ --patch "$CENTRAL_ADDITIONAL_ROUTES" \ --type=merge
$ oc patch centrals.platform.stackrox.io \ -n <namespace> \
1 <custom-resource> \
2 --patch "$CENTRAL_ADDITIONAL_ROUTES" \ --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
或者,如果您使用 Helm 安装 RHACS:
在
values-public.yaml
文件中添加以下注解:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
helm upgrade
将自定义注解应用到 Central 自定义资源:helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml>
$ helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用
-f
选项指定values-public.yaml
配置文件的路径。