4단계. 사용자 풀에 SAML 자격 증명 공급자로 로그인 추가(선택 사항) - Amazon Cognito

4단계. 사용자 풀에 SAML 자격 증명 공급자로 로그인 추가(선택 사항)

앱 사용자가 SAML 자격 증명 공급자(IdP)를 통해 로그인하도록 할 수 있습니다. 사용자가 직접 또는 타사를 통해 로그인하는지 여부와 무관하게 모든 사용자는 사용자 풀에 프로필을 보유합니다. SAML 자격 증명 공급자를 통한 로그인 추가를 원치 않는 경우 이 단계를 건너뛰세요.

SAML 자격 증명 공급자를 업데이트하고 사용자 풀을 구성해야 합니다. SAML 2.0 자격 증명 공급자에 대한 신뢰 당사자 또는 애플리케이션으로서 사용자 풀을 추가하는 방법에 대한 내용은 SAML 자격 증명 공급자 설명서를 참조하세요.

그리고 SAML 자격 증명 공급자에 어설션 소비자 엔드포인트를 제공해야 합니다. SAML ID 제공업체의 SAML 2.0 POST 바인딩에 대해 사용자 풀 도메인에서 다음 엔드포인트 구성합니다. 사용자 풀 도메인에 대한 자세한 정보는 사용자 풀 도메인 구성 단원을 참조하세요.

https://Your user pool domain/saml2/idpresponse With an Amazon Cognito domain: https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/idpresponse With a custom domain: https://Your custom domain/saml2/idpresponse

도메인 접두사와 사용자 풀의 리전 값은 Amazon Cognito 콘솔도메인 이름(Domain name) 탭에서 확인할 수 있습니다.

일부 SAML 자격 증명 공급자의 경우 SP urn /대상 URI / SP 엔터티 ID도 다음 포맷으로 제공해야 합니다.

urn:amazon:cognito:sp:<yourUserPoolID>

사용자 풀 ID는 Amazon Cognito 콘솔일반 설정(General settings) 탭에서 확인할 수 있습니다.

사용자 풀에 필요한 속성에 대한 속성 값을 제공하려면 SAML 자격 증명 공급자도 구성해야 합니다. 일반적으로 email은 사용자 풀에 대해 필요한 속성입니다. 이러한 경우 SAML 자격 증명 공급자는 SAML 어설션에 email 값(클레임)을 제공해야 합니다.

Amazon Cognito 사용자 풀은 사후 바인딩 엔드포인트와의 SAML 2.0 페더레이션을 지원합니다. 이렇게 하면 사용자 풀이 사용자 에이전트를 통해 자격 증명 공급자로부터 직접 SAML 응답을 받으므로 앱에서 SAML 어설션 응답을 검색하거나 구문 분석할 필요가 없습니다.

Original console

사용자 풀에 SAML 2.0 자격 증명 공급자를 구성하려면

  1. Amazon Cognito 콘솔로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. 사용자 풀 관리(Manage User Pools)를 선택합니다.

  3. 목록에서 기존 사용자 풀을 선택하거나 사용자 풀을 생성합니다.

  4. 왼쪽 탐색 모음에서 자격 증명 공급자(Identity providers)를 선택합니다.

  5. SAML을 선택하여 SAML 대화상자를 엽니다.

  6. [메타데이터 문서(Metadata document)]에서 해당 SAML IdP의 메타데이터 문서를 업로드합니다. 메타데이터 문서를 가리키는 URL을 입력할 수도 있습니다. 자세한 내용은 Amazon Cognito 사용자 풀과 서드 파티 SAML 자격 증명 공급자 통합 섹션을 참조하세요.

    참고

    Amazon Cognito에서 메타데이터를 자동으로 새로 고칠 수 있으므로 퍼블릭 엔드포인트인 경우 파일을 업로드하지 않고 엔드포인트 URL을 제공하는 것이 좋습니다. 일반적으로 메타데이터 새로 고침은 6시간마다 또는 메타데이터가 만료되기 전 중 더 빠른 시간에 발생합니다.

  7. 사용자의 SAML 공급자 이름(Provider name)을 입력합니다. SAML 명명에 관한 자세한 내용은 SAML 자격 증명 공급자 이름 선택 섹션을 참조하세요.

  8. 사용할 SAML 식별자(Identifiers)(선택 사항)를 입력합니다.

  9. 사용자가 사용자 풀에서 로그아웃할 때 Amazon Cognito와 SAML IdP에서도 로그아웃되도록 하려는 경우 [IdP 로그아웃 흐름 사용(Enable IdP sign out flow)]을 선택합니다.

    이 흐름을 사용하면 로그아웃 엔드포인트가 호출될 때 서명된 로그아웃 요청이 SAML IdP로 전송됩니다.

    IdP의 로그아웃 응답을 사용하도록 이 엔드포인트를 구성합니다. 이 엔드포인트는 사후 바인딩을 사용합니다.

    https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/logout
    참고

    이 옵션을 선택했고 SAML 자격 증명 공급자가 서명된 로그아웃 요청을 필요로 하는 경우 SAML IdP를 사용하여 Amazon Cognito에서 제공한 서명 인증서도 구성해야 합니다.

    SAML IdP가 서명된 로그아웃 요청을 처리하고 사용자를 Amazon Cognito 세션에서 로그아웃합니다.

  10. 공급자 생성(Create provider)을 선택합니다.

  11. 속성 매핑(Attribute mapping) 탭에서 다음과 같이 최소한의 필수 속성(일반적으로 email)에 대한 매핑을 추가합니다.

    1. 자격 증명 공급자의 SAML 어설션에 표시된 대로 SAML 속성 이름을 입력합니다. 자격 증명 공급자가 참조용으로 샘플 SAML 어설션을 제공할 수도 있습니다. email과 같은 간단한 이름을 사용하는 자격 증명 공급자도 있고, 다음 예제와 같이 URL 포맷의 속성 이름을 사용하는 자격 증명 공급자도 있습니다.

      http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    2. 드롭다운 목록에서 대상 사용자 풀 속성을 선택합니다.

  12. [Save changes]를 선택합니다.

  13. 요약본으로 이동(Go to summary)을 선택합니다.

New console

사용자 풀에 SAML 2.0 자격 증명 공급자를 구성하려면

  1. Amazon Cognito 콘솔로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. [사용자 풀(User Pools)]을 선택합니다.

  3. 목록에서 기존 사용자 풀을 선택하거나 사용자 풀을 생성합니다.

  4. [로그인 환경(Sign-in experience)] 탭을 선택합니다. [페더레이션 로그인(Federated sign-in)]을 찾아서 [자격 증명 공급자 추가(Add an identity provider)]를 선택합니다.

  5. [SAML] 소셜 자격 증명 공급자를 선택합니다.

  6. [식별자(Identifiers)]를 쉼표로 구분하여 입력합니다. 식별자는 사용자가 로그인할 때 입력한 이메일 주소를 확인한 다음, 사용자 도메인에 해당하는 공급자로 사용자를 보내도록 Amazon Cognito에 지시합니다.

  7. 사용자가 로그아웃할 때 Amazon Cognito에서 서명된 로그아웃 요청을 공급자에게 보내도록 하려는 경우 [로그아웃 흐름 추가(Add sign-out flow)]를 선택합니다. 호스트된 UI를 구성할 때 생성되는 https://<your Amazon Cognito domain>/saml2/logout 엔드포인트에 로그아웃 응답을 보내도록 SAML 2.0 자격 증명 공급자를 구성해야 합니다. saml2/logout 엔드포인트는 POST 바인딩을 사용합니다.

    참고

    이 옵션을 선택했고 SAML 자격 증명 공급자가 서명된 로그아웃 요청을 필요로 하는 경우 SAML IdP를 사용하여 Amazon Cognito에서 제공한 서명 인증서도 구성해야 합니다.

    SAML IdP가 서명된 로그아웃 요청을 처리하고 사용자를 Amazon Cognito 세션에서 로그아웃합니다.

  8. 메타데이터 문서 소스(Metadata document source)를 선택합니다. 자격 증명 공급자가 퍼블릭 URL에서 SAML 메타데이터를 제공하는 경우 메타데이터 문서 URL(Metadata document URL)을 선택하고 해당 퍼블릭 URL을 입력할 수 있습니다. 그렇지 않은 경우 메타데이터 문서 업로드(Upload metadata document)를 선택한 다음, 이전에 공급자로부터 다운로드한 메타데이터 파일을 선택합니다.

    참고

    공급자에게 퍼블릭 엔드포인트가 있는 경우 Amazon Cognito에서 메타데이터를 자동으로 새로 고칠 수 있으므로 파일을 업로드하지 않고 메타데이터 문서 URL을 입력하는 것이 좋습니다. 일반적으로 메타데이터 새로 고침은 6시간마다 또는 메타데이터가 만료되기 전 중 더 빠른 시간에 발생합니다.

  9. [SAML 공급자와 앱 간에 속성 매핑(Map attributes between your SAML provider and your app)]을 선택하여 SAML 공급자 속성을 사용자 풀의 사용자 프로파일에 매핑합니다. 속성 맵에 사용자 풀 필수 속성을 포함합니다.

    예를 들어 [사용자 풀 속성(User pool attribute)] email을 선택한 경우 자격 증명 공급자의 SAML 어설션에 표시된 대로 SAML 속성 이름을 입력합니다. 자격 증명 공급자가 참조용으로 샘플 SAML 어설션을 제공할 수도 있습니다. email과 같은 간단한 이름을 사용하는 자격 증명 공급자도 있고, 다음 예제와 같이 URL 포맷의 속성 이름을 사용하는 자격 증명 공급자도 있습니다.

    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  10. 생성(Create)을 선택합니다.

자세한 내용은 사용자 풀에 SAML 자격 증명 공급자 추가 섹션을 참조하세요.