4.5.4. OpenShift를 사용하여 Keycloak ID 브로커링
Identity Brokering을 통한 인증에 OpenShift를 사용하도록 Keycloak 인스턴스를 구성할 수 있습니다. 이렇게 하면 OpenShift 클러스터와 Keycloak 인스턴스 간에 SSO(Single Sign-On)가 허용됩니다.
사전 요구 사항
-
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(ID) Providers로 이동하여 Openshift v4를 선택합니다. 다음 값을 지정합니다.
- 기본 Url
- OpenShift 4 API URL
- 클라이언트 ID
-
keycloak-broker
- 클라이언트 시크릿
정의할 시크릿
이제 Keycloak을 통해 ID 브로커로 OpenShift 인증 정보를 사용하여 Argo CD에 로그인할 수 있습니다.