OIDC 공급업체 문제 해결
이 문서에서는 GKE Identity Service의 OIDC 및 AzureAD ID 공급업체 문제를 해결하는 방법을 안내합니다.
잘못된 인증서 형식
이 문제는 인증서 값에 형식 오류가 있으면 발생합니다. 형식 문제는 인증서 값이 base64로 인코딩되지 않은 경우 및 값이 base64로 인코딩되었지만 올바르지 않은 경우에 해당할 수 있습니다. 루트 인증 기관에서 인증서에 서명하지 않았거나 올바른 형식의 신뢰 체인이 제공되지 않은 경우에도 이 문제가 발생할 수 있습니다.
오류 메시지
다음은 인증서 형식이 잘못된 경우의 오류 메시지 예시입니다.
base64로 인코딩되지 않은 인증서:
Failed creating HTTP client to fetch the Discovery URI "<Discovery-document URI>" with error: Unable to decode data field, the value should be Base64 encoded
형식이 올바르지 않거나 base64로 인코딩되었지만 잘못된 인증서:
Unable to connect to 'https://example.com', encountered the following error: Problem with the SSL CA cert (path? access rights?). Details: error setting certificate verify locations: CAfile: /tmp/example.pem CApath: none (The certificate could not be read, this is most likely because it's empty or contains a formatting error. Please check your configuration.)
형식이 올바르지 않거나 base64로 인코딩되었지만 잘못된 인증서:
Failed fetching the Discovery URI "<Discovery-document URI>" with error: Unable to load TLS certificates.
솔루션
다음 방법 중 하나로 문제를 해결할 수 있습니다.
- ClientConfig에 제공하는 인증서 값은 base64로 인코딩된 문자열 및 PEM 형식 문자열이어야 합니다. 자세한 내용은 CA 인증서 인코딩을 참조하세요.
- 공급업체가 루트 인증 기관에서 서명한 인증서를 사용하지 않는 경우 인증서 신뢰 체인으로 GKE ID 서비스를 구성해야 합니다. 자세한 내용은 중간 인증서를 참조하세요.
잘못된 인증서 값
이 문제는 인증서의 값이 일치하지 않을 때 발생합니다. 이 경우 인증서의 형식은 올바르지만 서버와 일치하지 않습니다. 구성에 인증서가 없는 경우일 수도 있습니다.
다음 시나리오에 하나라도 해당하면 인증서 값이 잘못된 것으로 간주될 수 있습니다.
- ClientConfig에 잘못된 인증서 값이 공유되었습니다. 서버 인증서의
issuer
이 구성된 인증서의subject
와 일치하지 않으면 인증서 값이 잘못된 것입니다. - ClientConfig의 인증서가 base64로 인코딩된 문자열이 아닙니다.
- 중간 인증서를 사용하여 서버 인증서를 발급했지만 인증서 체인이 제공되지 않았습니다.
오류 메시지
다음은 인증서 값에 불일치가 있는 경우의 오류 메시지 예시입니다.
인증서 체인이 완전하지 않거나 서버와 일치하지 않습니다.
SSL peer certificate was not OK. Details: SSL certificate problem: unable to get local issuer certificate
불완전한 인증서 체인(루트에서 시작되지 않거나 연속적이지 않은 잘못된 부분 체인에 해당):
Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.
인증서 체인이 유효하지만 OIDC 서버와 일치하지 않습니다.
AIS was expecting the server to have a different certificate
인증서 체인이 유효하지만 OIDC 서버와 일치하지 않습니다.
Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.
솔루션
ClientConfig에 제공하는 인증서 값은 ID 공급업체와 일치하는 올바른 형식의 인증서 체인을 포함해야 합니다. 인증서 형식 지정 및 인코딩 방법에 대한 자세한 내용은 CA 인증서 인코딩을 참조하세요.