翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
初めてのVerified Permissions ポリシーストアを作成する
Verified Permissions コンソールに初めてサインインするときに、最初のポリシーストアと Cedar ポリシーを作成する方法を選択できます。AWSサインインユーザーガイドの「AWS へのサインイン方法」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。コンソールのホームページで、Amazon Verified Permissions サービスを選択します。[使用を開始] を選択します。
サンプルポリシーストアの作成
Verified Permissions を初めて使用する場合は、サンプルポリシーストアの 1 つを使用して、Verified Permissions の仕組みを理解しておくことをお勧めします。サンプルポリシーストアには、定義済みのポリシーとスキーマが用意されています。
サンプルポリシーストア設定方法を使用してポリシーストアを作成するには
-
[設定方法]セクションで、[サンプルポリシーストア]を選択します。
-
「サンプルプロジェクト」セクションで、使用するサンプルのVerified Permissions アプリケーションのタイプを選択します。このチュートリアルでは、PhotoFlashポリシーストアを選択します。
-
サンプルポリシーストアのスキーマのネームスペースは、選択したサンプルプロジェクトに基づいて自動的に生成されます。
-
[ポリシーストアを作成]を選択します。
ポリシーストアは、ポリシー、ポリシーテンプレート、およびサンプルポリシーストアのスキーマを使用して作成されます。
次の図は、 PhotoFlash サンプルポリシーストアアクションと、それらが適用されるリソースタイプの関係を示しています。
サンプルポリシーストア用のテンプレートリンクポリシーの作成
PhotoFlash サンプルポリシーストアには、ポリシー、ポリシーテンプレート、スキーマが含まれています。サンプルポリシーストアに含まれるポリシーテンプレートに基づいて、テンプレートにリンクされたポリシーを作成できます。
サンプルポリシーストア用のテンプレートリンクポリシーを作成するには
https://console.aws.amazon.com/verifiedpermissions/
にあるVerified Permissions コンソールを開きます。ポリシーストアを選択します。 -
左側のナビゲーションペインで、[ポリシー] を選択します。
-
[ポリシーを作成] を選択し、[テンプレートにリンクされたポリシーを作成] を選択します。
-
ポリシーテンプレートの横にあるラジオボタンを選択します。説明は、非プライベート共有写真へのフルアクセスを付与し、次へを選択します。
-
プリンシパル には、 と入力します
PhotoFlash::User::"Alice"
。リソース には、 と入力しますPhotoFlash::Album::"Bob-Vacation-Album"
。 -
「テンプレートにリンクされたポリシーの作成」を選択します。
テンプレートにリンクされた新しいポリシーが [ポリシー] の下に表示されます。
-
PhotoFlash サンプルポリシーストア用に別のテンプレートにリンクされたポリシーを作成します。[ポリシーを作成] を選択し、[テンプレートにリンクされたポリシーの作成] を選択します。
-
ポリシーテンプレートの横にあるラジオボタンを選択し、「非プライベート共有写真への制限付きアクセスを付与する」という説明を付けて、「次へ」を選択します。
-
プリンシパル には、 と入力します
PhotoFlash::FriendGroup::"MySchoolFriends"
。リソース には、 と入力しますPhotoFlash::Album::"Alice’s favorite album"
。 -
「テンプレートにリンクされたポリシーの作成」を選択します。
テンプレートにリンクされた新しいポリシーが [ポリシー] の下に表示されます。
チュートリアルの次のセクションで、新しいテンプレートにリンクされたポリシーをテストします。のテンプレートにリンクされたポリシーの作成に使用できる値のその他の例については PhotoFlash、「」を参照してくださいPhotoFlash テンプレートにリンクされたポリシーの例。
サンプルポリシーストアのテスト
サンプルポリシーストアとテンプレートにリンクされたポリシーを作成したら、Verified Permissions テストベンチを使用してシミュレートされた承認リクエストを実行することで、サンプルの Verified Permissions 静的ポリシーと新しいテンプレートにリンクされたポリシーをテストできます。
サンプルポリシーストアを作成した時期によっては、ポリシーテンプレートがこの手順のリファレンスと異なる場合があります。チュートリアルのこの部分を開始する前に、ポリシーストア PhotoFlash の例に続く各ポリシーテンプレートがあることを確認してください。ポリシーがこれらのポリシーと一致しない場合は、既存のポリシーを編集するか、サンプルプロジェクトオプション から新しいポリシーストアを作成しますPhotoFlash。
非プライベート共有写真へのフルアクセスを許可する
permit ( principal in ?principal, action in PhotoFlash::Action::"FullPhotoAccess", resource in ?resource ) when { resource.IsPrivate == false };
非プライベート共有写真への制限付きアクセスを許可する
permit ( principal in ?principal, action in PhotoFlash::Action::"LimitedPhotoAccess", resource in ?resource ) when { resource.IsPrivate == false };
サンプルポリシーストアポリシーをテストするには
https://console.aws.amazon.com/verifiedpermissions/
にあるVerified Permissions コンソールを開きます。ポリシーストアを選択します。 -
左側のナビゲーションペインで、[テストベンチ] を選択します。
-
ビジュアルモードを選択します。
-
プリンシパルセクションで、スキーマのプリンシパルタイプから PhotoFlash::User を選択します。テキストボックスにユーザーの ID を入力します。例えば、
Alice
です。 -
プリンシパルには「親を追加」を選択しないでください。
-
Account: Entity 属性で、PhotoFlash::Account エンティティが選択されていることを確認します。アカウントの識別子を入力します。例えば、
Alice-account
です。 -
リソースセクションで、PhotoFlash::Photo リソースタイプを選択します。テキストボックスに写真の識別子を入力します。例えば、
photo.jpeg
です。 -
親を追加を選択し、エンティティタイプに PhotoFlash::Account を選択します。ユーザーの [アカウント: エンティティ] フィールドに指定した写真の親アカウントに同じ識別子を入力します。例えば、
Alice-account
です。 -
アクションセクションで、有効なアクションのリストから PhotoFlash::Action::" ViewPhotoを選択します。
-
「追加のエンティティ」セクションで、「このエンティティを追加」を選択して、推奨するアカウントエンティティを追加します。
-
ページ上部の [承認リクエストを実行] を選択して、サンプルポリシーストア内の Cedar ポリシーの承認リクエストをシミュレートします。テストベンチには、リクエストを許可するかどうかの決定が表示されるはずです。
以下の表は、Verified Permissions テストベンチでテストできるプリンシパル、リソース、アクションの追加値を示しています。この表には、 PhotoFlash サンプルポリシーストアに含まれている静的ポリシーと、前のセクションで作成したテンプレートにリンクされたポリシーに基づく承認リクエストの決定が含まれています。
プリンシパル値 | プリンシパルアカウント:エンティティ値 | リソース値 | リソース親値 | [アクション] | 認証決定 |
---|---|---|---|---|---|
PhotoFlash::User | Alice | PhotoFlash::Account | Alice-account | PhotoFlash::Photo | photo.jpeg | PhotoFlash::Account | Bob-account | PhotoFlash::Action::ViewPhoto" | 拒否 |
PhotoFlash::User | Alice | PhotoFlash::Account | Alice-account | PhotoFlash::Photo | photo.jpeg | PhotoFlash::Account | Alice-account | PhotoFlash::Action::ViewPhoto" | 許可 |
PhotoFlash::User | Alice | PhotoFlash::Account | Alice-account | PhotoFlash::Photo | Bob-Photo.jpeg | PhotoFlash::Album | Bob-Vacation-Album | PhotoFlash::Action::ViewPhoto" | 許可 |
PhotoFlash::User | Alice | PhotoFlash::Account | Alice-account | PhotoFlash::Photo | Bob-Photo.jpeg | PhotoFlash::Album | Bob-Vacation-Album | PhotoFlash::Action::DeletePhoto" | 拒否 |
PhotoFlash::User | Alice | PhotoFlash::Account | Alice-account | PhotoFlash::Photo | Bob-Photo.jpeg、IsPrivate: Boolean | true | PhotoFlash::Album | Bob-Vacation-Album | PhotoFlash::Action::ViewPhoto" | 拒否 |
PhotoFlash::User | Jane、PhotoFlash::FriendGroup | MySchoolFriends | PhotoFlash::Account | Jane-account | PhotoFlash::Photo | photo.jpeg | PhotoFlash::Album | Alice のお気に入りアルバム | PhotoFlash::Action::ViewPhoto" | 許可 |
PhotoFlash::User | Jane、PhotoFlash::FriendGroup | MySchoolFriends | PhotoFlash::Account | Jane-account | PhotoFlash::Photo | photo.jpeg | PhotoFlash::Album | Alice のお気に入りアルバム | PhotoFlash::Action::DeletePhoto" | 拒否 |