사용자 풀과 함께 SAML ID 공급자 사용 - Amazon Cognito

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 풀과 함께 SAML ID 공급자 사용

웹 및 모바일 앱 사용자가 Microsoft Active Directory 페더레이션 서비스 (ADFS) 또는 Shibboleth와 같은 SAML ID 공급자 (IdP) 를 통해 로그인하도록 선택할 수 있습니다. SAML 2.0 표준을 지원하는 SAML IdP를 선택해야 합니다.

호스팅된 UI 및 페더레이션 엔드포인트를 통해 Amazon Cognito는 로컬 및 타사 IdP 사용자를 인증하고 JSON 웹 토큰 (JWT) 을 발행합니다. Amazon Cognito에서 발급하는 토큰을 사용하면 모든 앱에서 여러 자격 증명 소스를 범용 OpenID Connect (OIDC) 표준으로 통합할 수 있습니다. Amazon Cognito는 타사 공급자의 SAML 어설션을 해당 SSO 표준으로 처리할 수 있습니다. Amazon Cognito 사용자 풀 API에서 AWS Management Console, API를 통해 AWS CLI또는 API를 사용하여 SAML IdP를 생성하고 관리할 수 있습니다. 에서 첫 번째 SAML IdP를 만들려면 AWS Management Console을 참조하십시오. 사용자 풀에 SAML 자격 증명 공급자 추가 및 관리

SAML 로그인을 사용한 인증 개요
참고

타사 IdP를 통한 로그인과의 페더레이션은 Amazon Cognito 사용자 풀의 기능입니다. Amazon Cognito 페더레이션 자격 증명이라고도 하는 Amazon Cognito 자격 증명 풀은 각 자격 증명 풀에서 개별적으로 설정해야 하는 페더레이션을 구현한 것입니다. 사용자 풀은 자격 증명 풀의 타사 IdP가 될 수 있습니다. 자세한 정보는 Amazon Cognito 자격 증명 풀을 참조하세요.

IdP 구성에 대한 빠른 참조

요청을 수락하고 사용자 풀에 응답을 보내도록 SAML IdP를 구성해야 합니다. SAML IdP 설명서에는 사용자 풀을 SAML 2.0 IdP의 신뢰 당사자 또는 애플리케이션으로 추가하는 방법에 대한 정보가 포함됩니다. 다음 설명서에는 SP 엔티티 ID 및 어설션 소비자 서비스 (ACS) URL에 제공해야 하는 값이 나와 있습니다.

사용자 풀 SAML 값 빠른 참조
SP 엔티티 ID
urn:amazon:cognito:sp:us-east-1_EXAMPLE
에이스 URL
https://Your user pool domain/saml2/idpresponse

ID 공급자를 지원하도록 사용자 풀을 구성해야 합니다. 외부 SAML IdP를 추가하는 상위 단계는 다음과 같습니다.

  1. IdP에서 SAML 메타데이터를 다운로드하거나 메타데이터 엔드포인트의 URL을 검색합니다. 타사 SAML ID 공급자 구성 섹션을 참조하십시오.

  2. 사용자 풀에 새 IdP를 추가합니다. SAML 메타데이터를 업로드하거나 메타데이터 URL을 제공합니다. 사용자 풀에 SAML 자격 증명 공급자 추가 및 관리 섹션을 참조하십시오.

  3. 앱 클라이언트에 IdP를 할당합니다. 사용자 풀 앱 클라이언트 섹션 참조

SAML 사용자 이름의 대/소문자 구분

연동 사용자가 로그인을 시도하면 SAML 자격 증명 공급자 (IdP) 는 사용자의 SAML 어설션에서 Amazon NameId Cognito에 고유한 데이터를 전달합니다. Amazon Cognito는 SAML 페더레이션 사용자를 해당 NameId 클레임으로 식별합니다. 사용자 풀의 대소문자 구분 설정에 관계없이 Amazon Cognito는 SAML IdP에서 돌아온 페더레이션 사용자가 고유하고 대소문자를 구분하는 클레임을 통과하면 이를 인식합니다. NameId email과 같은 속성을 NameId에 매핑하고 사용자가 자신의 이메일 주소를 변경하는 경우 해당 사용자는 앱에 로그인할 수 없습니다.

변경되지 않는 값을 가진 IdP 속성의 SAML 어설션에서 NameId를 매핑합니다.

예를 들어 Carlos라는 사용자가 NameId 값인 Carlos@example.com을 전달한 Active Directory Federation Services(ADFS) SAML 어설션에서 가져온 대/소문자를 구분하지 않는 사용자 풀에서 사용자 프로필을 갖고 있는 경우 Carlos가 다음에 로그인을 시도할 때 ADFS IdP에서 NameId 값인 carlos@example.com을 전달합니다. NameId는 대/소문자를 정확하게 구분해야 하기 때문에 로그인이 실패합니다.

사용자가 NameID 변경 이후에 로그인할 수 없는 경우 사용자 풀에서 해당 사용자 프로필을 삭제합니다. Amazon Cognito는 이러한 사용자가 다음에 로그인할 때 새 사용자 프로필을 생성합니다.