사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정() - Amazon Cognito

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정()

AWS Management 콘솔이나 AWS CLI 또는 API를 사용하여 사용자 풀의 자격 증명 공급자에 대한 속성 매핑을 지정할 수 있습니다.

Requirements

사용자 풀 속성을 자격 증명 공급자 속성에 매핑할 때는 다음 요구 사항에 주의하십시오.

  • 사용자가 애플리케이션에 로그인할 때 필요한 각 사용자 풀 속성의 매핑이 있어야 합니다. 예를 들어 사용자 풀에 로그인용 이메일 속성이 필요한 경우 이 속성을 자격 증명 공급자와 동일한 해당 속성에 매핑합니다.

  • 매핑된 각 사용자 풀 속성의 경우 최대 값 길이(2048 문자)는 Amazon Cognito가 자격 증명 공급자에서 가져오는 값에 대해 충분히 커야 합니다. 그렇지 않으면 사용자가 로그인을 할 때 Amazon Cognito에 오류가 발생합니다. 자격 증명 공급자 토큰에 사용자 지정 속성을 매핑할 경우, 길이를 최대 2,048자로 설정합니다.

  • username 사용자 풀 속성은 다음 자격 증명 공급자의 특정 속성에만 매핑되어야 합니다.

    ID 공급자 username에 매핑할 속성
    Facebook id
    Google sub
    Login with Amazon user_id
    OpenID Connect(OIDC) 공급자 sub
    Apple로 로그인 sub
  • 사용자가 애플리케이션에 로그인할 때 Amazon Cognito는 매핑된 사용자 풀 속성을 업데이트할 수 있어야 합니다. 사용자가 자격 증명 공급자를 통해 로그인하면 Amazon Cognito는 자격 증명 공급자의 최신 정보로 매핑된 속성을 업데이트합니다. 현재 값이 이미 최신 정보와 일치하더라도 Amazon Cognito는 매핑된 각 속성을 업데이트합니다. Amazon Cognito가 속성을 업데이트할 수 없는 경우 오류가 발생합니다. Amazon Cognito가 속성을 업데이트할 수 있는지 확인하려면 다음 요구 사항을 확인하십시오.

    • 매핑된 사용자 풀 속성은 변경 가능해야 합니다. 변경 가능한 속성은 해당 속성에 대한 쓰기 권한이 있는 앱 클라이언트를 통해 업데이트될 수 있습니다. 사용자 풀 속성을 Amazon Cognito 콘솔에서 정의할 때 이를 변경 가능하도록 설정할 수 있습니다. 또는 CreateUserPool API 작업을 사용하여 사용자 풀을 생성하는 경우 이러한 각 속성에 대한 Mutable 파라미터를 true로 설정할 수 있습니다.

    • 애플리케이션의 앱 클라이언트 설정에서 매핑된 속성은 쓰기 가능해야 합니다. Amazon Cognito 콘솔의 앱 클라이언트 페이지에서 쓰기 가능한 속성을 설정할 수 있습니다. 또는 CreateUserPoolClient API 작업을 사용하여 앱 클라이언트를 생성하는 경우 이러한 속성을 WriteAttributes 어레이에 추가할 수 있습니다.

사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정(AWS Management 콘솔)

AWS Management 콘솔을 사용하여 사용자 풀의 자격 증명 공급자에 대한 속성 매핑을 지정할 수 있습니다.

참고

Amazon Cognito는 수신 토큰에 클레임이 있는 경우에만 수신 클레임을 사용자 풀 속성에 매핑합니다. 이전에 매핑된 클레임이 수신 토큰에 더 이상 존재하지 않으면 삭제되거나 변경되지 않습니다. 삭제된 클레임의 매핑이 애플리케이션에서 필요한 경우 사전 인증 Lambda 트리거를 사용하여 인증 중에 사용자 지정 속성을 삭제하고 이러한 속성이 수신 토큰에서 다시 채워지도록 허용할 수 있습니다.

소셜 자격 증명 공급자 속성 매핑을 지정하려면

  1. Amazon Cognito 콘솔에 로그인합니다.

  2. 탐색 창에서 사용자 풀 관리를 선택한 다음 편집할 사용자 풀을 선택합니다.

  3. 속성 매핑 탭을 선택합니다.

  4. Facebook, Google, Amazon 또는 Apple 탭을 선택합니다.

  5. 매핑할 각 속성에 대해 다음 단계를 수행합니다.

    1. 캡쳐 확인란을 선택합니다.

    2. 사용자 풀 속성은 드롭다운 목록에서 소셜 자격 증명 공급자 속성으로 매핑할 사용자 풀 속성을 선택합니다.

    3. 더 많은 속성이 필요할 경우 Facebook 속성 추가(또는 Google 속성 추가Add Amazon attribute(Amazon 속성 추가)Add Apple attribute(Apple 속성 추가))를 선택하고 다음 단계를 수행합니다.

      1. Facebook attribute(Facebook 속성)(또는 Google attribute(Google 속성)Amazon attribute(Amazon 속성)Apple attribute(Apple 속성)) 필드에 매핑하려는 속성의 이름을 입력합니다.

      2. 사용자 풀 속성 필드의 드롭다운 목록에서 소셜 자격 증명 공급자 속성을 매핑할 사용자 풀 속성을 선택합니다.

    4. 변경 사항 저장을 선택합니다.

SAML 공급자 속성 매핑을 지정하려면

  1. Amazon Cognito 콘솔에 로그인합니다.

  2. 탐색 창에서 사용자 풀 관리를 선택한 다음 편집할 사용자 풀을 선택합니다.

  3. 속성 매핑 탭을 선택합니다.

  4. SAML 탭을 선택합니다.

  5. 값을 캡처할 모든 속성의 캡쳐 상자를 선택합니다. 속성의 캡쳐 상자를 선택 취소하고 변경 사항을 저장하면 해당 속성의 매핑이 제거됩니다.

  6. 드롭다운 목록에서 자격 증명 공급자를 선택합니다.

  7. 매핑할 각 속성에 대해 다음 단계를 수행합니다.

    1. SAML 속성 추가를 선택합니다.

    2. SAML 속성 필드에서 매핑할 SAML 속성의 이름을 입력합니다.

    3. 사용자 풀 속성 필드의 드롭다운 목록에서 SAML 속성을 매핑할 사용자 풀 속성을 선택합니다.

  8. 변경 사항 저장을 선택합니다.

사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정(AWS CLI 및 AWS API)

다음 명령을 사용하여 사용자 풀에 대한 자격 증명 공급자 속성 매핑을 지정합니다.

공급자 생성 시 속성 매핑을 지정하려면

  • AWS CLI: aws cognito-idp create-identity-provider

    메타데이터 파일이 포함된 예제: aws cognito-idp create-identity-provider --user-pool-id <user_pool_id> --provider-name=SAML_provider_1 --provider-type SAML --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    여기서 details.json에 다음 사항이 포함됩니다.

    { "MetadataFile": "<SAML metadata XML>" }
    참고

    만약 <SAML metadata XML> 모든 견적 포함(")는 반드시\") ).

    메타데이터 URL이 포함된 예제: aws cognito-idp create-identity-provider --user-pool-id <user_pool_id> --provider-name=SAML_provider_1 --provider-type SAML --provider-details MetadataURL=<metadata_url> --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • AWS API: createidentityprovider

기존 자격 증명 공급자에 대한 속성 매핑을 지정하려면

  • AWS CLI: aws cognito-idp update-identity-provider

    예 : aws cognito-idp update-identity-provider --user-pool-id <user_pool_id> --provider-name <provider_name> --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • AWS API: 업데이트 ID 공급자

특정 자격 증명 공급자에 대한 속성 매핑 정보를 가져오려면

  • AWS CLI: aws cognito-idp describe-identity-provider

    예 : aws cognito-idp describe-identity-provider --user-pool-id <user_pool_id> --provider-name <provider_name>

  • AWS API: 설명