Amazon Cognito 사용자 풀에서 SAML 자격 증명 공급자로서 AD FS를 설정하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 2월 7일

Amazon Cognito 사용자 풀에서 SAML 2.0(Security Assertion Markup Language 2.0) IdP(자격 증명 공급자)로 AD FS(Active Directory Federation Services)를 사용하고 싶습니다. 그러려면 어떻게 설정해야 합니까?

간략한 설명

Amazon Cognito 사용자 풀을 사용하면 AD FS와 같은 SAML IdP를 비롯하여 타사(연동)를 통해 로그인할 수 있습니다. 자세한 내용은 타사를 통한 사용자 풀 로그인 추가사용자 풀에 SAML 자격 증명 공급자 추가를 참조하세요.

Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스에서 AD FS 서버 및 도메인 컨트롤러를 설정한 다음, Amazon Cognito의 호스팅 웹 UI를 사용하여 사용자 풀과 설정을 통합할 수 있습니다.

중요: 이 해결 방법을 이용하려면 도메인 이름을 소유하고 있어야 합니다. 도메인을 소유하지 않은 경우 다른 Domain Name System(DNS) 또는 Amazon Route 53을 사용하여 새 도메인을 등록할 수 있습니다.

해결 방법

앱 클라이언트가 설정된 Amazon Cognito 사용자 풀 생성

자세한 내용은자습서: 사용자 풀 생성Amazon Cognito 콘솔을 사용한 호스팅 UI 설정을 참조하세요.

참고: 사용자 풀을 생성할 때는 표준 속성인 email이 기본적으로 선택됩니다. 사용자 풀 속성에 대한 자세한 내용은 사용자 풀 속성 구성을 참조하세요.

EC2 Windows 인스턴스 구성

EC2 Windows 인스턴스를 구성 및 시작한 다음, 인스턴스에 AD FS 서버와 도메인 컨트롤러를 설정합니다. 자세한 내용은 Amazon Cognito 사용자 풀의 연동 기능을 지원하는 AD FS를 Amazon EC2 Windows 인스턴스에 설치하려면 어떻게 해야 합니까?를 참조하세요.

Amazon Cognito에서 AD FS 서버를 SAML IdP로 구성

자세한 내용은 사용자 풀에 대한 SAML 자격 증명 공급자 생성 및 관리(AWS 관리 콘솔)를 참조하고 사용자 풀에 SAML 2.0 자격 증명 공급자를 구성하려면의 지침을 따르세요.

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에서 앱 클라이언트 설정 변경

  1. 사용자 풀에 대한 Amazon Cognito 콘솔 관리 페이지의 앱 통합(App integration)에서 앱 클라이언트 설정(App client settings)을 선택합니다. 그러고 나서 다음 작업을 수행합니다.
    활성화된 자격 증명 공급자에서 구성한 SAML IdP의 확인란을 선택합니다. 예를 들면 ADFS입니다.
    Callback URL(s)의 경우, 로그인 후 사용자를 리디렉션할 URL을 입력합니다.
    Sign out URL(s)의 경우, 로그아웃 후 사용자를 리디렉션할 URL을 입력합니다.
    Allowed OAuth Flows에서 인증 코드 부여묵시적 부여 확인란을 선택합니다.
    Allowed OAuth Scopes에서 모든 확인란을 선택하십시오.
  2. 변경 사항 저장(Save changes)을 선택합니다. 자세한 내용은 앱 클라이언트 설정 용어를 참조하세요.

Amazon Cognito 호스팅 웹 UI를 사용하여 설정 테스트

  1. 웹 브라우저에 다음 URL을 입력합니다.
    https://domainNamePrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=appClientId&redirect_uri=https://www.example.com

    참고:
    URL의 경우 사용자 풀 및 앱 클라이언트의 값을 사용하세요. 앱 통합 페이지의 Amazon Cognito 콘솔에서 사용자 풀에 대한 도메인(도메인 이름 접두사 및 AWS 리전 포함)을 찾습니다. 앱 클라이언트 설정에서 앱 클라이언트 ID를 찾습니다. https://www.example.com를 SAML IdP에 대한 콜백 URL로 바꿉니다.
  2. 구성한 SAML IdP의 이름을 선택합니다. AD FS 인증 페이지로 리디렉션됩니다.
  3. 조직 계정으로 로그인에서 Active Directory 사용자의 사용자 이름과 암호를 입력하십시오.
  4. [Sign in]을 선택합니다. 성공적으로 로그인되면 Amazon Cognito에서 사용자 풀 토큰과 성공 SAML 응답이 반환됩니다. SAML 응답 보기에 대한 자세한 내용은 문제 해결을 위해 브라우저에서 SAML 응답을 보는 방법을 참조하세요.
    참고:
    디코딩된 SAML 응답에는 필수 속성인 NameID가 포함되어 있습니다.