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 节点发送。您不需要提前为 htpasswd
和 request-header
身份提供程序配置 NodePool
副本。
先决条件
-
以具有
cluster-admin
权限的用户身份登录。 - 已创建托管集群。
流程
-
进入到 Home
API Explorer。 -
使用 Filter by kind 复选框搜索您的
HostedCluster
资源。 -
点您要编辑的
HostedCluster
资源。 - 点 实例 选项卡。
- 点托管集群名称条目旁边的 Options 菜单 ,然后点 Edit HostedCluster。
在 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
对象的身份之间建立映射。
- 点击 Save。
其他资源
- 要了解有关支持的身份提供程序的更多信息,请参阅身份验证和授权中的 "了解身份提供程序配置"。