Okta를 Amazon Cognito 사용자 풀의 SAML ID 공급자로 설정하려면 어떻게 해야 하나요?

6분 분량
0

Okta를 Amazon Cognito 사용자 풀의 Security Assertion Markup Language 2.0(SAML 2.0) ID 제공업체(idP)로 사용하려고 합니다.

간단한 설명

Amazon Cognito 사용자 풀을 사용하면 Okta와 같은 IdP를 포함하여 타사(페더레이션)를 통해 로그인할 수 있습니다. 자세한 내용을 보려면 타사를 통한 사용자 풀 로그인 추가하기사용자 풀에 SAML ID 공급자 추가하기를 참조하세요.

Okta와 통합된 사용자 풀을 사용하면 Okta 앱의 사용자가 Amazon Cognito에서 사용자 풀 토큰을 가져올 수 있습니다. 자세한 내용을 보려면 사용자 풀로 토큰 사용를 참조하세요.

해결 방법

앱 클라이언트와 도메인 이름을 사용하여 Amazon Cognito 사용자 풀 생성

  1. 사용자 풀을 생성합니다.
    참고: 생성 중에 표준 속성이메일이 기본적으로 선택됩니다. 자세한 내용을 보려면 사용자 풀 속성을 참조하세요.
  2. 사용자 풀에서 앱 클라이언트를 생성합니다. 자세한 내용을 보려면 앱 클라이언트 추가 및 호스팅된 UI 설정를 참조하세요.
    참고: 앱 클라이언트를 추가할 경우 클라이언트 암호 생성 확인란의 선택을 취소하세요. 인증 코드 부여 흐름과 토큰 새로 고침 흐름과 같은 특정 인증 흐름에서 인증 서버는 앱 클라이언트 암호를 사용하여 사용자를 대신하여 요청할 수 있는 권한을 클라이언트에 부여합니다. 이 설정에 사용되는 암시적 부여 흐름의 경우, 앱 클라이언트 암호가 필요하지 않습니다.
  3. 사용자 풀에 도메인 이름을 추가하세요.

Okta 개발자 계정에 가입

**참고:**이미 Okta 개발자 계정이 있다면, 로그인하세요.

  1. Okta 개발자 가입 웹 페이지에서 필요한 정보를 입력한 다음가입을 선택합니다. Okta 개발자 팀에서는 사용자가 제공한 이메일 주소로 확인 이메일을 보냅니다.
  2. 확인 이메일에서 사용자의 계정에 대한 로그인 정보를 찾으세요. 내 계정 활성화를 선택하고 사용자의 계정 생성을 완료하세요.

Okta에서 SAML 앱 생성

  1. Okta 개발자 콘솔을 엽니다. 자세한 내용을 보려면 Okta 웹사이트에서 새롭게 디자인된 관리자 콘솔 및 대시보드를 참조하세요.
  2. 탐색 메뉴에서 애플리케이션을 열고 애플리케이션을 선택합니다.
  3. 앱 통합 생성을 선택합니다.
  4. 새 앱 통합 생성 메뉴에서, 로그인 방법으로 SAML 2.0을 선택합니다.
  5. 다음을 선택합니다.

자세한 내용을 보려면 Okta 개발자 웹사이트의 Single Sign-On(SSO) 통합 구축 가이드에서 SAML 통합 준비를 참조하세요.

Okta 앱에 대한 SAML 통합 구성

  1. SAML 통합 생성 페이지의 일반 설정에서 사용자 앱의 이름을 입력합니다.
  2. (선택 사항) 로고를 업로드하고 사용자 앱의 보기 설정을 선택합니다.
  3. 다음을 선택합니다.
  4. 일반싱글 사인온 URLhttps://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse를 입력합니다.
    참고: yourDomainPrefix리전을 사용자 풀 값으로 바꿉니다. 사용자 풀에 대한도메인 이름 페이지의 Amazon Cognito 콘솔에서 이 값을 찾을 수 있습니다.
  5. **대상 URI(SP 엔터티 ID)**에 urn:amazon:cognito:sp:yourUserPoolId를 입력합니다.
    참고: yourUserPoolId를 Amazon Cognito 사용자 풀 ID로 바꿉니다. 사용자 풀에 대한 일반 설정 페이지의 Amazon Cognito 콘솔에서 이 값을 찾을 수 있습니다.
  6. **속성 명령문(선택 사항)**에서 다음 정보가 포함된 명령문을 추가합니다.
    이름에 SAML 속성 이름 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress를 입력합니다.
    user.email을 입력합니다.
  7. 페이지의 다른 모든 설정은 기본값으로 그대로 두거나 사용자의 선택에 따라 설정합니다.
  8. 다음을 선택합니다.
  9. Okta Support에 대한 피드백 응답을 선택합니다.
  10. 완료를 선택합니다.

자세한 내용을 보려면 Okta 개발자 웹사이트의 Single Sign-On (SSO) 통합 구축 가이드에서 통합 생성을 참조하세요.

Okta 애플리케이션에 사용자 할당

  1. 사용자 Okta 앱의 할당 탭에서 할당사람에게 할당을 선택합니다.
  2. 할당하려는 사용자 옆에 있는할당을 선택합니다.
    참고: 새 계정인 경우, 사용할 수 있는 유일한 옵션은 본인(관리자)을 사용자로 선택하는 것입니다.
  3. (선택 사항) 사용자 이름에 사용자 이름을 입력하거나 원하는 경우 사용자의 이메일 주소로 남겨 둡니다.
  4. 저장하고 돌아가기를 선택합니다. 그러면 사용자가 할당됩니다.
  5. 완료을 선택합니다.

자세한 내용을 보려면 Okta 개발자 웹사이트의 Single Sign-On (SSO) 통합 구축 가이드에서 사용자 할당을 참조하세요.

Okta 애플리케이션의 IdP 메타데이터 가져오기

사용자 Okta 앱의 로그인 탭에서 Id 공급자 메타데이터하이퍼링크를 찾습니다. 하이퍼링크를 마우스 오른쪽 버튼으로 클릭한 다음 URL을 복사합니다.

자세한 내용을 보려면 Okta 개발자 웹사이트의 Single Sign-On (SSO) 통합 구축 가이드에서 통합 설정 지정을 참조하세요.

사용자 풀에서 Okta를 SAML IdP로 구성

  1. Amazon Cognito 콘솔에서 사용자 풀 관리를 선택한 다음, 사용자 풀을 선택합니다.
  2. 왼쪽 탐색 창의 패더레이션에서 Id 공급자를 선택합니다.
  3. SAML을 선택합니다.
  4. 메타데이터 문서에 복사한 Id 공급자 메타데이터URL을 붙여 넣습니다.
  5. 공급자 이름Okta를 입력합니다. 자세한 내용을 보려면 SAML ID 공급자 이름 선택을 참조하세요.
  6. (선택 사항) SAML 식별자(식별자(선택 사항))를 입력하고 사용자가 사용자 풀에서 로그아웃할 때 IdP(Okta)에서 로그아웃을 활성화합니다.
  7. 공급자 생성을 선택합니다.

자세한 내용을 보려면 사용자 풀에 대한 SAML ID 공급자 생성 및 관리하기(AWS Management Console)를 참조하세요.

IdP 속성에서 사용자 풀 속성으로 이메일 주소 매핑

  1. Amazon Cognito 콘솔에서 사용자 풀 관리를 선택한 다음, 사용자 풀을 선택합니다.
  2. 왼쪽 탐색 창의 페더레이션에서 속성 매핑을 선택합니다.
  3. 속성 매핑 페이지에서 SAML 탭을 선택합니다.
  4. SAML 속성 추가를 선택합니다.
  5. SAML 속성에 SAML 속성 이름(http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress)을 입력합니다.
  6. 사용자 풀 속성에서, 목록의이메일을 선택합니다.

자세한 내용을 보려면 사용자 풀에 대한 ID 공급자 속성 매핑 지정을 참조하세요.

사용자 풀에 대한 앱 클라이언트 설정 변경

  1. Amazon Cognito 콘솔에서 사용자 풀 관리를 선택한 다음, 사용자 풀을 선택합니다.
  2. 왼쪽 탐색 창의 앱 통합에서 앱 클라이언트 설정을 선택합니다.
  3. 앱 클라이언트 페이지에서 다음을 수행하세요.
    활성화된 ID 공급자에서 OktaCognito 사용자 풀확인란을 선택합니다.
    콜백 URL에 사용자가 로그인한 후 리디렉션할 URL을 입력합니다. 테스트용으로 **https://www.example.com/**와 같은 유효한 URL을입력합니다.
    URL 로그아웃에 사용자가 로그아웃한 후 리디렉션할 URL을 입력합니다. 테스트용으로 https://www.example.com/와 같은 유효한 URL을입력합니다.
    허용된 OAuth 흐름에서 최소한 암시적 부여확인란을 선택해야 합니다.
    허용된 OAuth 범위에서 최소한 이메일
    openid
    확인란을 선택해야 합니다.
  4. 변경 사항 저장을 선택합니다.

자세한 내용을 보려면 앱 클라이언트 설정 용어를 참조하세요.

엔드포인트 URL 구축

사용자 풀의 값을 사용하여 다음 로그인 엔드포인트 URL을 구성합니다. https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl

다음 작업을 수행해야 합니다.

  • yourDomainPrefix리전을 사용자 풀 값으로 바꿉니다. 사용자 풀에 대한도메인 이름 페이지의 Amazon Cognito 콘솔에서 이 값을 찾을 수 있습니다.
  • yourClientId를 사용자의 앱 클라이언트의 ID로 바꾸고, redirectUrl을 사용자 앱 클라이언트의 콜백 URL로 바꾸세요. 사용자 풀에 대한 앱 클라이언트 설정 페이지의 Amazon Cognito 콘솔에서 이 값을 찾을 수 있습니다.

자세한 내용을 보려면 Amazon Cognito용 호스팅 웹 UI를 구성하려면 어떻게 하나요?로그인 엔드포인트를 참조하세요.

엔드포인트 URL 테스트

  1. 웹 브라우저에 이미 구축된 로그인 엔드포인트 URL을 입력합니다.
  2. 사용자의 로그인 엔드포인트 웹 페이지에서 Okta를 선택합니다.
    **참고:**사용자의 앱 클라이언트 콜백 URL로 리디렉션된다면, 사용자의 브라우저에서 이미 Okta 계정에 로그인한 것입니다. 사용자 풀 토큰은 사용자의 웹 브라우저 주소 바에 있는 URL에 표시됩니다.
  3. Okta 로그인페이지에서 앱에 할당한 사용자의 사용자 이름과 암호를 입력합니다.
  4. 로그인을 선택합니다.

로그인한 후, 앱 클라이언트의 콜백 URL로 리디렉션됩니다. 사용자 풀 토큰은 사용자의 웹 브라우저 주소 바에 있는 URL에 표시됩니다.

(선택 사항) Amazon Cognito 호스팅된 UI 건너뛰기

사용자가 앱에 로그인할 때 Amazon Cognito 호스팅된 웹 UI를 건너뛰도록 하려면, 다음과 같은 엔드포인트 URL을 대신 사용하세요.

https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes

다음 작업을 수행해야 합니다.

  • yourDomainPrefix리전을 사용자 풀 값으로 바꿉니다. 사용자 풀에 대한 도메인 이름 페이지의 Amazon Cognito 콘솔에서 이 값을 찾을 수 있습니다.
  • samlProviderName을 사용자 풀에 있는 SAML 공급자의 이름으로 바꾸세요(Okta).
  • (선택 사항) 앞서 식별자(선택 사항) 필드에서 SAML IdP에 대한 식별자를 추가한 경우, identity_provider=samlProviderNameidp_identifier=idpIdentifier로 바꾸고, idpIdentifier를 사용자 지정 식별자 문자열로 바꿉니다.
  • yourClientId를 사용자의 앱 클라이언트의 ID로 바꾸고, redirectUrl을 사용자 앱 클라이언트의 콜백 URL로 바꾸세요. 사용자 풀에 대한 앱 클라이언트 설정 페이지의 Amazon Cognito 콘솔에서 이 값을 찾을 수 있습니다.
  • allowedOauthScopes를 사용자의 Amazon Cognito 앱 클라이언트가 요청하려고 하는 특정 범위로 바꾸세요. 예: scope=email+openid.

자세한 내용을 보려면 Amazon Cognito용 호스팅된 웹 UI를 구성하려면 어떻게 해야 하나요?엔드포인트 인증을 참조하세요.

관련 정보

SAML 사용자 풀 IdP 인증 흐름

Amazon Cognito 사용자 풀을 사용하여 타사 SAML ID 공급자를 설정하려면 어떻게 해야 하나요?

Amazon Cognito 사용자 풀에서 Okta를 OpenID Connect ID 공급자로 설정하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 6달 전