4.5.4. OpenShift での Keycloak Identity Brokering
Keycloak インスタンスを、Identity Brokering 経由の認証に OpenShift を使用するように設定できます。これにより、OpenShift クラスターと Keycloak インスタンス間のシングルサインオン (SSO) が可能になります。
前提条件
-
oc
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
- Client ID
-
keycloak-broker
- Client Secret
定義するシークレット
これで、Keycloak を Identity Broker として使用し、OpenShift 認証情報を使用して Argo CD にログインできます。