Verified Permissions サンプルポリシーストア用のテンプレートリンクポリシーの例 - Amazon Verified Permissions

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

Verified Permissions サンプルポリシーストア用のテンプレートリンクポリシーの例

サンプルポリシーストア方法を使用して Verified Permissions でポリシーストアを作成すると、選択したサンプルプロジェクトの事前定義ポリシー、ポリシーテンプレート、およびスキーマを使用してポリシーストアが作成されます。以下の Verified Permissions テンプレートにリンクされたポリシー例は、サンプルポリシーストアとそれぞれのポリシー、ポリシーテンプレート、およびスキーマで使用できます。

PhotoFlash テンプレートにリンクされたポリシーの例

この例では、ポリシーテンプレートを使用するテンプレートにリンクされたポリシーを作成する方法を示します。このポリシーでは、個々のユーザーと写真とのプライベート以外の共有写真へのアクセスを制限します。

注記

Cedar のポリシー言語では、エンティティをin自体とみなします。したがって、principal in User::"Alice"principal == User::"Alice"と同等です。

permit ( principal in PhotoFlash::User::"Alice", action in PhotoFlash::Action::"SharePhotoLimitedAccess", resource in PhotoFlash::Photo::"VacationPhoto94.jpg" );

この例では、ポリシーテンプレートを使用するテンプレートにリンクされたポリシーを作成する方法を示します。個々のユーザーとアルバムとのプライベート共有以外の写真への制限付きアクセスを許可します

permit ( principal in PhotoFlash::User::"Alice", action in PhotoFlash::Action::"SharePhotoLimitedAccess", resource in PhotoFlash::Album::"Italy2023" );

この例は、ポリシーテンプレートを使用して、友達グループと個々の写真との非公開の共有写真への制限付きアクセスを許可するテンプレートリンクポリシーを作成する方法を示しています。

permit ( principal in PhotoFlash::FriendGroup::"Jane::MySchoolFriends", action in PhotoFlash::Action::"SharePhotoLimitedAccess", resource in PhotoFlash::Photo::"VacationPhoto94.jpg" );

この例では、ポリシーテンプレートを使用するテンプレートにリンクされたポリシーを作成する方法を示します。友達グループとアルバムとの非公開の共有写真への制限付きアクセスを許可します

permit ( principal in PhotoFlash::FriendGroup::"Jane::MySchoolFriends", action in PhotoFlash::Action::"SharePhotoLimitedAccess", resource in PhotoFlash::Album::"Italy2023" );

この例では、ポリシーテンプレートを使用して、友達グループと個々の写真とのプライベート共有以外の写真へのフルアクセスを付与するテンプレートリンクポリシーを作成する方法を示します。

permit ( principal in PhotoFlash::UserGroup::"Jane::MySchoolFriends", action in PhotoFlash::Action::"SharePhotoFullAccess", resource in PhotoFlash::Photo::"VacationPhoto94.jpg" );

この例では、アカウント のポリシーテンプレートブロックユーザーを使用するテンプレートにリンクされたポリシーを作成する方法を示します。

forbid( principal == PhotoFlash::User::"Bob", action, resource in PhotoFlash::Account::"Alice-account" );

DigitalPetStore

DigitalPetStore サンプルポリシーストアには、ポリシーテンプレートは含まれていません。DigitalPetStore サンプルポリシーストアを作成した後、左側のナビゲーションペインでポリシーを選択すると、ポリシーストアに含まれているポリシーを表示できます。

TinyToDo テンプレートにリンクされたポリシーの例

この例では、個々のユーザーとタスク リストに閲覧者アクセスを与えるポリシーテンプレートを使用する、テンプレートにリンクされたポリシーを作成する方法を示します。

permit ( principal == TinyTodo::User::"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_h2aKCU1ts|5ae0c4b1-6de8-4dff-b52e-158188686f31|bob", action in [TinyTodo::Action::"ReadList", TinyTodo::Action::"ListTasks"], resource == TinyTodo::List::"1" );

この例は、個々のユーザーとタスクリストに編集者アクセスを許可するポリシーテンプレートを使用して、テンプレートにリンクされたポリシーを作成する方法を示しています。

permit ( principal == TinyTodo::User::"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_h2aKCU1ts|5ae0c4b1-6de8-4dff-b52e-158188686f31|bob", action in [ TinyTodo::Action::"ReadList", TinyTodo::Action::"UpdateList", TinyTodo::Action::"ListTasks", TinyTodo::Action::"CreateTask", TinyTodo::Action::"UpdateTask", TinyTodo::Action::"DeleteTask" ], resource == TinyTodo::List::"1" );