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 的主路由。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access Control
  2. Create auth provider,然后从下拉列表中选择 OpenShift Auth
  3. Name 字段中输入身份验证提供程序的名称。
  4. 为使用所选 身份提供程序访问 RHACS 的用户分配最小 访问角色。用户必须具有授予此角色的权限或具有较高权限的角色才能登录到 RHACS。

    提示

    为安全起见,红帽建议在完成设置时首先将 最小访问角色设置为 None。之后,您可以返回 Access Control 页面,根据您的身份提供程序中的用户元数据设置更多定制的访问规则。

  5. 可选: 要为用户和组访问 RHACS 添加访问规则,请点击 Rules 部分中的 Add new rule,然后输入规则信息并点 Save。您需要用户或组的属性,以便您可以配置访问权限。

    提示

    组映射功能更为强大,因为组通常与团队或权限集关联,且需要比用户少修改。

    要在 OpenShift Container Platform 中获取用户信息,您可以使用以下方法之一:

    • User Management Users &lt ;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
重要
  • 如果将自定义 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
    Copy to Clipboard Toggle word wrap
  • 对于访问规则,OpenShift Container Platform OAuth 服务器不会返回密钥 电子邮件

当使用 Red Hat Advanced Cluster Security for Kubernetes 门户将 OpenShift Container Platform OAuth 服务器配置为身份提供程序时,RHACS 仅为 OAuth 服务器配置单一路由。但是,您可以通过在 Central 自定义资源中将注解指定为注解来创建其他路由。

流程

  • 如果使用 RHACS Operator 安装 RHACS:

    1. 创建一个 CENTRAL_ADDITIONAL_ROUTES 环境变量,其中包含 Central 自定义资源的补丁:

      $ 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
      
      '
      Copy to Clipboard Toggle word wrap
      1
      用于设置主路由的重定向 URI。
      2
      主路由的重定向 URI 引用。
      3
      设置第二个路由的重定向。
      4
      第二个路由的重定向引用。
    2. CENTRAL_ADDITIONAL_ROUTES 补丁应用到 Central 自定义资源:

      $ oc patch centrals.platform.stackrox.io \
        -n <namespace> \ 
      1
      
        <custom-resource> \ 
      2
      
        --patch "$CENTRAL_ADDITIONAL_ROUTES" \
        --type=merge
      Copy to Clipboard Toggle word wrap
      1
      将 & lt;namespace > 替换为包含 Central 自定义资源的项目的名称。
      2
      <custom-resource > 替换为 Central 自定义资源的名称。
  • 或者,如果您使用 Helm 安装 RHACS:

    1. 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
      Copy to Clipboard Toggle word wrap
      1
      设置主路由的重定向。
      2
      主路由的重定向引用。
      3
      设置第二个路由的重定向。
      4
      第二个路由的重定向引用。
    2. 使用 helm upgrade 将自定义注解应用到 Central 自定义资源:

      $ helm upgrade -n stackrox \
        stackrox-central-services rhacs/central-services \
        -f <path_to_values_public.yaml> 
      1
      Copy to Clipboard Toggle word wrap
      1
      使用 -f 选项指定 values-public.yaml 配置文件的路径。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat