4.5.4. OpenShift 的 keycloak Identity Brokering

您可以将 Keycloak 实例配置为使用 OpenShift 通过 Identity Brokering 进行身份验证。这允许 OpenShift 集群和 Keycloak 实例间的单点登录(SSO)。

先决条件

  • 已安装jq CLI 工具。

流程

  1. 获取 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 服务器通信。

  2. 在 Keycloak 服务器仪表板中,导航到 Identity Providers 并选择 Openshift v4。指定以下值:

    Base Url
    OpenShift 4 API URL
    客户端 ID
    keycloak-broker
    Client Secret

    您要定义的 secret

    现在,您可以使用您的 OpenShift 凭证作为 Identity Broker 通过 Keycloak 登录 Argo CD。