SAML 자격 증명 공급자 이름 선택 - Amazon Cognito

SAML 자격 증명 공급자 이름 선택

SAML 공급자의 이름을 선택합니다. 문자열은 최대 32자 길이가 될 수 있으며 다음 정규식과 일치해야 합니다.

[\p{L}\p{M}\p{S}\p{N}\p{P}\p{Z}]+|[^_\p{Z}][\p{L}\p{M}\p{S}\p{N}\p{P}][^_\p{Z}]+

또한 SAML 공급자의 식별자를 선택할 수 있습니다. 식별자는 사용자 풀과 연결된 자격 증명 공급자(IdP)를 고유하게 확인합니다. 일반적으로 각 식별자는 SAML IdP가 나타내는 조직 도메인에 해당합니다. 여러 조직에서 공유하는 다중 테넌트 앱의 경우 사용자를 올바른 IdP에 리디렉션하는 데 식별자를 사용할 수 있습니다. 같은 회사가 여러 도메인을 소유할 수 있으므로 여러 식별자를 제공할 수 있습니다. 식별자로 사용자를 로그인하려면 idp_identifier 파라미터를 사용하여 해당 사용자의 세션을 앱 클라이언트에 대한 권한 부여 엔드포인트로 보냅니다.

각 SAML 공급자에 식별자를 50개까지 연결할 수 있습니다. 사용자 풀에서 식별자는 고유해야 합니다.

사용자를 IdP의 로그인 페이지로 자동으로 리디렉션하는 Amazon Cognito 사용자 풀 /authorize 엔드포인트에 대한 링크를 생성할 수 있습니다. 식별자를 사용자 풀 /authorize 엔드포인트에 대한 요청에 idp_identifier 파라미터로 포함합니다. 또는 identity_provider 파라미터를 IdP의 이름으로 채울 수 있습니다. 다음 URL 형식을 사용합니다.

https://your_Amazon_Cognito_userpool_domain/authorize?response_type=code&identity_provider=your-SAML-IdP-name&client_id=your-client-id&redirect_uri=https://your_application_redirect_url

사용자가 SAML IdP로 로그인한 후 SAML 응답을 saml2/idpresponse 엔드포인트에 투명하게 제출합니다. Amazon Cognito는 앱 클라이언트 콜백 URL로 리디렉션하여 IdP 응답에 회신합니다. 사용자는 호스팅 UI와의 어떤 상호 작용도 본 적이 없습니다.

도메인 형식의 IdP 식별자를 생성하여 사용자 이메일 주소를 수집하고 해당 주소를 해당 도메인에 해당하는 IdP의 로그인 페이지로 지정합니다. 예를 들어, 서로 다른 두 회사의 직원이 사용할 앱을 빌드했다고 가정합니다. 첫 번째 회사인 AnyCompany A는 exampleA.comexampleA.co.uk를 소유합니다. 두 번째 회사인 AnyCompany B는 exampleB.com을 소유합니다. 이 예에서는 회사마다 하나씩, 총 두 개의 IdP를 설정했습니다.

  • IdP A에는 exampleA.comexampleA.co.uk 식별자를 정의합니다.

  • IdP B에는 exampleB.com 식별자를 정의합니다.

앱에서 이메일 주소를 입력하라는 메시지를 사용자에게 표시할 수 있습니다. 앱이 이메일 주소에서 사용자의 도메인을 파생시키고 /authorize 엔드포인트에 대한 호출의 idp_identifier 파라미터에 도메인을 제공하여 사용자를 정확한 IdP에 리디렉션합니다. 예를 들어, 사용자가 bob@exampleA.co.uk를 입력하면 사용자가 IdP A로 리디렉션됩니다.

Amazon Cognito 호스팅 UI는 페더레이션 사용자를 위한 이메일 주소를 수집하고 도메인을 구문 분석할 수 있습니다. 이렇게 하려면 앱 클라이언트에 할당된 각 SAML IdP에 식별자를 하나 이상 할당합니다. 식별자를 성공적으로 할당한 경우에는 호스팅 UI 로그인 페이지가 다음 이미지와 같이 나타납니다.


                    로컬 사용자 로그인 및 페더레이션 사용자에게 이메일 주소를 입력하라는 메시지를 표시하는 Amazon Cognito 호스팅 UI 로그인 페이지입니다.

이 전략을 사용하려면 도메인을 IdP 식별자로 사용해야 합니다. Amazon Cognito는 사용자가 입력한 이메일 주소에서 이메일 도메인을 추출합니다. 그런 다음 Amazon Cognito는 이메일 도메인을 /authorize 엔드포인트에 대한 요청에 IdPIdentifier 파라미터로 추가합니다. 앞의 이미지처럼 사용자가 로그인(Sign in) 버튼을 선택하면 IdP 로그인 페이지가 표시됩니다.

  • 앱 클라이언트에 SAML IdP 하나만 할당하는 경우 호스팅 UI 로그인 페이지에 해당 IdP로 로그인하는 버튼이 표시됩니다.

  • 앱 클라이언트에 대해 활성화한 모든 SAML IdP에 식별자를 할당하는 경우 호스팅 UI 로그인 페이지에 이메일 주소를 입력하는 상자가 나타납니다.

  • SAML IdP가 여러 개이고 이 모든 IdP에 식별자를 할당하지는 않는 경우 호스팅 페이지에 IdP 목록이 포함됩니다.

사용자 지정 UI가 있는 경우 도메인 이름을 구문 분석하여 IdP 추가 시 할당한 식별자와 일치하도록 합니다. IdP 설정에 대한 자세한 내용은 사용자 풀의 자격 증명 공급자 구성 섹션을 참조하세요.