スキップしてコンテンツを表示

サードパーティ IdP を使用して Amazon Cognito ユーザープールの IAM アイデンティティセンターを設定する方法を教えてください。

所要時間3分
0

サードパーティ ID プロバイダー (IdP) を使用して Amazon Cognito ユーザープールの AWS IAM アイデンティティセンターを設定したいです。

解決策

アプリクライアントとドメイン名を使用して Amazon Cognito ユーザープールを作成する

注: アプリクライアントを含むユーザープールが存在する場合は、「IAM Identity Center を有効化してユーザーを追加する」セクションに進んでください。

次の手順を実行します。

  1. 新しいアプリケーションを作成します
  2. Amazon Cognito のプレフィックスドメインを https://cognitoexample.auth.region.amazoncognito.com という形式で作成するか、カスタムドメインを作成します。詳細については、「ユーザープールドメインを構成する」を参照してください。
  3. (オプション) マネージドログインページにブランディングを適用します

IAM Identity Center を有効化してユーザーを追加する

注: 稼働中の IAM Identity Center 環境が存在する場合は、「SAML アプリケーションを構成する」セクションに進んでください。

次の手順を実行します。

  1. IAM Identity Center の前提条件と考慮事項を確認してください。
  2. IAM Identity Center を有効にします
    注: インスタンスタイプには、AWS Organizations 管理アカウントで作成した IAM Identity Center の組織インスタンスを選択する必要があります。
  3. ID のソースを確認し、ユーザーを作成します。

SAML アプリケーションを構成する

次の手順を実行します。

  1. IAM Identity Center コンソールを開きます。
  2. ナビゲーションペインで [アプリケーション] を選択します。
  3. [アプリケーションの追加] を選択し、[セットアッププリファレンス][設定するアプリケーションがある] を選択します。
  4. [アプリケーションタイプ][SAML 2.0] を選択し、[次へ] を選択します。
  5. [アプリケーションの設定] ページで表示名と説明を入力します。
  6. IAM Identity Center の SAML メタデータファイルの URL を書き留めるか、[ダウンロード] ハイパーリンクを選択してファイルをダウンロードしてください。
  7. [アプリケーションメタデータ][メタデータ値を手動で入力] を選択します。次に、以下の値を入力します。
    [Application Assertion Consumer Service (ACS) URL]https://domain-prefix.auth.region.amazoncognito.com/saml2/idpresponse を入力します。
    [Application SAML のオーディエンス]urn:amazon:cognito:sp:userpool-id を入力します。
    注: 実際のものでそれぞれ、domain-prefix をドメインのプレフィックスに、region を AWS リージョンに、userpool-id をユーザープール ID に置き換えてください。
  8. [送信] を選択します。
  9. アプリケーションの [詳細] ページで [アクション] ドロップダウンリストを選択します。
  10. [属性マッピングの編集] を選択し、次の属性を入力します。
    [アプリケーションのユーザー属性] では、デフォルトのサブジェクトから変更しないでください。
    [IAM Identity Center のこの文字列またはユーザー属性にマッピング]${user:subject} を入力します。
    [形式]Persistent を入力します。
    [アプリケーションのユーザー属性]email と入力します。
    [IAM Identity Center のこの文字列またはユーザー属性にマッピング]${user:email} を入力します。
    [形式]Basic を入力します。
    注: IAM Identity Center は、サインイン時に属性マッピングを Amazon Cognito に送信します。ユーザープールの必須属性をすべてマッピングしたことを確認してください。使用可能なマッピング属性の詳細については、「サポートされている外部 ID プロバイダー属性」を参照してください。
  11. [送信] を選択します。
  12. [割り当てられたユーザーとグループ] セクションで [ユーザーとグループの割り当て] を選択します。
  13. 該当するユーザーを見つけ、[割り当て] を選択します。

IAM Identity Center をユーザープールの SAML IdP として設定する

ユーザープールで SAML IdP を設定する方法については、「ユーザープールで SAML ID プロバイダーを追加、管理する」を参照してください。SAML プロバイダーの属性マッピングを指定する際は、[SAML 属性] フィールドに有効な電子メールを入力してください。[ユーザープール属性]email を選択します。

プロバイダー名と識別子の詳細については、「SAML IDプロバイダー名と識別子」を参照してください。

ユーザープールのアプリクライアントを使用して ID プロバイダーを統合する

次の手順を実行します。

  1. Amazon Cognito コンソールを開きます。
  2. ナビゲーションペインで [ユーザープール] を選択します。
  3. [アプリケーション][アプリクライアント] を選択します。
  4. アプリクライアントを選択します。
  5. [ログインページ] セクションで [編集] を選択します。
  6. [ID プロバイダー] セクションで該当する IdP を選択します。
  7. [変更を保存] を選択します。

設定をテストする

サービスプロバイダー (SP) が開始したサインインをテストするには、次の手順を実行します。

  1. Amazon Cognito コンソールを開き、アプリクライアントの [ログインページ] タブで [ログインページを表示] を選択します。または、ログインエンドポイントの URL を作成します。次の命名パターン例を参考に、例示した値を実際の値に置き換えてください。
    https://my-user-pool.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=a1b2c3d4e5f6g7h8i9j0k1l2m3&redirect_uri=https://example.com
    [OAuth 2.0 付与タイプ][暗黙的付与] を選択します。次に、response_type をリクエスト URL のtoken に設定します。
  2. [ログインページ] タブで IAM Identity Center の IdP を選択します。
    ブラウザにより、アプリクライアントのコールバック URL にリダイレクトされる場合は、ユーザーとして正常にログインできています。ユーザープールトークンは、ウェブブラウザのアドレスバー内の URL に表示されます。
    注: このステップをスキップするには、次の命名パターンで Authorize エンドポイントの URL を作成してください。
    https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes
  3. ユーザー認証情報を入力し、[ログイン] を選択します。

Amazon Cognito により、コードまたはトークンを含むコールバック URL にリダイレクトされると、セットアップは完了します。

ID プロバイダー (IdP) が開始したサインインをテストするには、次の手順を実行します。

  1. Amazon Cognito コンソールを開きます。
  2. ナビゲーションペインで [ユーザープール] を選択し、該当するユーザープールを選択します。
  3. ナビゲーションペインで [ソーシャルプロバイダーと外部プロバイダー] を選択します。
  4. IdP を選択し、[ID プロバイダーの情報] セクションで [編集] を選択します。
  5. [IdP が開始した SAML サインイン] セクションで [SP および IdP が開始した SAML アサーションを受け入れる] を選択します。
    注: IdP が開始したサインインで SAML プロバイダーを受け入れるアプリクライアントには、他の SAML プロバイダーを追加できます。他のソーシャルプロバイダーや OpenID Connect (OIDC) プロバイダー、あるいは Cognito ユーザープールディレクトリをアプリクライアントから削除します。
  6. [変更を保存] を選択します。
  7. IAM Identity Center コンソールを開き、SAML 2.0 アプリケーションを選択します。
  8. [アクション] ドロップダウンを選択し、[設定の編集] を選択します。
  9. [アプリケーションのプロパティ] に次のリレー状態値を追加します。
    identity_provider=identity-provider-name&client_id=app-client-id&redirect_uri=callback-url&response_type=token&scope=openid+email
    注: 例内の値を実際の値に置き換えてください。
  10. [送信] を選択します。
  11. ナビゲーションペインで [設定] を選択します。
  12. [ID のソース] セクションから AWS アクセスポータルの URL をコピーし、ブラウザで開きます。
  13. ユーザー認証情報を入力し、[ログイン] を選択します。
  14. Cognito アプリケーションを選択します。

Amazon Cognito により、コードまたはトークンを含むコールバック URL にリダイレクトされた場合は、セットアップは完了しています。

関連情報

Amazon Cognito ユーザープールにおけるフェデレーションサインインの動作

ユーザープールの JSON ウェブトークン (JWT) について

コメントはありません

関連するコンテンツ