7.8. 配置 Google 身份提供程序
配置 google
身份提供程序,使用 Google 的 OpenID Connect 集成。
7.8.1. 关于 OpenShift Container Platform 中的身份提供程序 复制链接链接已复制到粘贴板!
默认情况下,集群中只有 kubeadmin
用户。要指定身份提供程序,您必须创建一个自定义资源(CR) 来描述该身份提供程序并把它添加到集群中。
OpenShift Container Platform 用户名不能包括 /
、:
和 %
。
7.8.2. 关于 Google 身份验证 复制链接链接已复制到粘贴板!
使用 Google 作为身份提供程序时,任何 Google 用户都能与您的服务器进行身份验证。您可以使用 hostedDomain
配置属性,将身份验证限制为特定托管域的成员。
使用 Google 作为身份提供程序要求用户使用 <namespace_route>/oauth/token/request
来获取令牌,以便用于命令行工具。
7.8.3. 创建 secret 复制链接链接已复制到粘贴板!
身份提供程序使用 openshift-config
命名空间中的 OpenShift Container Platform Secret
对象来包含客户端 secret、客户端证书和密钥。
流程
使用以下命令创建一个包含字符串的
Secret
对象:oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config
$ oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示您还可以应用以下 YAML 来创建 secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用以下命令定义一个包含文件内容的
Secret
对象,如证书文件:oc create secret generic <secret_name> --from-file=<path_to_file> -n openshift-config
$ oc create secret generic <secret_name> --from-file=<path_to_file> -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.8.4. Google CR 示例 复制链接链接已复制到粘贴板!
以下自定义资源 (CR) 显示 Google 身份提供程序的参数和可接受值。
Google CR
7.8.5. 在集群中添加身份提供程序 复制链接链接已复制到粘贴板!
安装集群之后,请在其中添加一个身份提供程序,以便您的用户可以进行身份验证。
先决条件
- 创建 OpenShift Container Platform 集群。
- 为身份提供程序创建自定义资源(CR)。
- 必须已经以管理员身份登录。
流程
应用定义的 CR:
oc apply -f </path/to/CR>
$ oc apply -f </path/to/CR>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果一个 CR 不存在,
oc apply
会创建一个新的 CR,并可能会触发以下警告Warning: oc apply should be used on resources created by either oc create --save-config or oc apply
。在这种情况下,您可以忽略这个警告。从 OAuth 服务器获取令牌。
只要
kubeadmin
用户已被删除,oc login
命令就会提供如何访问可以获得令牌的网页的说明。您还可以通过使用 web 控制台的 (?)访问此页面。 Help
Command Line Tools Copy Login Command. 登录到集群,提供令牌进行身份验证。
oc login --token=<token>
$ oc login --token=<token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这个身份提供程序不支持使用用户名和密码登录。
确认用户登录成功,并显示用户名。
oc whoami
$ oc whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow