ID プールコンソールの概要 - Amazon Cognito

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

ID プールコンソールの概要

Amazon Cognito ID プールは、ゲスト (認証されていない) であるユーザーと、認証されてトークンを受け取ったユーザーに一時的な AWS 認証情報を提供します。ID プールは、外部 ID プロバイダーにリンクされたユーザー識別子のストアです。

ID プールの特徴とオプションを理解する方法の 1 つは、Amazon Cognito コンソールで作成することです。認証フロー、ロールベースおよび属性ベースのアクセスコントロール、ゲストアクセスに対するさまざまな設定の影響を調べることができます。そこから、このガイドの後半の章に進み、適切なコンポーネントをアプリケーションに追加して、アイデンティティプール認証を実装できます。

ID プールの作成

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

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

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

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

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

    1. Amazon Cognito が基本的なアクセス許可と ID プールとの信頼関係を持つ新しいIAMロールを作成する場合は、新しいロールを作成するを選択します。新しいIAMロールを識別するロール名を入力します。例: myidentitypool_authenticatedroleポリシードキュメントの表示を選択して、Amazon Cognito が新しいIAMロールに割り当てるアクセス許可を確認します。

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

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

    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 プールの開始方法」を参照してください。

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

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

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

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

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

      1. ID プール内のゲストユーザーのデフォルトIAMロールを選択します。

        1. Amazon Cognito が基本的なアクセス許可と ID プールとの信頼関係を持つ新しいIAMロールを作成する場合は、新しいロールの作成を選択します。新しいIAMロールを識別するロール名を入力します。例: myidentitypool_authenticatedroleポリシードキュメントの表示を選択して、Amazon Cognito が新しいIAMロールに割り当てるアクセス許可を確認します。

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

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

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

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

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

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

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

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

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

  4. ID プール内のゲストまたは認証済みユーザーのデフォルトのIAMロールを選択します。

    1. Amazon Cognito が基本的なアクセス許可と ID プールとの信頼関係を持つ新しいIAMロールを作成する場合は、新しいロールの作成を選択します。などのIAMロール名を入力して、新しいロールを識別しますmyidentitypool_authenticatedroleポリシードキュメントの表示を選択して、Amazon Cognito が新しいIAMロールに割り当てるアクセス許可を確認します。

    2. 使用する IAM にロールがすでにある場合は、既存のロール AWS アカウント を使用するように選択できます。IAM ロール信頼ポリシーを を含めるように設定する必要がありますcognito-identity.amazonaws.com。リクエストが特定のアイデンティティプール内の認証されたユーザーから送信されたという証拠を提示した場合にのみ、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 を削除することを確認し、[削除] を選択します。

Amazon Cognito Sync を ID プールで使用する

Amazon Cognito Sync は、デバイス間でアプリケーション関連のユーザーデータを同期できるようにする AWS のサービス および クライアントライブラリです。Amazon Cognito Sync は、独自のバックエンドを使用せずに、モバイルデバイスとウェブ間でユーザープロファイルデータを同期できます。クライアントライブラリはローカルにデータをキャッシュするため、アプリはデバイスの接続状態にかかわらず、データを読み書きすることができます。デバイスがオンラインになると、データを同期できます。プッシュ同期を設定すると、更新が利用できることが他のデバイスにすぐに通知されます。

データセットの管理

アプリケーションに Amazon Cognito Sync 機能を実装している場合、Amazon Cognito ID プールコンソールで、個々のアイデンティティ用のデータセットとレコードを手動で作成したり、削除したりできます。Amazon Cognito ID プールコンソールで、アイデンティティ用のデータセットまたはレコードに対して行った変更は、コンソールの [Synchronize] (同期) をクリックするまで保存されません。この変更は、Synchronize が呼び出され、ID が同期されるでは、エンドユーザーに表示されません。特定のアイデンティティのデータセット一覧ページを更新すると、個別のアイデンティティについて他のデバイスから同期されたデータが表示されます。

アイデンティティのデータセットを作成する

Amazon Cognito Sync は、データセットを 1 つの ID に関連付けます。ID が表すユーザーに関する識別情報をデータセットに入力し、その情報をユーザーのすべてのデバイスに同期できます。

データセットとデータセットレコードを ID に追加するには
  1. Amazon Cognito コンソール[ID プールの管理] をクリックします。アイデンティティプールを選択します。

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

  3. 編集する ID を選択します。

  4. [データセット] で、[データセットの作成] を選択します。

  5. データセット名を入力し、[データセットの作成] を選択します。

  6. データセットにレコードを追加する場合は、ID の詳細からデータセットを選択します。[レコード] で、[レコードの作成] を選択します。

  7. レコードの [キー] と [値] を入力します。[確認] を選択します。同じ手順を繰り返して、さらにレコードを追加します。

ID に関連付けられたデータセットを削除する

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

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

  3. 削除するデータセットを含む ID を選択します。

  4. [データセット] で、削除するデータセットの横にあるラジオボタンを選択します。

  5. [削除] を選択します。選択内容を確認して、もう一度 [削除] を選択します。

データの一括発行

一括発行を使用すると、既に Amazon Cognito Sync ストアに保存されているデータを、Amazon Kinesis ストリームにエクスポートできます。すべてのストリームを一括発行する手順については、「Amazon Cognito Sync ストリームの実装」を参照してください。

プッシュ同期を有効にする

Amazon Cognito は自動的にアイデンティティとデバイス間の関係を追跡します。プッシュ同期機能を使用すると、ID データが変更されたときに、特定の ID のすべてのインスタンスに確実に通知されます。プッシュ同期は、ID のデータセットが変更されるたびに、その ID に関連付けられているすべてのデバイスが、この変更を伝えるサイレントプッシュ通知を受け取ることを確実にします。

プッシュ同期は Amazon Cognito コンソールでアクティブ化できます。

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

  2. [ユーザープールのプロパティ] タブを選択します。

  3. [プッシュ同期] で [編集] を選択します

  4. [ID プールとのプッシュ同期を有効にする] を選択します。

  5. 現在の で作成した Amazon Simple Notification Service (Amazon SNS) プラットフォームアプリケーションのいずれかを選択します AWS リージョン。Amazon Cognito はプッシュ通知をプラットフォームアプリケーションに公開します。プラットフォームアプリケーションの作成を選択して Amazon SNSコンソールに移動し、新しいコンソールを作成します。

  6. プラットフォームアプリケーションに発行するには、Amazon Cognito が でIAMロールを引き受けます AWS アカウント。Amazon Cognito が基本的なアクセス許可と ID プールとの信頼関係を持つ新しいIAMロールを作成する場合は、新しいロールの作成を選択します。新しいIAMロールを識別するロール名を入力します。例: myidentitypool_authenticatedroleポリシードキュメントの表示を選択して、Amazon Cognito が新しいIAMロールに割り当てるアクセス許可を確認します。

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

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

Amazon Cognito Streams をセットアップする

Amazon Cognito Streams は、Amazon Cognito Sync に保存されているデータに対する制御と洞察をデベロッパーに提供します。これで、デベロッパーはイベントをデータとして受け取るために Kinesis ストリームを設定できるようになります。Amazon Cognito は、所有する Kinesis ストリームに各データセットの変更をリアルタイムでプッシュできます。Amazon Cognito コンソールで Amazon Cognito Streams をセットアップする方法の手順については、「Amazon Cognito Sync ストリームの実装」を参照してください。

Amazon Cognito Events をセットアップする

Amazon Cognito Events を使用すると、Amazon Cognito Sync の重要なイベントに応答して AWS Lambda 関数を実行できます。Amazon Cognito Sync は、データセットが同期されるときに Sync Trigger イベントを生成します。Sync Trigger イベントを使用して、ユーザーがデータを更新するときにアクションを実行できます。コンソールから Amazon Cognito Events をセットアップする手順については、「Amazon Cognito Events によるワークフローのカスタマイズ」を参照してください。

の詳細については AWS Lambda、「」を参照してくださいAWS Lambda