12.4. OpenID Connect ID 공급자로 Red Hat Single Sign-On과 3scale 통합
API 공급자는 OpenID Connect ID 공급자로 3scale을 RH-SSO(Red Hat Single Sign-On)와 통합할 수 있습니다. 여기에 설명된 절차는 API 요청을 인증하기 위해 OpenID Connect가 필요한 3scale API 제품용입니다.
3scale 2.2 이상 버전에서는 SSL_CERT_FILE 환경 변수를 사용하여 RH-SSO에 대한 사용자 정의 CA 인증서를 지원합니다. 이 변수는 인증서 번들의 로컬 경로를 가리킵니다. 3scale과 RH-SSO를 OpenID Connect ID 공급자로 통합하는 작업은 다음 순서로 구성하도록 구성됩니다.
- 3scale 클라이언트를 갖도록 RH-SSO를 구성합니다.
- RH-SSO로 작동하도록 3scale을 구성합니다.
사전 요구 사항
- OpenShift 클러스터 관리자 권한.
- RH-SSO와 OpenID Connect 통합을 구성하려는 3scale API 제품입니다.
자세한 내용은 다음 섹션을 참조하십시오.
12.4.1. 사용자 정의 인증 기관 인증서를 사용하도록 3scale Zync 구성 링크 복사링크가 클립보드에 복사되었습니다!
RH-SSO는 신뢰할 수 있는 CA(인증 기관)에서 발급한 인증서를 사용하는 경우 필요하지 않습니다. 그러나 RH-SSO가 신뢰할 수 있는 CA에서 발행한 인증서를 사용하지 않는 경우 RH-SSO를 3scale 클라이언트를 구성하고 RH-SSO로 작동하도록 3scale을 구성하기 전에 3scale Zync를 구성해야 합니다.
절차
-
.pem형식으로 CA 인증서 체인을 가져와서 각 인증서를 별도의 파일로 저장합니다(예:customCA1.pem,customCA2.pem등). 각 인증서 파일을 테스트하여 유효한 CA인지 확인합니다. 예를 들면 다음과 같습니다.
openssl x509 -in customCA1.pem -noout -text | grep "CA:"그러면
CA:TRUE또는CA:FALSE가 출력됩니다. 각 인증서 파일에 대해 출력을CA:TRUE로 설정해야 합니다. 출력이CA:FALSE인 경우 인증서는 유효한 CA가 아닙니다.아래 cURL 명령을 사용하여 각 인증서 파일의
유효성을 검사합니다. 예를 들면 다음과 같습니다.curl -v https://<secure-sso-host>/auth/realms/master --cacert customCA1.pem&
lt;secure-sso-host>를 RH-SSO 호스트의 정규화된 도메인 이름으로 바꿉니다.예상되는 응답은 RH-SSO 영역의 JSON 구성입니다. 유효성 검사가 실패하면 인증서가 올바르지 않을 수 있습니다.
zync-quePod에서/etc/pki/tls/cert.pem파일의 기존 콘텐츠를 수집합니다.oc exec <zync-que-pod-id> -- cat /etc/pki/tls/cert.pem > zync.pem각 사용자 정의 CA 인증서 파일의 내용을
zync.pem에 추가합니다. 예를 들면 다음과 같습니다.cat customCA1.pem customCA2.pem ... >> zync.pem새 파일을 configmap 오브젝트로
zync-quePod에 연결합니다.oc create configmap zync-ca-bundle --from-file=./zync.pem oc set volume dc/zync-que --add --name=zync-ca-bundle --mount-path /etc/pki/tls/zync/zync.pem --sub-path zync.pem --source='{"configMap":{"name":"zync-ca-bundle","items":[{"key":"zync.pem","path":"zync.pem"}]}}'이렇게 하면 인증서 번들이
zync-quePod에 추가됩니다.인증서가 연결되었으며 콘텐츠가 올바른지 확인합니다.
oc exec <zync-que-pod-id> -- cat /etc/pki/tls/zync/zync.pemZync에서
SSL_CERT_FILE환경 변수가 새 CA 인증서 번들을 가리키도록 구성합니다.oc set env dc/zync-que SSL_CERT_FILE=/etc/pki/tls/zync/zync.pem