OpenID 연결 ID 공급자에 대한 루트 CA 지문 가져오기 - AWS Identity and Access Management

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

OpenID 연결 ID 공급자에 대한 루트 CA 지문 가져오기

IAM에서 OpenID Connect(OIDC) 자격 증명 공급자를 생성할 때 지문을 제공해야 합니다. IAM에서는 외부 자격 증명 공급자(IdP)가 사용하는 인증서를 서명할 루트 인증 기관(CA)의 지문을 필요로 합니다. 지문은 OIDC 호환 IdP에 대한 인증서 발급에 사용되는 CA에 대한 서명입니다. IAM OIDC 자격 증명 공급자를 만들 때는 해당 IdP에 의해 인증된 자격 증명에 본인의 AWS 계정에 대한 액세스 권한을 맡깁니다. CA의 인증서 지문을 제공함으로써 등록된 것과 DNS 이름이 동일한 CA에서 발급한 모든 인증서를 신뢰하게 됩니다. 이를 통해 IdP의 서명 인증서를 갱신할 때 각 계정의 신뢰를 업데이트할 필요가 없습니다.

중요

대부분의 경우 연동 서버는 두 가지 다른 인증서를 사용합니다. 첫 번째는 클라이언트와 연동 엔드포인트 사이의 HTTPS 연결을 설정합니다. 이는 AWS Certificate Manager 등과 같은 퍼블릭 루트 CA에서 안전하게 발급할 수 있습니다. 두 번째는 토큰 서명에 사용됩니다. 프라이빗 CA 사용 시 이를 발급하는 것이 좋습니다.

AWS Command Line Interface, Windows PowerShell용 도구 또는 IAM API를 사용하여 IAM OIDC 자격 증명 공급자를 생성할 수 있습니다. 이러한 방법을 사용하는 경우 수동으로 지문을 얻어서 AWS에 제공해야 합니다. IAM 콘솔을 사용해 OIDC 자격 증명 공급자를 만들 때 콘솔은 지문을 자동으로 가져오려고 합니다. 또한, 수동으로 OIDC IdP의 지문을 얻어 콘솔에서 올바른 지문을 가져왔는지 확인하는 것이 좋습니다.

웹 브라우저와 OpenSSL 명령줄 도구를 사용하여 OIDC 공급자의 지문을 얻습니다. 자세한 내용은 다음 단원을 참조하십시오.

OIDC IdP의 지문을 얻으려면

  1. OIDC IdP의 지문을 얻으려면, 먼저 OpenSSL 명령줄 도구를 얻어야 합니다. 이 도구를 사용하여 OIDC IdP의 인증서 체인을 다운로드하고 인증서 체인에 있는 마지막 인증서의 지문을 생성합니다. OpenSSL을 설치 및 구성해야 하는 경우 OpenSSL 설치OpenSSL 구성의 지침을 따르십시오.

  2. OIDC IdP의 URL(예: https://server.example.com)로 시작한 다음 /.well-known/openid-configuration을 추가하여 다음과 같이 OIDC IdP의 구성 문서에 대한 URL을 만듭니다.

    https://server.example.com/.well-known/openid-configuration

    웹 브라우저에서 이 URL을 열고 server.example.com IdP의 서버 이름.

  3. 웹 브라우저에 표시된 문서에서 "jwks_uri". (웹 브라우저의 찾기 페이지에서 이 텍스트를 찾을 수 있는 기능.) 텍스트 바로 뒤 "jwks_uri" 콜론(:)과 URL이 차례로 표시됩니다. 그 URL의 정규화된 도메인 이름을 복사합니다. https:// 또는 최상위 도메인 다음에 오는 경로는 포함하지 마십시오.

  4. OpenSSL 명령줄 도구를 사용하여 다음 명령을 실행합니다. Replace keys.example.com 도메인 이름 사용 단계 3.

    openssl s_client -servername keys.example.com -showcerts -connect keys.example.com:443
  5. 명령 창에서 다음 예제와 비슷한 인증서가 보일 때까지 위로 스크롤합니다. 인증서가 2개 이상 있을 경우 명령 출력의 하단에서 표시된 마지막 인증서를 찾습니다. 이는 인증 기관 체인의 루트 CA 인증서가 됩니다.

    -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE-----

    인증서를 복사해(-----BEGIN CERTIFICATE----------END CERTIFICATE----- 줄 포함) 텍스트 파일에 붙여 넣습니다. 그 다음에 그 파일을 certificate.crt라는 이름으로 저장합니다.

  6. OpenSSL 명령줄 도구를 사용하여 다음 명령을 실행합니다.

    openssl x509 -in certificate.crt -fingerprint -noout

    다음 예제와 비슷한 인증서 지문이 명령 창에 표시됩니다.

    SHA1 Fingerprint=99:0F:41:93:97:2F:2B:EC:F1:2D:DE:DA:52:37:F9:C9:52:F2:0D:9E

    이 문자열에서 콜론 문자(:)를 제거하여 다음과 같은 최종 지문을 생성합니다.

    990F4193972F2BECF12DDEDA5237F9C952F20D9E
  7. AWS CLI, Windows PowerShell용 도구 또는 IAM API를 사용하여 IAM OIDC 자격 증명 공급자를 만드는 경우 공급자를 만들 때 이 지문을 제공합니다.

    IAM 콘솔에서 IAM OIDC 자격 증명 공급자를 만드는 경우에는 OIDC 공급자를 만들 때 콘솔에서 공급자 정보 확인 페이지에 표시되는 지문과 이 지문을 비교합니다.

    중요

    얻은 지문이 콘솔에 표시되는 지문과 일치하지 않을 경우 콘솔에서 OIDC 공급자를 만들어서는 안 됩니다. 대신 잠시 기다렸다가 공급자를 만들기 전에 지문이 일치하는지 확인하며 다시 OIDC 공급자를 만들어 보십시오. 두 번째 시도 후에도 지문이 여전히 일치하지 않을 경우에는 IAM 포럼을 통해 AWS에 문의하십시오.

OpenSSL 설치

아직 OpenSSL을 설치하지 않았다면 이 단원에 나오는 지침을 따르십시오.

Linux 또는 Unix에서 OpenSSL을 설치하려면

  1. OpenSSL: Source, Tarballs(https://openssl.org/source/)로 이동합니다.

  2. 최신 소스를 다운로드하여 패키지를 생성합니다.

Windows에서 OpenSSL을 설치하려면

  1. Windows 버전을 설치할 수 있는 사이트 목록을 보려면 OpenSSL: Binary Distributions(https://wiki.openssl.org/index.php/Binaries)로 이동합니다.

  2. 선택한 사이트의 지침을 따라 설치를 시작합니다.

  3. Microsoft Visual C++ 2008 재배포 가능 패키지 설치를 묻는 메시지가 표시되고 아직 시스템에 설치되지 않았다면 환경에 적합한 다운로드 링크를 선택합니다. Microsoft Visual C++ 2008 재배포 가능 패키지 설치 마법사의 지시를 따릅니다.

    참고

    시스템에 Microsoft Visual C++ 2008 Redistributables가 설치되어 있는지 알 수 없는 경우 OpenSSL을 먼저 설치합니다. Microsoft Visual C++ 2008 Redistributables가 설치되지 않은 경우에는 OpenSSL 설치 관리자에 알림이 표시됩니다. 설치할 OpenSSL 버전에 해당하는 아키텍처(32비트 또는 64비트)를 설치해야 합니다.

  4. Microsoft Visual C++ 2008 Redistributables를 설치한 후에는 환경에 맞는 OpenSSL 바이너리를 선택하고 파일을 로컬 위치에 저장합니다. OpenSSL 설치 마법사를 시작합니다.

  5. OpenSSL 설치 마법사의 지시에 따릅니다.

OpenSSL 구성

OpenSSL 명령을 사용하려면 OpenSSL이 설치된 위치 정보가 담기도록 운영 체제를 구성해야 합니다.

Linux 또는 Unix에서 OpenSSL을 구성하려면

  1. 명령줄에서 OpenSSL_HOME 변수를 OpenSSL 설치 위치로 설정합니다.

    $ export OpenSSL_HOME=path_to_your_OpenSSL_installation
  2. OpenSSL 설치가 포함되도록 경로를 설정합니다.

    $ export PATH=$PATH:$OpenSSL_HOME/bin
    참고

    export 명령을 사용하여 변경한 환경 변수는 현재 세션에만 유효합니다. 쉘 구성 파일에서 설정하면 환경 변수의 영구 변경이 가능합니다. 자세한 내용은 운영 체제 설명서를 참조하십시오.

Windows에서 OpenSSL을 구성하려면

  1. 명령 프롬프트 창을 엽니다.

  2. OpenSSL_HOME 변수를 OpenSSL 설치 위치로 설정합니다.

    C:\> set OpenSSL_HOME=path_to_your_OpenSSL_installation
  3. OpenSSL_CONF 변수를 OpenSSL 설치에 있는 구성 파일 위치로 설정합니다.

    C:\> set OpenSSL_CONF=path_to_your_OpenSSL_installation\bin\openssl.cfg
  4. OpenSSL 설치가 포함되도록 경로를 설정합니다.

    C:\> set Path=%Path%;%OpenSSL_HOME%\bin
    참고

    명령 프롬프트 창에서 변경한 Windows 환경 변수는 현재 명령줄 세션에만 유효합니다. 환경 변수를 시스템 속성으로 설정하면 환경 변수의 영구 변경이 가능합니다. 정확한 절차는 사용 중인 Windows 버전에 따라 달라집니다. 예를 들어, Windows 7에서 제어판, 시스템 및 보안, 시스템을 엽니다. 그런 다음 고급 시스템 설정, 고급 탭, 환경 변수를 선택합니다. 자세한 내용은 Windows 설명서를 참조하십시오.