ユーザープールにグループを追加する - Amazon Cognito

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

ユーザープールにグループを追加する

Amazon Cognito ユーザープール内のグループのサポートにより、ユーザーの作成と管理、グループへのユーザーの追加、およびグループからのユーザーの削除が可能になります。グループを使用して、ユーザーのコレクションを作成してそのアクセス権限を管理したり、異なるタイプのユーザーを表したりできます。 AWS Identity and Access Management (IAM) ロールをグループに割り当てて、グループのメンバーのアクセス許可を定義できます。

グループを使用して、ユーザープールでユーザーのコレクションを作成できます。この操作は、これらのユーザーのアクセス権限を設定するためによく行われます。例えば、ウェブサイトやアプリの読者、寄稿者、および編集者であるユーザーに対して別個のグループを作成できます。また、グループに関連付けられた IAM ロールを使用することで、これらの異なるグループに異なる許可を設定して、コントリビュータのみがコンテンツを Amazon S3 に配置し、エディタのみが Amazon API Gateway の API を通じてコンテンツをパブリッシュできるようにすることも可能です。

、APIs、および CLI から AWS Management Consoleユーザープール内のグループを作成および管理できます。開発者 ( AWS 認証情報を使用) として、ユーザープールのグループを作成、読み取り、更新、削除、および一覧表示できます。また、グループに対してユーザーを追加、削除できます。

ユーザープール内のグループを使用しても追加コストは発生しません。詳細については、「Amazon Cognito の料金」を参照してください。

グループへの IAM ロールの割り当て

グループを使用して、IAM ロールでリソースへの許可を制御できます。IAM ロールには、信頼ポリシーと許可ポリシーが含まれます。ロールの信頼ポリシーでは、ロールを使用できるユーザーを指定します。アクセス許可ポリシーでは、グループメンバーがアクセスできるアクションとリソースを指定します。IAM ロールを作成するときに、グループユーザーがロールを引き受けることを許可するロールの信頼ポリシーを設定します。ロールの許可ポリシーで、グループに付与する許可を指定します。

Amazon Cognito でグループを作成するときは、ロールの ARNを指定して IAM ロールを指定します。グループメンバーが Amazon Cognito を使用してサインインすると、ID プールから一時的な認証情報を受け取ることができます。それらの許可は、関連付けられた IAM ロールによって決まります。

各ユーザーは複数のグループに属することができます。デベロッパーとして、ユーザーが複数のグループに属している場合に IAM ロールを自動的に選択するための以下のオプションがあります。

  • 各グループに優先順位の値を割り当てることができます。優先順位が高い (低い) グループが選択され、それに関連付けられた IAM ロールが適用されます。

  • アプリは、 GetCredentialsForIdentityCustomRoleARNパラメータでロール ARN を指定することで、ID プールを通じてユーザーの認証情報をリクエスト AWS するときに、使用可能なロールから選択することもできます。指定された IAM ロールは、ユーザーが利用できるロールに一致する必要があります。

グループへの優先順位の値の割り当て

ユーザーは複数のグループに属することができます。ユーザーのアクセストークンと ID トークンの cognito:groups クレームには、ユーザーが属するすべてのグループのリストが含まれます。cognito:roles クレームには、グループに対応するロールのリストが含まれます。

ユーザーは複数のグループに属することができるので、各グループに優先順位を割り当てることができます。これは、ユーザーがユーザープールで属するその他のグループに対するこのグループの優先順字を指定する正数です。ゼロが最優先順位値です。低い優先順位の値を持つグループは、高い優先順位の値または null 値を持つグループよりも優先されます。ユーザーが複数のグループに属している場合、ユーザーの ID トークンの cognito:preferred_role クレームに適用される IAM ロールは、優先順位の値が最も低いグループのものになります。

2 つのグループは、同じ優先順位の値を持つことができます。その場合は、どちらのグループも他方に対して優先されません。同じ優先順位の値を持つ 2 つのグループのロール ARN が同じである場合、そのロールは、各グループのユーザーの ID トークンの cognito:preferred_role クレームで使用されます。2 つのグループのロール ARN が異なる場合、cognito:preferred_role クレームは、ユーザーの ID トークンで設定されません。

Amazon API Gateway を使用した許可の管理でのグループの使用

Amazon API Gateway を使用した許可の管理には、ユーザープールのグループを使用することができます。ユーザーがメンバーであるグループは、IDトークンと cognito:groups クレームのユーザープールからのアクセストークンの両方に含まれています。リクエストとともに ID またはアクセストークンを Amazon API Gateway に送信し、REST API に Amazon Cognito ユーザープールオーソライザーを使用できます。詳細については、API Gateway デベロッパーガイドの「Amazon Cognito ユーザープールをオーソライザーとして使用して REST API へのアクセスを制御する」を参照してください

カスタム JWT オーソライザーを使用して Amazon API Gateway HTTP API へのアクセスを承認することもできます。詳細については、API Gateway デベロッパーガイドの「JWT オーソライザーを使用した HTTP API へのアクセスの制御」を参照してください。

グループの制限

ユーザーグループには、次の制限が適用されます。

  • 作成できるグループの数は、Amazon Cognito サービスクォータ によって制限されます。

  • グループはネストできません。

  • グループのユーザーを検索することはできません。

  • グループを名前で検索することはできませんが、グループをリストすることはできます。

AWS Management Consoleでの新しいグループの作成

以下の手順に従って、新しいグループを作成します。

新しいグループを作成する
  1. Amazon Cognito コンソールに移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. [User Pools] (ユーザープール) を選択します。

  3. リストから存在するユーザープールを 1 つ選択します。

  4. [Group] (グループ) タブを選択してから、[Create a Groups] (グループの作成) を選択します。

  5. [Create a group] (グループを作成する) ページで、[Group name] (グループ名) に新しいグループのフレンドリ名を入力します。

  6. オプションで、次のフィールドのいずれかを使用して、このグループに関する追加情報を指定できます。

    • [Description] (説明) - この新しいグループの使用目的の詳細を入力します。

    • [Precedence] (優先順位) - Amazon Cognito は、優先度が低いグループに属するグループに基づいて、特定のユーザーに対するすべてのグループ権限を評価し、適用します。優先順位が低いグループが選択され、それに関連付けられた IAM ロールが適用されます。詳細については、「グループへの優先順位の値の割り当て」を参照してください。

    • [IAM role] (IAM ロール) -リソースへのアクセス許可を制御する必要がある場合は、グループに IAM ロールを割り当てることができます。ID プールを持つユーザープールを統合する場合、[IAM ロール] の設定によって、トークンからロールを選択するよう ID プールが設定されているときに、ユーザーの ID トークンに割り当てられるロールが決定されます。詳細については、「グループへの IAM ロールの割り当て」を参照してください。

    • [Add users to this group] (ユーザーをこのグループに追加する) - 既存のユーザーを作成した後、このグループのメンバーとして追加します。

  7. [Create] (作成) を選択して確定します。