翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Verified Permissions Amazon Cognito ID ソースの作成
次の手順では、ID ソースを既存のポリシーストアに追加します。
Verified Permissions コンソールで新しいポリシーストアを作成するときに ID ソースを作成することもできます。このプロセスでは、ID ソーストークンのクレームをエンティティ属性に自動的にインポートできます。ガイド付きセットアップを選択するか、API Gateway と ID プロバイダーオプションを使用してセットアップします。これらのオプションでは、初期ポリシーも作成されます。
ID ソース は、ポリシーストアを作成するまでは左側のナビゲーションペインには表示されません。作成する ID ソースは、現在のポリシーストアに関連付けられます。
Verified Permissions API の create-identity-source AWS CLI または CreateIdentitySource を使用して ID ソースを作成するときに、プリンシパルエンティティタイプを除外できます。ただし、空のエンティティタイプは、エンティティタイプが の ID ソースを作成しますAWS::Cognito
。このエンティティ名は、ポリシーストアスキーマと互換性がありません。Amazon Cognito ID をポリシーストアスキーマと統合するには、プリンシパルエンティティタイプをサポートされているポリシーストアエンティティに設定する必要があります。
- AWS Management Console
-
Amazon Cognito ユーザープール ID ソースを作成するには
Verified Permissions コンソールを開きます。ポリシーストアを選択します。
-
左側にあるナビゲーションペインで、[ID ソース] を選択します。
-
[ID ソースを作成]を選択します。
-
Cognito ユーザープールの詳細で、 を選択し、ID ソースのユーザープール ID AWS リージョン を入力します。
-
プリンシパル設定のプリンシパルタイプで、このソースからプリンシパルのエンティティタイプを選択します。接続された Amazon Cognito ユーザープールの ID は、選択したプリンシパルタイプにマッピングされます。
-
グループ設定で、ユーザープールcognito:groups
クレームをマッピングする場合は Cognito グループを使用するを選択します。プリンシパルタイプの親であるエンティティタイプを選択します。
-
クライアントアプリケーションの検証で、クライアントアプリケーション IDsを検証するかどうかを選択します。
-
クライアントアプリケーション ID を検証するには、「クライアントアプリケーション ID が一致するトークンのみを受け入れる」を選択します。検証するクライアントアプリケーション ID ごとに [新しいクライアントアプリケーション ID を追加] を選択します。追加したクライアントアプリケーション ID を削除するには、クライアントアプリケーション ID の横にある [削除] を選択します。
-
クライアントアプリケーション ID を検証したくない場合は、[クライアントアプリケーション ID を検証しない]を選択します。
-
[ID ソースを作成]を選択します。
(オプション) ポリシーストアにスキーマがある場合、Cedar ポリシーの ID トークンまたはアクセストークンから抽出した属性を参照する前に、スキーマを更新して、Cedar が ID ソースが作成するプリンシパルのタイプを認識できるようにする必要があります。スキーマへの追加には、Cedar ポリシーで参照したい属性を含める必要があります。Amazon Cognito トークンの属性を Cedar のプリンシパル属性にマッピングする方法の詳細については、Amazon Cognito トークンをスキーマにマッピングするを参照してください。
API リンクポリシーストアを作成するか、ポリシーストアの作成時に API Gateway と ID プロバイダーでセットアップを使用するとき、Verified Permissions はユーザープールにユーザー属性をクエリし、プリンシパルタイプにユーザープール属性が入力されるスキーマを作成します。
トークンからの情報を使用して認可を決定するポリシーを作成します。詳細については、「Amazon Verified Permissions 静的ポリシーの作成」を参照してください。
ID ソースの作成、スキーマの更新、ポリシーの作成が完了したら、 を使用して Verified Permissions IsAuthorizedWithToken
に認可の決定をさせます。詳細については、Amazon Verified Permissions API リファレンスガイドのIsAuthorizedWithToken」を参照してください。
- AWS CLI
-
Amazon Cognito ユーザープール ID ソースを作成するには
CreateIdentitySource オペレーションを使用して ID ソースを作成できます。次の例では、Amazon Cognito ユーザープールから認証された ID にアクセスできる ID ソースを作成します。
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"
}
}
}
次のコマンドを実行して、Amazon Cognito ID ソースを作成します。
$
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"
}
(オプション) ポリシーストアにスキーマがある場合、Cedar ポリシーの ID トークンまたはアクセストークンから抽出した属性を参照する前に、スキーマを更新して、Cedar が ID ソースが作成するプリンシパルのタイプを認識できるようにする必要があります。スキーマへの追加には、Cedar ポリシーで参照したい属性を含める必要があります。Amazon Cognito トークンの属性を Cedar のプリンシパル属性にマッピングする方法の詳細については、Amazon Cognito トークンをスキーマにマッピングするを参照してください。
API リンクポリシーストアを作成するか、ポリシーストアの作成時に API Gateway と ID プロバイダーでセットアップを使用するとき、Verified Permissions はユーザープールにユーザー属性をクエリし、プリンシパルタイプにユーザープール属性が入力されるスキーマを作成します。
トークンからの情報を使用して認可を決定するポリシーを作成します。詳細については、「Amazon Verified Permissions 静的ポリシーの作成」を参照してください。
ID ソースの作成、スキーマの更新、ポリシーの作成が完了したら、 を使用して Verified Permissions IsAuthorizedWithToken
に認可の決定をさせます。詳細については、「Amazon Verified Permissions API リファレンスガイド」のIsAuthorizedWithToken」を参照してください。
Verified Permissions で認証されたユーザーに Amazon Cognito アクセストークンと ID トークンを使用する方法の詳細については、「Amazon Amazon Cognitoデベロッパーガイド」の「Amazon Verified Permissions による認可」を参照してください。