4.5.4. OpenShift 的 keycloak Identity Brokering
您可以将 Keycloak 实例配置为使用 OpenShift 通过 Identity Brokering 进行身份验证。这允许 OpenShift 集群和 Keycloak 实例间的单点登录(SSO)。
先决条件
-
已安装
jq
CLI 工具。
流程
获取 OpenShift Container Platform API URL:
$ curl -s -k -H "Authorization: Bearer $(oc whoami -t)" https://<openshift-user-facing-api-url>/apis/config.openshift.io/v1/infrastructures/cluster | jq ".status.apiServerURL".
注意OpenShift Container Platform API 的地址通常受到 HTTPS 的保护。因此,您必须在容器中配置 X509_CA_BUNDLE,并将其设置为
/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
。否则 Keycloak 无法与 API 服务器通信。在 Keycloak 服务器仪表板中,导航到 Identity Providers 并选择 Openshift v4。指定以下值:
- Base Url
- OpenShift 4 API URL
- 客户端 ID
-
keycloak-broker
- Client Secret
您要定义的 secret
现在,您可以使用您的 OpenShift 凭证作为 Identity Broker 通过 Keycloak 登录 Argo CD。