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 인증서 인코딩을 참조하세요.