

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

# Amazon Verified Permissions Amazon Cognito ID ソースの作成
<a name="cognito-create"></a>

次の手順では、ID ソースを既存のポリシーストアに追加します。

Verified Permissions コンソールで[新しいポリシーストアを作成する](policy-stores-create.md)ときに、ID ソースを作成することもできます。このプロセスでは、ID ソーストークンのクレームをエンティティ属性に自動的にインポートできます。**ガイド付きセットアップ**を選択するか、 ** API Gateway と ID プロバイダーオプションを使用してセットアップ**します。これらのオプションでは、初期ポリシーも作成されます。

**注記**  
**ID ソース** は、ポリシーストアを作成するまでは左側のナビゲーションペインには表示されません。作成する ID ソースは、現在のポリシーストアに関連付けられます。

Verified Permissions API の [create-identity-source](https://docs.aws.amazon.com/cli/latest/reference/verifiedpermissions/create-identity-source.html) AWS CLI または [CreateIdentitySource](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html) を使用して ID ソースを作成するときに、プリンシパルエンティティタイプを除外できます。ただし、空のエンティティタイプは、エンティティタイプが の ID ソースを作成します`AWS::Cognito`。このエンティティ名は、ポリシーストアスキーマと互換性がありません。 Amazon Cognito ID をポリシーストアスキーマと統合するには、プリンシパルエンティティタイプをサポートされているポリシーストアエンティティに設定する必要があります。

------
#### [ AWS マネジメントコンソール ]

**Amazon Cognito ユーザープール ID ソースを作成するには**

1. [Verified Permissions コンソール](https://console.aws.amazon.com/verifiedpermissions/)を開きます。ポリシーストアを選択します。

1. 左側にあるナビゲーションペインで、**[ID ソース]** を選択します。

1. **[ID ソースを作成]**を選択します。

1. **Cognito ユーザープールの詳細**で、 を選択し、ID ソースの**ユーザープール ID** AWS リージョン を入力します。

1. **プリンシパル設定**の**プリンシパルタイプ**で、このソースからプリンシパルのエンティティタイプを選択します。接続された Amazon Cognito ユーザープールの ID は、選択したプリンシパルタイプにマッピングされます。

1. **グループ設定**で、ユーザープール`cognito:groups`クレームをマッピングする場合は **Cognito グループ**を使用するを選択します。プリンシパルタイプの親であるエンティティタイプを選択します。

1. **クライアントアプリケーションの検証**で、クライアントアプリケーション IDsを検証するかどうかを選択します。
   + クライアントアプリケーション ID を検証するには、「**クライアントアプリケーション ID が一致するトークンのみを受け入れる**」を選択します。検証するクライアントアプリケーション ID ごとに [**新しいクライアントアプリケーション ID を追加**] を選択します。追加したクライアントアプリケーション ID を削除するには、クライアントアプリケーション ID の横にある [**削除**] を選択します。
   + クライアントアプリケーション ID を検証したくない場合は、**[クライアントアプリケーション ID を検証しない]**を選択します。

1. **[ID ソースを作成]**を選択します。

1. (オプション) ポリシーストアにスキーマがある場合、Cedar ポリシーのアイデンティティトークンまたはアクセストークンから抽出した属性を参照する前に、スキーマを更新して、ID ソースが作成するプリンシパルのタイプを Cedar に認識させる必要があります。スキーマへの追加には、Cedar ポリシーで参照したい属性を含める必要があります。 Amazon Cognito トークン属性を Cedar プリンシパル属性にマッピングする方法の詳細については、「」を参照してください[Amazon Cognito トークンをスキーマにマッピングする](cognito-map-token-to-schema.md)。
**注記**  
[API リンクポリシーストア](policy-stores-api-userpool.md)を作成するか、ポリシーストアの作成時に ** API Gateway と ID プロバイダーのセットアップ**を使用するとき、Verified Permissions はユーザープールにユーザー属性をクエリし、プリンシパルタイプにユーザープール属性が入力されるスキーマを作成します。

1. トークンからの情報を使用して認可を決定するポリシーを作成します。詳細については、「[Amazon Verified Permissions 静的ポリシーの作成](policies-create.md)」を参照してください。

ID ソースの作成、スキーマの更新、ポリシーの作成が完了したら、 を使用して Verified Permissions `IsAuthorizedWithToken`に認可の決定を依頼します。詳細については、*Amazon Verified Permissions API リファレンスガイド*の[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)」を参照してください。

------
#### [ AWS CLI ]

**Amazon Cognito ユーザープール ID ソースを作成するには**  
[CreateIdentitySource](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html) オペレーションを使用して ID ソースを作成できます。次の の例では、 Amazon Cognito ユーザープールから認証された ID にアクセスできる ID ソースを作成します。

1. `create-identity-source` コマンドの `--configuration`パラメータで使用する Amazon Cognito ユーザープールの以下の詳細を含む`config.txt`ファイルを作成します。

   ```
   {
       "cognitoUserPoolConfiguration": {
           "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5",
           "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"],
           "groupConfiguration": {
                 "groupEntityType": "MyCorp::UserGroup"
           }
       }
   }
   ```

1. 次のコマンドを実行して ID Amazon Cognito ソースを作成します。

   ```
   $ aws verifiedpermissions create-identity-source \
       --configuration file://config.txt \
       --principal-entity-type "User" \
       --policy-store-id 123456789012
   {
       "createdDate": "2023-05-19T20:30:28.214829+00:00",
       "identitySourceId": "ISEXAMPLEabcdefg111111",
       "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00",
       "policyStoreId": "PSEXAMPLEabcdefg111111"
   }
   ```

1. (オプション) ポリシーストアにスキーマがある場合、Cedar ポリシーのアイデンティティトークンまたはアクセストークンから抽出した属性を参照する前に、スキーマを更新して、ID ソースが作成するプリンシパルのタイプを Cedar に認識させる必要があります。スキーマへの追加には、Cedar ポリシーで参照したい属性を含める必要があります。 Amazon Cognito トークン属性を Cedar プリンシパル属性にマッピングする方法の詳細については、「」を参照してください[Amazon Cognito トークンをスキーマにマッピングする](cognito-map-token-to-schema.md)。
**注記**  
[API リンクポリシーストア](policy-stores-api-userpool.md)を作成するか、ポリシーストアの作成時に ** API Gateway と ID プロバイダーでセットアップ**を使用するとき、Verified Permissions はユーザープールにユーザー属性をクエリし、プリンシパルタイプにユーザープール属性が入力されるスキーマを作成します。

1. トークンからの情報を使用して認可を決定するポリシーを作成します。詳細については、「[Amazon Verified Permissions 静的ポリシーの作成](policies-create.md)」を参照してください。

ID ソースの作成、スキーマの更新、ポリシーの作成が完了したら、 を使用して Verified Permissions `IsAuthorizedWithToken`に認可の決定を依頼します。詳細については、*「Amazon Verified Permissions API リファレンスガイド*」の「[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)」を参照してください。

------

Verified Permissions で認証されたユーザーに Amazon Cognito アクセストークンと ID トークンを使用する方法の詳細については、「Amazon *Amazon Cognitoデベロッパーガイド*」の「Amazon [Verified Permissions による認可](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-authorization-with-avp.html)」を参照してください。