4.5.4. OpenShift での Keycloak Identity Brokering

Keycloak インスタンスを、Identity Brokering 経由の認証に OpenShift を使用するように設定できます。これにより、OpenShift クラスターと Keycloak インスタンス間のシングルサインオン (SSO) が可能になります。

前提条件

  • oc 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
    Client ID
    keycloak-broker
    Client Secret

    定義するシークレット

    これで、Keycloak を Identity Broker として使用し、OpenShift 認証情報を使用して Argo CD にログインできます。