

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

# ユーザープールにグループを追加する
<a name="cognito-user-pools-user-groups"></a>

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

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

Amazon Cognito は、ユーザープールに追加する OIDC、SAMl、ソーシャル [ID プロバイダー](cognito-user-pools-identity-federation.md#cognito-user-pools-identity-federation-how-it-works) (IdP) ごとにユーザーグループを作成します。グループ名の形式は `[user pool ID]_[IdP name]` です (例: `us-east-1_EXAMPLE_MYSSO`、`us-east-1_EXAMPLE_Google`)。自動生成された一意の各 IdP ユーザープロファイルは、このグループに自動的に追加されます。[リンクされたユーザー](cognito-user-pools-identity-federation-consolidate-users.md)は、このグループに自動的に追加されませんが、そのプロファイルを別のプロセスでグループに追加できます。

ユーザープールでグループを作成および管理するには AWS マネジメントコンソール、、 APIs、および CLI を使用します。開発者 ( AWS 認証情報を使用) は、ユーザープールのグループを作成、読み取り、更新、削除、一覧表示できます。また、グループに対してユーザーを追加、削除できます。

ユーザープール内のグループを使用しても追加コストは発生しません。詳細については、「[Amazon Cognito の料金](https://aws.amazon.com/cognito/pricing/)」を参照してください。

## グループへの IAM ロールの割り当て
<a name="assigning-iam-roles-to-groups"></a>

グループを使用して、IAM ロールでリソースへの許可を制御できます。IAM ロールには、信頼ポリシーと許可ポリシーが含まれます。ロールの[信頼](https://docs.aws.amazon.com/cognito/latest/developerguide/role-trust-and-permissions.html)ポリシーでは、ロールを使用できるユーザーを指定します。[アクセス許可](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies)ポリシーでは、グループメンバーがアクセスできるアクションとリソースを指定します。IAM ロールを作成するときに、グループユーザーがロールを引き受けることを許可するロールの信頼ポリシーを設定します。ロールの許可ポリシーで、グループに付与する許可を指定します。

Amazon Cognito でグループを作成するときは、ロールの [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)を指定して IAM ロールを指定します。グループメンバーが Amazon Cognito を使用してサインインすると、ID プールから一時的な認証情報を受け取ることができます。それらの許可は、関連付けられた IAM ロールによって決まります。

各ユーザーは複数のグループに属することができます。デベロッパーとして、ユーザーが複数のグループに属している場合に IAM ロールを自動的に選択するための以下のオプションがあります。
+ 各グループに優先順位の値を割り当てることができます。優先順位が高い (低い) グループが選択され、それに関連付けられた IAM ロールが適用されます。
+ また、アプリは、ID プールを通じてユーザーの AWS 認証情報をリクエストするときに、[GetCredentialsForIdentity](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html) `CustomRoleARN` パラメータでロール ARN を指定して、利用できるロールから選択できます。指定された IAM ロールは、ユーザーが利用できるロールに一致する必要があります。

## グループへの優先順位の値の割り当て
<a name="assigning-precedence-values-to-groups"></a>

ユーザーは複数のグループに属することができます。ユーザーのアクセストークンと 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 を使用した許可の管理でのグループの使用
<a name="using-groups-to-control-permission-with-amazon-api-gateway"></a>

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

カスタム JWT オーソライザーを使用して Amazon API Gateway HTTP API へのアクセスを承認することもできます。詳細については、[API Gateway デベロッパーガイド](https://docs.aws.amazon.com/apigateway/latest/developerguide/)の「[JWT オーソライザーを使用した HTTP API へのアクセスの制御](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html)」を参照してください。

## グループの制限
<a name="user-pool-user-groups-limitations"></a>

ユーザーグループには、次の制限が適用されます。
+ 作成できるグループの数は、[Amazon Cognito サービスクォータ](quotas.md)によって制限されます。
+ グループはネストできません。
+ グループのユーザーを検索することはできません。
+ グループを名前で検索することはできませんが、グループをリストすることはできます。

## で新しいグループを作成する AWS マネジメントコンソール
<a name="creating-a-new-group-using-the-console"></a>

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

**新しいグループを作成する**

1. [Amazon Cognito コンソール](https://console.aws.amazon.com/cognito/home)に移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

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

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

1. **[グループ]** メニュー、**[グループを作成]** の順に選択します。

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

1. オプションで、次のフィールドのいずれかを使用して、このグループに関する追加情報を指定できます。
   + **[Description]** (説明) - この新しいグループの使用目的の詳細を入力します。
   + **[Precedence]** (優先順位) - Amazon Cognito は、優先度が低いグループに属するグループに基づいて、特定のユーザーに対するすべてのグループ権限を評価し、適用します。優先順位が低いグループが選択され、それに関連付けられた IAM ロールが適用されます。詳細については、「[グループへの優先順位の値の割り当て](#assigning-precedence-values-to-groups)」を参照してください。
   + **[IAM role]** (IAM ロール) -リソースへのアクセス許可を制御する必要がある場合は、グループに IAM ロールを割り当てることができます。ID プールを持つユーザープールを統合する場合、[**IAM ロール**] の設定によって、トークンからロールを選択するよう ID プールが設定されているときに、ユーザーの ID トークンに割り当てられるロールが決定されます。詳細については、「[グループへの IAM ロールの割り当て](#assigning-iam-roles-to-groups)」を参照してください。
   + **[Add users to this group]** (ユーザーをこのグループに追加する) - 既存のユーザーを作成した後、このグループのメンバーとして追加します。

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