OneLogin을 Amazon Cognito 사용자 풀의 SAML 자격 증명 공급자로 설정하려면 어떻게 해야 합니까?

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

OneLogin을 Amazon Cognito 사용자 풀의 SAML 2.0(Security Assertion Markup Language 2.0) IdP(자격 증명 공급자)로 사용하고 싶습니다. 어떻게 설정해야 합니까?

간략한 설명

Amazon Cognito 사용자 풀은 OneLogin과 같은 SAML IdP를 통한 로그인을 비롯하여 타사(연동)를 통한 로그인을 허용합니다. 자세한 내용은 타사를 통한 사용자 풀 로그인 추가사용자 풀에 SAML 자격 증명 공급자 추가를 참조하십시오.

OneLogin을 SAML IdP로 설정하려면 Amazon Cognito 사용자 풀과 애플리케이션이 포함된 OneLogin 계정이 필요합니다.

해결 방법

앱 클라이언트와 도메인 이름이 있는 Amazon Cognito 사용자 풀 생성

자세한 내용은 다음 문서를 참조하십시오.

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

OneLogin 계정 생성

OneLogin 웹 사이트에서 자세한 내용을 확인한 후 [Start a free trial]을 선택합니다.

계정 생성 페이지의 [Your OneLogin Domain] 아래에서 OneLogin이 제공하는 도메인을 기록합니다.

OneLogin 애플리케이션 생성

1.    OneLogin 포털 페이지(https://your-new-domain.onelogin.com/portal/)에서 [Administration]을 선택합니다.

2.    [Administration] 페이지의 상단에서 [Apps]를 누르고 [Add apps]를 선택합니다.

3.    [Find Applications] 아래의 검색 표시줄에 saml을 입력한 다음 [SAML Test Connector (IdP)]를 선택하여 [Add SAML Test Connector (IdP)] 페이지를 엽니다.

4.    (선택 사항) 다음 작업을 수행합니다.
[Display Name]에 이름 및 설명을 입력합니다. 예를 들어 Cognito Setup (IdP)라고 입력합니다.
[Rectangular Icon] 및 [Square Icon]에서는 페이지의 사양에 따라 축소판 아이콘을 업로드합니다.
[Description]에 간략한 요약 설명을 입력합니다. 예를 들어 For Amazon Cognito user pool이라고 입력합니다.

5.    [Save]를 선택합니다.

OneLogin 애플리케이션 구성 편집

1.    [Configuration]을 선택합니다.

2.    [Configuration] 페이지에서 다음을 수행합니다.
[RelayState]에 올바른 URL(예: https://www.example.com)을 입력합니다.
[Audience]에 urn:amazon:cognito:sp:yourUserPoolId를 입력합니다.
[Recipient]는 비워 둡니다.
[ACS (Consumer) URL Validator]에는 https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse를 입력합니다.
[ACS (Consumer) URL]의 경우 https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse를 입력합니다.
[Single Logout URL]은 비워 둡니다.

참고: [Audience]에서는 yourUserPoolId를 실제 Amazon Cognito 사용자 풀 ID로 바꾸십시오. 이 ID는 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 [General settings] 탭에서 확인할 수 있습니다.

[ACS (Consumer) URL Validator] 및 [ACS (Consumer) URL]에서는 yourDomainPrefixregion을 사용자 풀의 값으로 바꿉니다. 이 두 값은 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 [Domain name] 탭에서 확인할 수 있습니다.

OneLogin 애플리케이션의 파라미터 편집

1.    [Parameters]를 선택합니다.

참고: 1개의 파라미터(NameID(이전의 Email))가 이미 나열되어 있습니다. 이는 예상된 동작입니다.

2.    [Add parameter]를 선택하여 새로운 사용자 지정 파라미터를 생성합니다.

3.    [New Field] 대화 상자에서[Field name]에 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier를 입력합니다.

4.    [Flags]에서 [Include in SAML assertion] 확인란을 선택합니다.

5.    [Save]를 선택합니다.

6.    [Value]의 경우 목록에서 [Email]을 선택합니다.

7.    [Save]를 선택합니다.

OneLogin 애플리케이션의 IdP 메타데이터 복사

1.    [SSO]를 선택합니다.

2.    [Issuer URL] 아래에 있는 URL을 클립보드에 복사합니다.

3.    [Save]를 선택하여 OneLogin 애플리케이션에 대한 모든 변경 사항을 저장합니다.

Amazon Cognito에서 OneLogin을 SAML IdP로 구성

자세한 내용은 사용자 풀의 SAML 자격 증명 공급자 생성 및 관리(AWS Management Console)를 참조하십시오. 사용자 풀에 SAML 2.0 자격 증명 공급자를 구성하려면의 지침을 따릅니다.

SAML IdP를 생성할 때 [Metadata document]에는 복사한 Issuer URL을 붙여 넣습니다.

사용자 풀 속성에 IdP 속성의 이메일 주소 매핑

자세한 내용은 사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정을 참조하십시오. SAML 공급자 속성 매핑을 지정하려면의 지침을 따릅니다.

[Attribute mapping]에서 SAML 속성을 추가할 때 [SAML Attribute]에 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier를 입력합니다. [User pool attribute]의 목록에서 [Email ]을 선택합니다.

Amazon Cognito에서 앱 클라이언트 설정 변경

참고: 다음은 테스트 목적의 예제 설정입니다. 프로덕션 설정에서는 앱 클라이언트 설정에서 Authorization code grant OAuth 플로우를 사용하는 것이 모범 사례입니다. 이 플로우를 사용하는 경우 리디렉션 URL의 인증이 완료된 후 권한 부여 코드가 전송됩니다. 그러면 TOKEN 엔드포인트로 요청을 보내 이 권한 부여 코드를 JWT(JSON 웹 토큰)로 교환해야 합니다.

1.    Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 [App integration]에서 [App client settings]를 선택합니다. 그리고 다음을 수행합니다.
[Enabled identity providers] 아래에서 [Select all] 확인란을 선택합니다.
[Callback URL(s)]에 로그인 후 사용자를 리디렉션할 URL을 입력합니다. https://www.example.com과 같은 유효한 URL을 입력하여 테스트할 수 있습니다.
[Sign out URL(s)]에 로그아웃 후 사용자를 리디렉션할 URL을 입력합니다. https://www.example.com과 같은 유효한 URL을 입력하여 테스트할 수 있습니다.
[Allowed OAuth Flows]에서 [Implicit grant] 확인란을 선택합니다.
[Allowed OAuth Scopes]에서 [email] 및 [openid] 확인란을 선택합니다.

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

자세한 내용은 앱 클라이언트 설정 개요를 참조하십시오.

로그인 엔드포인트 테스트

1.    브라우저에 https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl을 입력합니다.

참고: [yourDomainPrefix]와 [region]은 실제 사용자 풀의 값으로 바꾸십시오. 이 두 값은 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 [Domain name] 탭에서 확인할 수 있습니다.

yourClientId는 앱 클라이언트 ID로, redirectUrl은 앱 클라이언트 콜백 URL로 각각 바꾸십시오. 이 ID와 URL은 Amazon Cognito 콘솔의 사용자 풀 관리 페이지에 있는 [App client settings] 탭에서 확인할 수 있습니다.

자세한 내용은 Amazon Cognito의 호스팅 웹 UI를 구성하려면 어떻게 해야 합니까?로그인 엔드포인트를 참조하십시오.

2.    [OneLogin]을 선택합니다.

참고: 앱 클라이언트의 콜백 URL로 리디렉션되는 경우 이미 브라우저에서 OneLogin 계정에 로그인한 상태입니다. 모든 항목이 올바르게 설정되었습니다.

3.    OneLogin 페이지에서 [Username]에 OneLogin 계정 사용자 이름을 입력합니다.

4.    [Continue]를 선택합니다.

5.    [Password]에 OneLogin 계정 암호를 입력합니다.

6.    [Continue]를 선택합니다.

앱 클라이언트의 콜백 URL로 리디렉션되면 모든 항목이 올바르게 설정된 것입니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?