ID プール (フェデレーティッド ID) の使用 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ID プール (フェデレーティッド ID) の使用

Amazon Cognito ID プールは、ゲストユーザー (未認証) と、認証されてトークンを受け取ったユーザーに一時的な AWS 認証情報を提供します。ID プールはアカウントに固有のユーザー ID データのストアです。

コンソールで新しい ID プールを作成する
  1. Amazon Cognito コンソールにサインインし、アイデンティティプールを選択します。

  2. [ID プールを作成] を選択します。

  3. [ID プールの信頼を設定] で、アイデンティティプールを認証アクセスゲストアクセス、またはその両方に設定することを選択します。

    1. [認証アクセス] を選択した場合、アイデンティティプールの認証済み ID のソースとして設定する ID タイプを 1 つ以上選択します。[カスタムデベロッパープロバイダー] を設定した場合、アイデンティティプールの作成後にそのプロバイダーを変更したり削除したりすることはできません。

  4. [許可を設定] で、アイデンティティプール内の認証済みユーザーまたはゲストユーザーのデフォルトの IAM ロールを選択します。

    1. Amazon Cognito に、基本的な権限とアイデンティティプールとの信頼関係を持つ新しいロールを作成する場合は、[新しい IAM ロールを作成] を選択します。新しいロールを識別するための IAM ロール名を入力します (たとえば myidentitypool_authenticatedrole)。[ポリシードキュメントを表示] を選択して、Amazon Cognito が新しい IAM ロールに割り当てるアクセス権限を確認します。

    2. 使用する にロールが既にある場合は、既存の IAM ロール AWS アカウント の使用を選択できます。cognito-identity.amazonaws.com を含めるように IAM ロールの信頼ポリシーを設定する必要があります。リクエストが特定のアイデンティティプール内の認証されたユーザーから送信されたという証拠を提示した場合にのみ、Amazon Cognito がロールを引き継ぐことを許可するようにロールの信頼ポリシーを設定します。詳細については、「ロールの信頼とアクセス権限」を参照してください。

  5. Connect ID プロバイダー で、「ID プールの信頼を設定する」で選択した ID プロバイダー (IdPs) の詳細を入力します。OAuth アプリケーションクライアント情報の提供、Amazon Cognito ユーザープールの選択、IAM IdP の選択、またはディベロッパープロバイダーのカスタム識別子の入力を求められる場合があります。

    1. 各 IdP の [ロール設定] を選択します。その IdP のユーザーに、認証済みロールを設定したときに設定したデフォルトロールを割り当てることも、ルール付きのロールを選択することもできます。Amazon Cognito ユーザープール IdP では、トークンに preferred_role を含むロールを選択することもできます。cognito:preferred_role クレームの詳細については、「グループへの優先順位の値の割り当て」を参照してください。

      1. [ルールを使用してロールを選択する] を選択した場合、ユーザー認証からのソースクレーム、クレームを比較するオペレータ、このロール選択と一致するおよびロール割り当てが一致したときに割り当てるロールを入力します。別の条件に基づいて追加のルールを作成するには、[別のものを追加] を選択します。

      2. [ロールの解決] を選択します。ユーザーのクレームがルールに合わない場合は、認証情報を拒否するか、認証済みロールの認証情報を発行できます。

    2. アクセスコントロールの属性は、IdP ごとに個別に設定できます。アクセスコントロールの属性は、Amazon Cognito がユーザーの一時セッションに適用するプリンシパルタグにユーザーのクレームをマッピングします。セッションに適用するタグに基づいてユーザーアクセスをフィルタリングするIAMポリシーを作成できます。

      1. プリンシパルタグを適用しない場合は、[非アクティブ] を選択します。

      2. sub および aud クレームに基づいてプリンシパルタグを適用するには、[デフォルトマッピングを使用] を選択します。

      3. プリンシパルタグへの属性の独自のカスタムスキーマを作成するには、[カスタムマッピングを使用] を選択します。次に、タグに表示したい各クレームから取得するタグキーを入力します。

  6. [プロパティの設定] の [ID プール名] に [名前] を入力します。

  7. [基本 (クラシック) 認証] で、ベーシックフローを有効にするかどうかを選択します。基本的なフローをアクティブにすると、 に対して行ったロールの選択をバイパス IdPs して、 AssumeRoleWithWebIdentity を直接呼び出すことができます。詳細については、「ID プール (フェデレーティッドアイデンティティ) の認証フロー」を参照してください。

  8. アイデンティティプールにタグを適用する場合は、[タグ] で [タグの追加] を選択します。

  9. [確認および作成] で、新しいアイデンティティプールに対して行った選択を確認します。[編集] を選択してウィザードに戻り、設定を変更します。終了したら、[ID プールの作成] を選択します。

ユーザー IAM ロール

IAM ロールは、ユーザーが などの AWS リソースにアクセスするためのアクセス許可を定義しますAmazon Cognito Sync。アプリケーションのユーザーは、作成されたロールを引き受けます。認証されたユーザーと認証されていないユーザー用に、異なるロールを指定できます。IAM ロールの詳細については、「IAM ロール」を参照してください。

認証された ID と認証されていない ID

Amazon Cognito ID プールは、認証された ID と認証されていない ID の両方をサポートします。認証された ID は任意のサポートされている認証プロバイダーで認証されたユーザーに属します。通常、認証されていない ID はゲストユーザーに属します。

ゲストアクセスをアクティブ化/非アクティブ化する

Amazon Cognito ID プールのゲストアクセス (認証されていない ID) は、ID プロバイダーで認証しないユーザーに一意の識別子と AWS 認証情報を提供します。アプリケーションで、ログインしないユーザーを許可している場合、認証されていない ID 用にアクセスを許可できます。詳細については、「Amazon Cognito ID プール (フェデレーティッド ID) の使用開始方法」を参照してください。

アイデンティティプールのゲストアクセスを更新するには
  1. Amazon Cognito コンソール[ID プールの管理] をクリックします。アイデンティティプールを選択します。

  2. [ユーザーアクセス] タブを選択します。

  3. ゲストアクセスを検索します。現在ゲストアクセスをサポートしていないアイデンティティプールでは、ステータス非アクティブです。

    1. ゲストアクセスアクティブで、非アクティブ化したい場合は、[非アクティブ化] を選択します。

    2. ゲストアクセス非アクティブで、アクティブにしたい場合は、[編集] を選択します。

      1. アイデンティティプールのゲストユーザーのデフォルトの IAM ロールを選択します。

        1. Amazon Cognito に、基本的な権限とアイデンティティプールとの信頼関係を持つ新しいロールを作成する場合は、[新しい IAM ロールを作成] を選択します。新しいロールを識別するための IAM ロール名を入力します (たとえば myidentitypool_authenticatedrole)。[ポリシードキュメントを表示] を選択して、Amazon Cognito が新しい IAM ロールに割り当てるアクセス権限を確認します。

        2. 使用する にロールが既にある場合は、既存の IAM ロール AWS アカウント の使用を選択できます。cognito-identity.amazonaws.com を含めるように IAM ロールの信頼ポリシーを設定する必要があります。リクエストが特定のアイデンティティプール内の認証されたユーザーから送信されたという証拠を提示した場合にのみ、Amazon Cognito がロールを引き継ぐことを許可するようにロールの信頼ポリシーを設定します。詳細については、「ロールの信頼とアクセス権限」を参照してください。

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

        4. ゲストアクセスを有効にするには、[ユーザーアクセス] タブで [アクティブ化] を選択します。

ID の種類に関連付けられたロールを変更する

ID プールのすべての ID は、認証されているか、認証されていないかのいずれかです。認証された ID は、パブリックログインプロバイダー (Amazon Cognito ユーザープール、Login with Amazon、「Apple でサインイン」、Facebook、Google、SAML、または任意の OpenID Connect プロバイダー)、またはデベロッパープロバイダー (独自のバックエンド認証プロセス) によって認証されたユーザーに属します。通常、認証されていない ID はゲストユーザーに属します。

各 ID の種類について、割り当てられたロールがあります。このロールには、 AWS のサービス そのロールがアクセスできる を決定するポリシーがアタッチされています。リクエストを受け取った Amazon Cognito は、ID タイプとその ID タイプに割り当てられたロールを判別し、そのロールにアタッチされたポリシーを使用して応答を返します。ポリシーを変更するか、ID タイプに別のロールを割り当てることで、ID タイプがアクセスできる AWS のサービス を制御できます。ID プールのロールに関連付けられたポリシーの表示または変更については、「AWS IAM コンソール」を参照してください。

アイデンティティプールのデフォルトの認証済みロールまたは非認証ロールを変更するには
  1. Amazon Cognito コンソール[ID プールの管理] をクリックします。アイデンティティプールを選択します。

  2. [ユーザーアクセス] タブを選択します。

  3. [ゲストアクセス] または [認証されたアクセス] を見つけます。現在そのアクセスタイプに設定されていないアイデンティティプールでは、ステータス非アクティブです。[Edit] (編集) を選択します。

  4. アイデンティティプールのゲストまたは認証されたユーザーのデフォルトの IAM ロールを選択します。

    1. Amazon Cognito に、基本的な権限とアイデンティティプールとの信頼関係を持つ新しいロールを作成する場合は、[新しい IAM ロールを作成] を選択します。新しいロールを識別するための IAM ロール名を入力します (たとえば myidentitypool_authenticatedrole)。[ポリシードキュメントを表示] を選択して、Amazon Cognito が新しい IAM ロールに割り当てるアクセス権限を確認します。

    2. 使用する にロールが既にある場合は、既存の IAM ロール AWS アカウント の使用を選択できます。cognito-identity.amazonaws.com を含めるように IAM ロールの信頼ポリシーを設定する必要があります。リクエストが特定のアイデンティティプール内の認証されたユーザーから送信されたという証拠を提示した場合にのみ、Amazon Cognito がロールを引き継ぐことを許可するようにロールの信頼ポリシーを設定します。詳細については、「ロールの信頼とアクセス権限」を参照してください。

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

ID プロバイダーを編集する

コンシューマー ID プロバイダー (Amazon Cognito ユーザープール、Login with Amazon、Apple でサインイン、Facebook、Google など) を使用した認証をユーザーに許可している場合は、Amazon Cognito ID プール (フェデレーテッドアイデンティティ) のコンソールでアプリケーション識別子を指定できます。これにより、アプリケーション ID (パブリックログインプロバイダーによって提供) が ID プールに関連付けられます。

このページからプロバイダーごとの認証ルールを設定することもできます。プロバイダーごとに、最大 25 個のルールを割り当てることができます。ルールは、プロバイダーごとに保存した順序で適用されます。詳細については、「ロールベースアクセスコントロールの使用」を参照してください。

警告

アイデンティティプールでリンクされた IdP アプリケーション ID を変更すると、そのアイデンティティプールによる既存ユーザーの認証ができなくなります。詳細については、「ID プール外部 ID プロバイダー」を参照してください。

アイデンティティプール ID プロバイダー (IdP) を更新するには
  1. Amazon Cognito コンソール[ID プールの管理] をクリックします。アイデンティティプールを選択します。

  2. [ユーザーアクセス] タブを選択します。

  3. ID プロバイダーを見つけます。編集する ID プロバイダーを選択します。新しい IdP を追加する場合は、[ID プロバイダーを追加] を選択します。

    1. [ID プロバイダーを追加] を選択した場合は、追加する ID タイプのいずれかを選択します。

  4. アプリケーション ID を変更するには、[アイデンティティプロバイダーに関する情報] で [編集] を選択します。

  5. Amazon Cognito がこのプロバイダーで認証されたユーザーに認証情報を発行するときにリクエストするロールを変更するには、[ロール設定] で [編集] を選択します。

    1. その IdP のユーザーに、認証済みロールを設定したときに設定したデフォルトロールを割り当てることも、ルール付きのロールを選択することもできます。Amazon Cognito ユーザープール IdP では、トークンに preferred_role を含むロールを選択することもできます。cognito:preferred_role クレームの詳細については、「グループへの優先順位の値の割り当て」を参照してください。

      1. [ルールを使用してロールを選択する] を選択した場合、ユーザー認証からのソースクレーム、クレームを比較するオペレータ、このロール選択と一致するおよびロール割り当てが一致したときに割り当てるロールを入力します。別の条件に基づいて追加のルールを作成するには、[別のものを追加] を選択します。

      2. [ロールの解決] を選択します。ユーザーのクレームがルールに合わない場合は、認証情報を拒否するか、認証済みロールの認証情報を発行できます。

  6. Amazon Cognito がこのプロバイダーで認証されたユーザーに認証情報を発行するときに割り当てるプリンシパルタグを変更するには、[アクセスコントロールの属性] で [編集] を選択します。

    1. プリンシパルタグを適用しない場合は、[非アクティブ] を選択します。

    2. sub および aud クレームに基づいてプリンシパルタグを適用するには、[デフォルトマッピングを使用] を選択します。

    3. プリンシパルタグへの属性の独自のカスタムスキーマを作成するには、[カスタムマッピングを使用] を選択します。次に、タグに表示したい各クレームから取得するタグキーを入力します。

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

アイデンティティプールを削除する

アイデンティティプールの削除は元に戻すことができません。アイデンティティプールを削除すると、そのプールに依存するすべてのアプリとユーザーは機能しなくなります。

ID プールを削除するには
  1. Amazon Cognito コンソール[ID プールの管理] をクリックします。削除するアイデンティティプールの横にあるラジオボタンをオンにします。

  2. [削除] を選択します。

  3. アイデンティティプールの名前を入力または貼り付けて、[削除] を選択します。

警告

[Delete] (削除) ボタンをクリックすると、ID プールと、それに含まれているすべてのユーザーデータが完全に削除されます。アイデンティティプールを削除すると、そのアイデンティティプールを使用しているアプリケーションや他のサービスは動作を停止します。

ID プールから ID を削除する

アイデンティティプールから ID を削除すると、Amazon Cognito がそのフェデレーティッドユーザーについて保存した識別情報が削除されます。ユーザーが再度認証情報をリクエストすると、アイデンティティプールが依然として ID プロバイダーを信頼していれば、そのユーザーは新しい ID を受け取ります。このオペレーションは元に戻すことができません。

ID を削除するには
  1. Amazon Cognito コンソール[ID プールの管理] をクリックします。アイデンティティプールを選択します。

  2. [ID ブラウザー] タブを選択します。

  3. 削除する ID プロバイダーの横にあるチェックボックスを選択してから、[削除] を選択します。ID を削除することを確認し、[削除] を選択します。