×

创建 OpenShift Dedicated 集群后,必须配置身份提供程序才能确定用户如何登录以访问集群。

了解身份提供程序

OpenShift Dedicated 包含一个内置的 OAuth 服务器。开发人员和管理员获取 OAuth 访问令牌以向 API 进行身份验证。作为管理员,您可以在安装集群后配置 OAuth 以指定身份提供程序。配置身份提供程序允许用户登录并访问集群。

支持的身份提供程序

您可以配置以下类型的身份提供程序

身份提供程序 描述

GitHub 或 GitHub Enterprise

配置 GitHub 身份提供程序以针对 GitHub 或 GitHub Enterprise 的 OAuth 身份验证服务器验证用户名和密码。

GitLab

配置 GitLab 身份提供程序以使用GitLab.com或任何其他 GitLab 实例作为身份提供程序。

Google

使用Google 的 OpenID Connect 集成配置 Google 身份提供程序。

LDAP

配置 LDAP 身份提供程序以使用简单绑定身份验证针对 LDAPv3 服务器验证用户名和密码。

OpenID Connect

配置 OpenID Connect (OIDC) 身份提供程序以使用授权码流程与 OIDC 身份提供程序集成。

htpasswd

为单个静态管理员用户配置 htpasswd 身份提供程序。您可以作为用户登录到集群以对问题进行故障排除。

htpasswd 身份提供程序选项仅包含以启用单个静态管理员用户的创建。htpasswd 不支持作为 OpenShift Dedicated 的通用身份提供程序。有关配置单个用户的步骤,请参阅配置 htpasswd 身份提供程序

身份提供程序参数

以下参数对所有身份提供程序都是通用的

参数 描述

name

提供程序名称作为前缀添加到提供程序用户名以形成身份名称。

mappingMethod

定义用户登录时如何将新身份映射到用户。输入以下值之一

claim

默认值。使用身份的首选用户名为用户配置用户。如果具有该用户名的用户已映射到另一个身份,则会失败。

lookup

查找现有身份、用户身份映射和用户,但不自动配置用户或身份。这允许集群管理员手动设置身份和用户,或使用外部进程。使用此方法需要您手动配置用户。

add

使用身份的首选用户名为用户配置用户。如果具有该用户名的用户已存在,则身份将映射到现有用户,添加到用户的任何现有身份映射。当配置多个标识同一组用户并映射到相同用户名的身份提供程序时需要。

添加或更改身份提供程序时,可以通过将mappingMethod参数设置为add来将新提供程序中的身份映射到现有用户。

配置 GitHub 身份提供程序

配置 GitHub 身份提供程序以针对 GitHub 或 GitHub Enterprise 的 OAuth 身份验证服务器验证用户名和密码,并访问您的 OpenShift Dedicated 集群。OAuth 促进了 OpenShift Dedicated 和 GitHub 或 GitHub Enterprise 之间的令牌交换流程。

配置 GitHub 身份验证允许用户使用其 GitHub 凭据登录 OpenShift Dedicated。为了防止任何拥有 GitHub 用户 ID 的人都能登录您的 OpenShift Dedicated 集群,您必须将访问权限限制为特定 GitHub 组织或团队中的用户。

前提条件
步骤
  1. OpenShift 集群管理器导航到**集群列表**页面,然后选择您需要为其配置身份提供程序的集群。

  2. 点击**访问控制**选项卡。

  3. 点击**添加身份提供程序**。

    您也可以在集群创建后显示的警告消息中点击**添加 OAuth 配置**链接来配置您的身份提供程序。

  4. 从下拉菜单中选择**GitHub**。

  5. 输入身份提供程序的唯一名称。此名称以后无法更改。

    • **OAuth 回调 URL** 将自动生成在提供的字段中。您将使用此 URL 注册 GitHub 应用程序。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
  6. 在 GitHub 上注册应用程序.

  7. 返回 OpenShift Dedicated 并从下拉菜单中选择映射方法。在大多数情况下,推荐使用**声明**。

  8. 输入 GitHub 提供的**客户端 ID** 和**客户端密钥**。

  9. 输入**主机名**。使用 GitHub Enterprise 的托管实例时必须输入主机名。

  10. 可选:您可以使用证书颁发机构 (CA) 文件来验证为配置的 GitHub Enterprise URL 配置的服务器证书。点击**浏览**以查找并将**CA 文件**附加到身份提供程序。

  11. 选择**使用组织**或**使用团队**以将访问权限限制为特定的 GitHub 组织或 GitHub 团队。

  12. 输入您要限制访问权限的组织或团队的名称。点击**添加更多**以指定用户可以是其成员的多个组织或团队。

  13. 点击**确认**。

验证
  • 配置的身份提供程序现在显示在**集群列表**页面的**访问控制**选项卡上。

配置 GitLab 身份提供程序

配置 GitLab 身份提供程序以使用GitLab.com或任何其他 GitLab 实例作为身份提供程序。

前提条件
  • 如果您使用的是 GitLab 7.7.0 到 11.0 版本,则可以使用OAuth 集成进行连接。如果您使用的是 GitLab 11.1 或更高版本,则可以使用OpenID Connect (OIDC) 进行连接,而不是 OAuth。

步骤
  1. OpenShift 集群管理器导航到**集群列表**页面,然后选择您需要为其配置身份提供程序的集群。

  2. 点击**访问控制**选项卡。

  3. 点击**添加身份提供程序**。

    您也可以在集群创建后显示的警告消息中点击**添加 OAuth 配置**链接来配置您的身份提供程序。

  4. 从下拉菜单中选择**GitLab**。

  5. 输入身份提供程序的唯一名称。此名称以后无法更改。

    • **OAuth 回调 URL** 将自动生成在提供的字段中。您将把此 URL 提供给 GitLab。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/gitlab
  6. 在 GitLab 中添加一个新的应用程序.

  7. 返回 OpenShift Dedicated 并从下拉菜单中选择映射方法。在大多数情况下,推荐使用**声明**。

  8. 输入 GitLab 提供的**客户端 ID** 和**客户端密钥**。

  9. 输入您的 GitLab 提供程序的**URL**。

  10. 可选:您可以使用证书颁发机构 (CA) 文件来验证为配置的 GitLab URL 配置的服务器证书。点击**浏览**以查找并将**CA 文件**附加到身份提供程序。

  11. 点击**确认**。

验证
  • 配置的身份提供程序现在显示在**集群列表**页面的**访问控制**选项卡上。

配置 Google 身份提供程序

配置 Google 身份提供程序以允许用户使用其 Google 凭据进行身份验证。

使用 Google 作为身份提供程序允许任何 Google 用户对您的服务器进行身份验证。您可以使用hostedDomain配置属性将身份验证限制为特定托管域的成员。

步骤
  1. OpenShift 集群管理器导航到**集群列表**页面,然后选择您需要为其配置身份提供程序的集群。

  2. 点击**访问控制**选项卡。

  3. 点击**添加身份提供程序**。

    您也可以在集群创建后显示的警告消息中点击**添加 OAuth 配置**链接来配置您的身份提供程序。

  4. 从下拉菜单中选择**Google**。

  5. 输入身份提供程序的唯一名称。此名称以后无法更改。

    • **OAuth 回调 URL** 将自动生成在提供的字段中。您将把此 URL 提供给 Google。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/google
  6. 使用Google 的 OpenID Connect 集成配置 Google 身份提供程序。

  7. 返回 OpenShift Dedicated 并从下拉菜单中选择映射方法。在大多数情况下,推荐使用**声明**。

  8. 输入已注册 Google 项目的**客户端 ID** 和 Google 发行的**客户端密钥**。

  9. 输入托管域以将用户限制为 Google Apps 域。

  10. 点击**确认**。

验证
  • 配置的身份提供程序现在显示在**集群列表**页面的**访问控制**选项卡上。

配置 LDAP 身份提供程序

配置 LDAP 身份提供程序以使用简单的绑定身份验证针对 LDAPv3 服务器验证用户名和密码。

前提条件
  • 配置 LDAP 身份提供程序时,您需要输入配置的**LDAP URL**。配置的 URL 是 RFC 2255 URL,它指定要使用的 LDAP 主机和搜索参数。URL 的语法为

    ldap://host:port/basedn?attribute?scope?filter
    URL 组件 描述

    ldap

    对于常规 LDAP,使用字符串ldap。对于安全 LDAP (LDAPS),请改用ldaps

    host:port

    LDAP 服务器的名称和端口。对于 ldap,默认为localhost:389;对于 LDAPS,默认为localhost:636

    basedn

    所有搜索都应从其开始的目录分支的 DN。至少,这必须是目录树的顶部,但它也可以指定目录中的子树。

    attribute

    要搜索的属性。尽管 RFC 2255 允许使用逗号分隔的属性列表,但无论提供多少属性,都只会使用第一个属性。如果未提供任何属性,则默认使用uid。建议选择一个属性,该属性在您将使用的子树中的所有条目中都是唯一的。

    scope

    搜索的范围。可以是onesub。如果未提供范围,则默认为sub范围。

    filter

    有效的 LDAP 搜索过滤器。如果未提供,则默认为(objectClass=*)

    执行搜索时,属性、过滤器和提供的用户名将组合起来创建一个类似于以下的搜索过滤器:

    (&(<filter>)(<attribute>=<username>))
    如果 LDAP 目录需要身份验证才能进行搜索,请指定要用于执行条目搜索的bindDNbindPassword
步骤
  1. OpenShift 集群管理器导航到**集群列表**页面,然后选择您需要为其配置身份提供程序的集群。

  2. 点击**访问控制**选项卡。

  3. 点击**添加身份提供程序**。

    您也可以在集群创建后显示的警告消息中点击**添加 OAuth 配置**链接来配置您的身份提供程序。

  4. 从下拉菜单中选择**LDAP**。

  5. 输入身份提供程序的唯一名称。此名称以后无法更改。

  6. 从下拉菜单中选择映射方法。在大多数情况下,推荐使用**声明**。

  7. 输入**LDAP URL**以指定要使用的 LDAP 搜索参数。

  8. 可选:输入**绑定 DN**和**绑定密码**。

  9. 输入将 LDAP 属性映射到身份的属性。

    • 输入其值应用作用户 ID 的**ID**属性。点击**添加更多**以添加多个 ID 属性。

    • 可选:输入其值应用作显示名称的**首选用户名**属性。点击**添加更多**以添加多个首选用户名属性。

    • 可选:输入其值应用作电子邮件地址的**电子邮件**属性。点击**添加更多**以添加多个电子邮件属性。

  10. 可选:单击显示高级选项,将证书颁发机构 (CA) 文件添加到您的 LDAP 身份提供程序,以验证已配置 URL 的服务器证书。单击浏览以查找并附加CA 文件到身份提供程序。

  11. 可选:在高级选项下,您可以选择使 LDAP 提供程序不安全。如果选择此选项,则无法使用 CA 文件。

    如果您使用的是不安全的 LDAP 连接 (ldap:// 或端口 389),则必须在配置向导中选中不安全选项。

  12. 点击**确认**。

验证
  • 配置的身份提供程序现在显示在**集群列表**页面的**访问控制**选项卡上。

配置 OpenID 身份提供程序

配置 OpenID 身份提供程序以使用授权码流程与 OpenID Connect 身份提供程序集成。

OpenShift Dedicated 中的身份验证操作员要求配置的 OpenID Connect 身份提供程序实现OpenID Connect Discovery规范。

声明从 OpenID 身份提供程序返回的 JWT id_token 中读取,如果指定,则从发行者 URL 返回的 JSON 中读取。

必须配置至少一个声明用作用户的身份。

您还可以指示哪些声明用作用户的首选用户名、显示名称和电子邮件地址。如果指定多个声明,则使用第一个具有非空值的值。标准声明是

声明 描述

preferred_username

配置用户时的首选用户名。用户希望被称为的简短名称,例如janedoe。通常是与用户在身份验证系统中的登录名或用户名相对应的值,例如用户名或电子邮件。

email

电子邮件地址。

name

显示名称。

有关更多信息,请参阅OpenID 声明文档

前提条件
  • 在配置 OpenID Connect 之前,请检查您要与 OpenShift Dedicated 集群一起使用的任何 Red Hat 产品或服务的安装先决条件。

步骤
  1. OpenShift 集群管理器导航到**集群列表**页面,然后选择您需要为其配置身份提供程序的集群。

  2. 点击**访问控制**选项卡。

  3. 点击**添加身份提供程序**。

    您也可以在集群创建后显示的警告消息中点击**添加 OAuth 配置**链接来配置您的身份提供程序。

  4. 从下拉菜单中选择OpenID

  5. 输入身份提供程序的唯一名称。此名称以后无法更改。

    • OAuth 回调 URL 将自动生成在提供的字段中。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/openid
  6. 按照创建授权请求的步骤,在 OpenID 身份提供程序中注册新的 OpenID Connect 客户端。

  7. 返回 OpenShift Dedicated 并从下拉菜单中选择映射方法。在大多数情况下,推荐使用**声明**。

  8. 输入 OpenID 提供的客户端 ID客户端密钥

  9. 输入发行者 URL。这是 OpenID 提供程序断言为发行者标识符的 URL。它必须使用 https 方案,并且没有 URL 查询参数或片段。

  10. 输入其值应用作电子邮件地址的电子邮件属性。单击添加更多以添加多个电子邮件属性。

  11. 输入其值应用作首选用户名的名称属性。单击添加更多以添加多个首选用户名。

  12. 输入其值应用作显示名称的首选用户名属性。单击添加更多以添加多个显示名称。

  13. 可选:单击显示高级选项,将证书颁发机构 (CA) 文件添加到您的 OpenID 身份提供程序。

  14. 可选:在高级选项下,您可以添加其他范围。默认情况下,请求OpenID范围。

  15. 点击**确认**。

验证
  • 配置的身份提供程序现在显示在**集群列表**页面的**访问控制**选项卡上。

配置 htpasswd 身份提供程序

配置 htpasswd 身份提供程序以创建具有集群管理权限的单个静态用户。您可以以该用户身份登录到您的集群以排除故障。

htpasswd 身份提供程序选项仅包含在内以启用创建单个静态管理用户。htpasswd 不支持作为 OpenShift Dedicated 的通用身份提供程序。

步骤
  1. OpenShift 集群管理器导航到集群列表页面并选择您的集群。

  2. 选择访问控制身份提供程序

  3. 点击**添加身份提供程序**。

  4. 身份提供程序下拉菜单中选择HTPasswd

  5. 在身份提供程序的名称字段中添加唯一名称。

  6. 使用建议的静态用户的用户名和密码,或创建您自己的用户名和密码。

    在您在后续步骤中选择添加后,此步骤中定义的凭据将不可见。如果您丢失了凭据,则必须重新创建身份提供程序并再次定义凭据。

  7. 选择添加以创建 htpasswd 身份提供程序和单个静态用户。

  8. 授予静态用户管理集群的权限

    1. 访问控制集群角色和访问下,选择添加用户

    2. 输入您在上一步中创建的静态用户的用户 ID

    3. 选择添加用户以授予用户管理权限。

验证
  • 配置的 htpasswd 身份提供程序在访问控制身份提供程序页面上可见。

    创建身份提供程序后,同步通常会在两分钟内完成。htpasswd 身份提供程序可用后,您可以以用户身份登录到集群。

  • 单个管理用户在访问控制集群角色和访问页面上可见。还显示用户的管理组成员资格。

访问您的集群

配置身份提供程序后,用户可以从 Red Hat OpenShift 集群管理器访问集群。

前提条件
  • 您已登录到OpenShift 集群管理器

  • 您已创建 OpenShift Dedicated 集群。

  • 您已为您的集群配置身份提供程序。

  • 您已将您的用户帐户添加到配置的身份提供程序。

步骤
  1. OpenShift 集群管理器中,单击您要访问的集群。

  2. 单击打开控制台

  3. 单击您的身份提供程序并提供您的凭据以登录到集群。

  4. 单击打开控制台以打开集群的 Web 控制台。

  5. 单击您的身份提供程序并提供您的凭据以登录到集群。完成您的提供程序提出的任何授权请求。