Amazon Cognito
開発者ガイド

ユーザープールの SAML ID プロバイダーの作成と管理 (AWS マネジメントコンソール)

AWS マネジメントコンソール​を使用して、SAML ID プロバイダーの作成および削除を行うことができます。

SAML ID プロバイダーを作成する前に、サードパーティーの ID プロバイダー (IdP) から取得した SAML メタデータドキュメントが必要です。必要な SAML メタデータドキュメントの取得または生成方法については、「サードパーティーの SAML ID プロバイダーと Amazon Cognito ユーザープールの統合」を参照してください。

ユーザープールに SAML 2.0 ID プロバイダーを設定するには

  1. Amazon Cognito コンソールに移動します。AWS 認証情報を要求される場合があります。

  2. [Manage your User Pools] を選択します。

  3. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  4. 左のナビゲーションバーで、[ID プロバイダー] を選択します。

  5. [SAML] を選択して SAML ダイアログを開きます。

  6. [メタデータドキュメント] で、SAML IdP からメタデータドキュメントをアップロードします。メタデータドキュメントを指す URL を入力することもできます。詳細については、「サードパーティーの SAML ID プロバイダーと Amazon Cognito ユーザープールの統合」を参照してください。

    注記

    パブリックエンドポイントの場合はファイルをアップロードするのではなくエンドポイント URL を指定することをお勧めします。こうすることで、Amazon Cognito で自動的にメタデータが更新されます。通常、メタデータの更新は 6 時間ごとまたはメタデータの有効期限が切れる前のいずれか早いタイミングで発生します。

  7. SAML の [プロバイダ名] を入力します。SAML の名前付けの詳細については、「SAML ID プロバイダー名の選択」を参照してください。

  8. オプションとして使用する SAML [識別子] を入力します。

  9. Amazon Cognito からログアウトするときに SAML IdP からユーザーをログアウトさせる場合は、[Enable IdP sign out flow (IdP サインアウトフローの有効化)] を選択します。

    このフローを有効にすると、ログアウトエンドポイント が呼び出された時に署名付きのログアウトリクエストを SAML IdP に送信します。

    IdP からのログアウトレスポンスを消費するように、このエンドポイントを設定します。このエンドポイントでは、ポストバインディングを使用します。

    https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/logout

    注記

    このオプションが選択されていて、SAML ID プロバイダーが署名付きログアウトリクエストを想定している場合は、SAML IdP で Amazon Cognito が提供する署名用証明書を設定する必要があります。

    SAML IdP は署名付きログアウトリクエストを処理し、Amazon Cognito セッションからユーザーをログアウトさせます。

  10. [プロバイダーの作成] を選択します。

  11. [属性マッピング] タブで、次のように最低でも必須属性 (通常は email) のマッピングを追加します。

    1. SAML 属性名を入力します。ID プロバイダーからの SAML アサーションに表示されます。ID プロバイダーがサンプル SAML アサーションを提供している場合は、名前を見つけやすいかもしれません。ID プロバイダーの中には、email などの単純な名前を使用するものもあれば、これに類似した名前を使用するものもあります。

      http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    2. ドロップダウンリストから送信先ユーザープール属性を選択します。

  12. [Save changes] を選択します。

  13. [要約に移動] を選択します。

注記

HTTPS メタデータエンドポイント URL を使用して SAML ID プロバイダを作成中に InvalidParameterException (たとえば「Error retrieving metadata from <metadata endpoint>」) が表示される場合、メタデータエンドポイントの SSL が正しくセットアップされていること、および有効な SSL 証明書が関連付けられていることを確認してください。

ユーザープールを証明書利用者として追加するために SAML IdP をセットアップする

  • ユーザープールのサービスプロバイダー URN は urn:amazon:cognito:sp:<user_pool_id> です。Amazon Cognito は AuthnRequest を SAML IdP に発行して、対象者制限とともに SAML アサーションをこの URN に発行します。お客様の IdP は次の POST バインディングエンドポイントを IdP-to-SP 応答メッセージに使用します。https://<domain_prefix>.auth.<region>.amazoncognito.com/saml2/idpresponse

  • SAML IdP によって、SAML アサーションの NameID および他のユーザープール必須属性が入力されていることを確認します。NameID は、ユーザープールの SAML フェデレーティッドユーザーを一意に識別するために使用されます。永続的な SAML 名 ID 形式を使用します。

署名用証明書を追加するために SAML IdP をセットアップする

  • 署名付きログアウトリクエストを検証するため、ID プロバイダが使用するパブリックキーを含む証明書を取得するには [デジタル署名用証明書の表示] を [アクティブな SAML プロバイダ] で選択します。アクティブな SAML プロバイダは [SAML] ダイアログ ([ID プロバイダ] 内) にあります。まずは、[フェデレーション] コンソールページにアクセスしてください。

SAML プロバイダーを削除するには

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

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

  3. [フェデレーション] コンソールページから [ID プロバイダー] を選択します。

  4. [SAML] を選択して SAML ID プロバイダを表示します。

  5. 削除するプロバイダの横にあるチェックボックスを選択します。

  6. [Delete provider (プロバイダーの削除)] を選択します。