-
单击**用户管理** → **用户** → **<用户名>** → **YAML**。
-
访问
k8s/cluster/user.openshift.io~v1~User/<username>/yaml
文件并记下name
、uid
(RHACS 中的userid
)和groups
的值。 -
使用 OpenShift Container Platform API,如《OpenShift Container Platform API 参考》中所述。
OpenShift Container Platform 包含一个内置的 OAuth 服务器,您可以将其用作 Red Hat Advanced Cluster Security for Kubernetes (RHACS) 的身份验证提供程序。
要将内置的 OpenShift Container Platform OAuth 服务器集成作为 RHACS 的身份提供程序,请使用本节中的说明。
您必须具有在 RHACS 中配置身份提供程序的“访问”权限。
您必须已经通过身份提供程序在 OpenShift Container Platform OAuth 服务器中配置了用户和组。有关身份提供程序要求的信息,请参见了解身份提供程序配置。
以下步骤仅为 OpenShift Container Platform OAuth 服务器配置名为“central”的单个主路由。 |
在 RHACS 门户中,转到**平台配置** → **访问控制**。
单击**创建身份验证提供程序**,然后从下拉列表中选择**OpenShift Auth**。
在**名称**字段中输入身份验证提供程序的名称。
为使用所选身份提供程序访问 RHACS 的用户分配**最低访问角色**。用户必须拥有授予此角色或具有更高权限的角色的权限才能登录到 RHACS。
出于安全考虑,Red Hat 建议您在完成设置之前先将**最低访问角色**设置为**无**。稍后,您可以返回到**访问控制**页面以根据身份提供程序的用户元数据设置更定制的访问规则。 |
可选:要为访问 RHACS 的用户和组添加访问规则,请在**规则**部分中单击**添加新规则**,然后输入规则信息并单击**保存**。您将需要用户或组的属性,以便您可以配置访问。
组映射更强大,因为组通常与团队或权限集相关联,并且比用户需要更少的修改。 |
要在 OpenShift Container Platform 中获取用户信息,您可以使用以下方法之一
单击**用户管理** → **用户** → **<用户名>** → **YAML**。
访问k8s/cluster/user.openshift.io~v1~User/<username>/yaml
文件并记下name
、uid
(RHACS 中的userid
)和groups
的值。
使用 OpenShift Container Platform API,如《OpenShift Container Platform API 参考》中所述。
以下配置示例描述了如何为具有以下属性的管理员角色配置规则
name
: administrator
groups
: ["system:authenticated", "system:authenticated:oauth", "myAdministratorsGroup"]
uid
: 12345-00aa-1234-123b-123fcdef1234
您可以使用以下步骤之一为此管理员角色添加规则
要为名称配置规则,请从键下拉列表中选择name
,在值字段中输入administrator
,然后在角色下选择管理员。
要为组配置规则,请从键下拉列表中选择groups
,在值字段中输入myAdministratorsGroup
,然后在角色下选择管理员。
要为用户名配置规则,请从键下拉列表中选择userid
,在值字段中输入12345-00aa-1234-123b-123fcdef1234
,然后在角色下选择管理员。
|
当您使用 Red Hat Advanced Cluster Security for Kubernetes 门户将 OpenShift Container Platform OAuth 服务器配置为身份提供程序时,RHACS 只会为 OAuth 服务器配置单个路由。但是,您可以通过在 Central 自定义资源中将它们指定为注释来创建其他路由。
您必须已为您的 OpenShift Container Platform OAuth 服务器配置了服务帐户作为 OAuth 客户端。
如果您使用 RHACS Operator 安装了 RHACS
创建一个包含 Central 自定义资源补丁的CENTRAL_ADDITIONAL_ROUTES
环境变量
$ CENTRAL_ADDITIONAL_ROUTES='
spec:
central:
exposure:
loadBalancer:
enabled: false
port: 443
nodePort:
enabled: false
route:
enabled: true
persistence:
persistentVolumeClaim:
claimName: stackrox-db
customize:
annotations:
serviceaccounts.openshift.io/oauth-redirecturi.main: sso/providers/openshift/callback (1)
serviceaccounts.openshift.io/oauth-redirectreference.main: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"central\"}}" (2)
serviceaccounts.openshift.io/oauth-redirecturi.second: sso/providers/openshift/callback (3)
serviceaccounts.openshift.io/oauth-redirectreference.second: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"second-central\"}}" (4)
'
1 | 设置主路由的重定向 URI。 |
2 | 主路由的重定向 URI 引用。 |
3 | 设置第二个路由的重定向。 |
4 | 第二个路由的重定向引用。 |
将CENTRAL_ADDITIONAL_ROUTES
补丁应用于 Central 自定义资源
$ oc patch centrals.platform.stackrox.io \
-n <namespace> \ (1)
<custom-resource> \ (2)
--patch "$CENTRAL_ADDITIONAL_ROUTES" \
--type=merge
1 | 将<namespace> 替换为包含 Central 自定义资源的项目的名称。 |
2 | 将<custom-resource> 替换为 Central 自定义资源的名称。 |
或者,如果您使用 Helm 安装了 RHACS
将以下注释添加到您的values-public.yaml
文件中
customize:
central:
annotations:
serviceaccounts.openshift.io/oauth-redirecturi.main: sso/providers/openshift/callback (1)
serviceaccounts.openshift.io/oauth-redirectreference.main: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"central\"}}" (2)
serviceaccounts.openshift.io/oauth-redirecturi.second: sso/providers/openshift/callback (3)
serviceaccounts.openshift.io/oauth-redirectreference.second: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"second-central\"}}" (4)
1 | 设置主路由的重定向。 |
2 | 主路由的重定向引用。 |
3 | 设置第二个路由的重定向。 |
4 | 第二个路由的重定向引用。 |
使用helm upgrade
将自定义注释应用于 Central 自定义资源。
$ helm upgrade -n stackrox \
stackrox-central-services rhacs/central-services \
-f <path_to_values_public.yaml> (1)
1 | 使用-f 选项指定values-public.yaml 配置文件的路径。 |