Auth0을 Amazon Cognito 사용자 풀의 SAML ID 제공업체로 설정하려면 어떻게 해야 하나요?
Auth0을 Amazon Cognito 사용자 풀의 SAML 2.0(Security Assertion Markup Language 2.0) ID 제공업체(IdP)로 사용하고 싶습니다. 어떻게 설정해야 하나요?
간략한 설명
Amazon Cognito 사용자 풀을 사용하면 Auth0과 같은 SAML IdP를 비롯하여 서드 파티(페더레이션)를 통해 로그인할 수 있습니다. 자세한 내용은 타사를 통한 사용자 풀 로그인 추가 및 사용자 풀에 SAML ID 제공업체 추가를 참조하세요.
사용자 풀을 Auth0과 통합하면 Auth0 애플리케이션의 사용자가 Amazon Cognito에서 사용자 풀 토큰을 가져올 수 있습니다. 자세한 내용은 사용자 풀을 통해 토큰 사용을 참조하세요.
Auth0을 SAML IdP로 설정하려면 앱 클라이언트와 도메인 이름이 설정된 Amazon Cognito 사용자 풀과 Auth0 애플리케이션을 실행할 Auth0 계정이 필요합니다.
해결 방법
앱 클라이언트와 도메인 이름이 설정된 Amazon Cognito 사용자 풀 생성
자세한 내용은 다음 문서를 참조하세요.
- 튜토리얼: 사용자 풀 생성
참고: 사용자 풀을 생성할 때는 표준 속성인 email이 기본적으로 선택됩니다. 사용자 풀 속성에 대한 자세한 내용은 사용자 풀 속성을 참조하세요. - Amazon Cognito 콘솔을 사용하여 호스팅된 UI 설정
참고: 앱 클라이언트를 추가할 때 클라이언트 암호 생성(Generate client secret) 확인란은 선택 취소해도 됩니다. 앱 클라이언트 비밀번호는 필수가 아니며 앱 클라이언트 비밀번호를 사용하면 Amazon Cognito JavaScript(브라우저) SDK가 사용자를 인증할 수 없습니다. - 사용자 풀의 도메인 이름 추가
Auth0 계정 가입
Auth0 Sign Up 페이지에서 이메일 주소와 암호를 입력하여 시작합니다. 이미 계정이 있는 경우 로그인합니다.
Auth0 애플리케이션 생성
- [Auth0 website] 대시보드에서 [Applications]를 선택하고 [Create Application]을 선택합니다.
- [Create Application] 대화 상자에서 애플리케이션 이름을 입력합니다. 예를 들어 My App으로 입력할 수 있습니다.
- [Choose an application type]에서 [Single Page Web Applications]를 선택합니다.
- [Create]를 선택합니다.
Auth0 애플리케이션의 테스트 사용자 생성
- 왼쪽 탐색 모음에서 **사용자 관리(User Management)**를 선택한 다음 **사용자(User)**를 선택합니다.
- **첫 번째 사용자 생성(Create Your First User)**을 선택합니다. 첫 번째 사용자가 아닌 경우 **사용자 생성(Create User)**을 선택합니다.
- 사용자 생성(Create user) 대화 상자에서 사용자의 이메일과 암호를 입력합니다.
- [Save]를 선택합니다.
애플리케이션의 SAML 설정 구성
- 왼쪽 탐색 모음에서 [Applications]를 선택합니다.
- 생성한 애플리케이션의 이름을 선택합니다.
- 애드온(Addons) 탭에서 SAML2 Web App을 켭니다.
- Addon: SAML2 Web App 대화 상자의 설정(Settings) 탭에서 **애플리케이션 콜백 URL(Application Callback URL)**에 https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse를 입력합니다.
참고: yourDomainPrefix와 region은 실제 사용자 풀의 값으로 바꿉니다. 이 두 값은 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 도메인 이름(Domain name) 탭에서 확인할 수 있습니다.
-또는-
https//yourCustomDomain/saml2/idpresponse와 유사한 사용자 지정 도메인 콜백 URL을 입력합니다. 자세한 내용은 사용자 풀에 사용자 지정 도메인 추가를 참조하세요. - [Settings]에서 다음을 수행합니다.
[audience]에서 주석 구분 기호(//)를 삭제하고 기본값(urn:foo)을 urn:amazon:cognito:sp:yourUserPoolId로 바꿉니다.
참고: yourUserPoolId를 실제 Amazon Cognito 사용자 풀 ID로 바꾸십시오. 이 ID는 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 [General settings] 탭에서 확인할 수 있습니다.
[mappings] 및 [email]에서 주석 구분 기호(//)를 삭제합니다. Amazon Cognito 사용자 풀에 필요한 다른 속성에 대해서도 똑같이 합니다. 자세한 내용은 사용자 풀 속성을 참조하세요.
nameIdentifierFormat에서 주석 구분 기호(//)를 삭제합니다. 기본값(urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified)을 urn:oasis:names:tc:SAML:2.0:nameid-format:persistent로 바꿉니다. - (선택 사항) [Debug]를 선택한 후 앞서 생성한 테스트 사용자로 로그인하여 구성이 정상적으로 작동하는지 확인합니다.
- [Enable]을 선택한 다음 [Save]를 선택합니다.
Auth0 애플리케이션의 IdP 메타데이터 가져오기
Addon: SAML2 Web App 대화 상자의 사용(Usage) 탭에서 **ID 제공업체 메타데이터(Identity Provider Metadata)**를 찾습니다. 다음 중 하나를 수행합니다.
- **다운로드(download)**를 마우스 오른쪽 버튼으로 클릭한 다음 URL을 복사합니다.
- [download]를 선택하여 .xml 메타데이터 파일을 다운로드합니다.
Amazon Cognito에서 Auth0을 SAML IdP로 구성
자세한 내용은 사용자 풀에 대한 SAML ID 제공업체 생성 및 관리를 참조하세요. 사용자 풀에 SAML 2.0 ID 제공업체를 구성하려면 다음 지침을 따르세요.
SAML IdP를 생성할 때 [Metadata document]에는 자격 증명 공급자 메타데이터 URL을 붙여 넣거나 .xml 메타데이터 파일을 업로드합니다.
IdP 속성에서 사용자 풀 속성으로 이메일 주소 매핑
자세한 내용은 사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정을 참조하고 SAML 공급자 속성 매핑을 지정하려면의 지침을 따르세요.
SAML 속성을 추가할 때 SAML Attribute에는 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress를 입력합니다. User pool attribute에는 목록에서 Email을 선택합니다.
Amazon Cognito에서 앱 클라이언트 설정 변경
- 사용자 풀에 대한 Amazon Cognito 콘솔 관리 페이지의 [App integration]에서 [App client settings]를 선택합니다. 그리고 다음을 수행합니다.
[Enabled identity providers]에서 [Auth0] 및 [Cognito User Pool] 확인란을 선택합니다.
[Callback URL(s)]에 로그인 후 사용자를 리디렉션할 URL을 입력합니다. https://www.amazon.com과 같은 유효한 URL을 입력하여 테스트할 수 있습니다.
[Sign out URL(s)]에 로그아웃 후 사용자를 리디렉션할 URL을 입력합니다. https://www.amazon.com과 같은 유효한 URL을 입력하여 테스트할 수 있습니다.
[Allowed OAuth Flows]에서 [Implicit grant] 확인란이 선택되어 있는지 확인합니다.
[Allowed OAuth Scopes]에서 [email] 및 [openid] 확인란이 선택되어 있는지 확인합니다. - [변경 사항 저장(Save changes)]을 선택합니다.
자세한 내용은 앱 클라이언트 설정 용어를 참조하세요.
로그인 엔드포인트 테스트
- 웹 브라우저 **https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/login?response_type=token&client_id=<yourClientId>&redirect_uri=<redirectUrl>**에 이 URL을 입력합니다.
참고: yourDomainPrefix와 region은 실제 사용자 풀의 값으로 바꿉니다. 이 두 값은 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 도메인 이름(Domain name) 탭에서 확인할 수 있습니다.
yourClientId는 앱 클라이언트의 ID로, redirectUrl은 앱 클라이언트의 콜백 URL로 각각 바꾸십시오. 사용자 풀 관리 페이지의 앱 클라이언트 설정(App client settings) 탭에 있는 Amazon Cognito 콘솔에서 이들을 찾습니다.
자세한 내용은 Amazon Cognito의 호스팅 웹 UI를 구성하려면 어떻게 해야 하나요? 및 로그인 엔드포인트를 참조하세요. - Auth0을 선택합니다.
참고: 앱 클라이언트의 콜백 URL로 리디렉션되는 경우 이미 브라우저에서 Auth0 계정에 로그인한 상태입니다. 사용자 풀 토큰은 웹 브라우저 주소 표시줄의 URL에 표시됩니다. - Auth0 애플리케이션의 로그인 페이지에서 앞서 생성한 테스트 사용자의 이메일 및 암호를 입력합니다.
- [Log in]을 선택합니다.
로그인하고 나면 앱 클라이언트의 콜백 URL로 리디렉션됩니다. 사용자 풀 토큰은 웹 브라우저 주소 표시줄의 URL에 표시됩니다.
관련 정보
타사 SAML 자격 증명 공급자와 Amazon Cognito 사용자 풀 통합
Amazon Cognito 사용자 풀을 사용하여 타사 SAML 자격 증명 공급자를 설정하려면 어떻게 해야 합니까?
관련 콘텐츠
- 질문됨 7달 전lg...
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 일 년 전