Amazon Cognito
開発者ガイド

ユーザープールの ID プロバイダー属性マッピングを指定する

AWS マネジメントコンソール、または AWS CLI または API を使用して、ユーザープールの ID プロバイダーの属性マッピングを指定します。

ユーザープールの ID プロバイダー属性マッピングを指定する (AWS マネジメントコンソール)

AWS マネジメントコンソールを使用してユーザープールの ID プロバイダーの属性マッピングを指定できます。

注記

現在は、Facebook の id属性、Google の sub 属性、Login with Amazon の user_id 属性、および OIDC の sub 属性のみを Amazon Cognito ユーザープールの username 属性にマップできます。

注記

Amazon Cognito ユーザープール内の属性は、マップされる ID プロバイダー属性の値に対応できる十分な大きさにしてください。そうしないと、ユーザーがサインインする際にエラーが発生します。カスタム属性が ID プロバイダートークンにマッピングされる場合は、最大 2048 文字のサイズに設定する必要があります。

ユーザープールで必要なすべての属性のマッピングを作成してください。

ソーシャル ID プロバイダー属性マッピングを指定するには

  1. Amazon Cognito コンソールにサインインします。

  2. ナビゲーションペインで [Manage your User Pools] を選択してから、編集するユーザープールを選択します。

  3. [Attribute mapping] タブを選択します。

  4. [Facebook]、[Google]、または [Amazon] タブを選択します。

  5. マッピングする必要のある各属性について、以下のステップを実行します。

    1. [Capture] チェックボックスをオンにします。

    2. [ユーザープール属性] のドロップダウンリストから、ソーシャル ID プロバイダー属性にマッピングするユーザープール属性を選択します。

    3. 属性を追加する必要がある場合は、[Add Facebook attribute] (または [Add Google attribute] や [Add Amazon attribute]) を選択して、次のステップを実行します。

      1. [Facebook attribute] (または [Google attribute] や [Amazon attribute]) フィールドに、マップする属性の名前を入力します。

      2. [User pool attribute] フィールドで、ドロップダウンリストから、ソーシャル ID プロバイダー属性をマッピングするユーザープール属性を選択します。

    4. [変更の保存] を選択します。

SAML プロバイダ属性マッピングを指定するには

  1. Amazon Cognito コンソールにサインインします。

  2. ナビゲーションペインで [Manage your User Pools] を選択してから、編集するユーザープールを選択します。

  3. [Attribute mapping] タブを選択します。

  4. [SAML] タブを選択します。

  5. 値をキャプチャするすべての属性の [Capture] ボックスにチェックを入れます。属性の [Capture] ボックスのチェックを外して変更を保存すると、属性のマッピングは削除されます。

  6. ドロップダウンリストから ID プロバイダーを選択します。

  7. マッピングする必要のある各属性について、以下のステップを実行します。

    1. [Add SAML attribute] を選択します。

    2. [SAML attribute] フィールドに、マッピングする SAML 属性の名前を入力します。

    3. [User pool attribute] フィールドで、ドロップダウンリストから、SAML 属性をマッピングするユーザープール属性を選択します。

  8. [変更の保存] を選択します。

ユーザープールの ID プロバイダー属性マッピングを指定する (AWS CLI および AWS API)

次のコマンドを使用して、ユーザープールの ID プロバイダー属性マッピングを指定します。

プロバイダの作成時に属性マッピングを指定するには

  • 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 メタデータ 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

既存の ID プロバイダーの属性マッピングを指定するには

  • 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: UpdateIdentityProvider

特定の 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: DescribeIdentityProvider