3.2. 使用 web 控制台为托管集群配置 OAuth 服务器


您可以使用 OpenShift Container Platform Web 控制台为托管集群配置内部 OAuth 服务器。

您可以为以下支持的身份提供程序配置 OAuth:

  • oidc
  • htpasswd
  • keystone
  • ldap
  • basic-authentication
  • request-header
  • github
  • gitlab
  • google

在 OAuth 配置中添加任何身份提供程序会删除默认的 kubeadmin 用户提供程序。

注意

在配置身份提供程序时,您必须事先在托管集群中配置至少一个 NodePool 副本。DNS 解析的流量通过 worker 节点发送。您不需要提前为 htpasswdrequest-header 身份提供程序配置 NodePool 副本。

先决条件

  • 以具有 cluster-admin 权限的用户身份登录。
  • 已创建托管集群。

流程

  1. 进入到 Home API Explorer
  2. 使用 Filter by kind 复选框搜索您的 HostedCluster 资源。
  3. 点您要编辑的 HostedCluster 资源。
  4. 实例 选项卡。
  5. 点托管集群名称条目旁边的 Options 菜单 kebab ,然后点 Edit HostedCluster
  6. 在 YAML 文件中添加 OAuth 配置:

    spec:
      configuration:
        oauth:
          identityProviders:
          - openID: 1
              claims:
                email: 2
                  - <email_address>
                name: 3
                  - <display_name>
                preferredUsername: 4
                  - <preferred_username>
              clientID: <client_id> 5
              clientSecret:
                name: <client_id_secret_name> 6
              issuer: https://example.com/identity 7
            mappingMethod: lookup 8
            name: IAM
            type: OpenID
    1
    此提供程序名称作为前缀放在身份声明值前,以此组成身份名称。提供程序名称也用于构建重定向 URL。
    2
    定义用作电子邮件地址的属性列表。
    3
    定义用作显示名称的属性列表。
    4
    定义用作首选用户名的属性列表。
    5
    定义在 OpenID 提供程序中注册的客户端的 ID。您必须允许客户端重定向到 https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name> URL。
    6
    定义在 OpenID 供应商中注册的客户端的机密。
    7
    OpenID 规范中描述的颁发者标识符。您必须使用没有查询或片段组件的 https
    8
    定义一个映射方法,用于控制如何在此供应商和 User 对象的身份之间建立映射。
  7. 点击 Save

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.