初めてのVerified Permissions ポリシーストアを作成する - Amazon Verified Permissions

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

初めてのVerified Permissions ポリシーストアを作成する

Verified Permissions コンソールに初めてサインインするときに、最初のポリシーストアと Cedar ポリシーを作成する方法を選択できます。AWSサインインユーザーガイドの「AWS へのサインイン方法」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。コンソールのホームページで、Amazon Verified Permissions サービスを選択します。[使用を開始] を選択します。

サンプルポリシーストアの作成

Verified Permissions を初めて使用する場合は、サンプルポリシーストアの 1 つを使用して、Verified Permissions の仕組みを理解しておくことをお勧めします。サンプルポリシーストアには、定義済みのポリシーとスキーマが用意されています。

サンプルポリシーストア設定方法を使用してポリシーストアを作成するには
  1. 設定方法]セクションで、[サンプルポリシーストア]を選択します。

  2. サンプルプロジェクト」セクションで、使用するサンプルのVerified Permissions アプリケーションのタイプを選択します。このチュートリアルでは、PhotoFlashポリシーストアを選択します。

  3. サンプルポリシーストアのスキーマのネームスペースは、選択したサンプルプロジェクトに基づいて自動的に生成されます。

  4. [ポリシーストアを作成]を選択します。

    ポリシーストアは、ポリシー、ポリシーテンプレート、およびサンプルポリシーストアのスキーマを使用して作成されます。

次の図は、 PhotoFlash サンプルポリシーストアアクションと、それらが適用されるリソースタイプの関係を示しています。

PhotoFlash エンティティ関係

サンプルポリシーストア用のテンプレートリンクポリシーの作成

PhotoFlash サンプルポリシーストアには、ポリシー、ポリシーテンプレート、スキーマが含まれています。サンプルポリシーストアに含まれるポリシーテンプレートに基づいて、テンプレートにリンクされたポリシーを作成できます。

サンプルポリシーストア用のテンプレートリンクポリシーを作成するには
  1. https://console.aws.amazon.com/verifiedpermissions/ にあるVerified Permissions コンソールを開きます。ポリシーストアを選択します。

  2. 左側のナビゲーションペインで、[ポリシー] を選択します。

  3. [ポリシーを作成] を選択し、[テンプレートにリンクされたポリシーを作成] を選択します。

  4. ポリシーテンプレートの横にあるラジオボタンを選択します。説明は、非プライベート共有写真へのフルアクセスを付与し、へを選択します。

  5. プリンシパル には、 と入力しますPhotoFlash::User::"Alice"リソース には、 と入力しますPhotoFlash::Album::"Bob-Vacation-Album"

  6. テンプレートにリンクされたポリシーの作成」を選択します。

    テンプレートにリンクされた新しいポリシーが [ポリシー] の下に表示されます。

  7. PhotoFlash サンプルポリシーストア用に別のテンプレートにリンクされたポリシーを作成します。[ポリシーを作成] を選択し、[テンプレートにリンクされたポリシーの作成] を選択します。

  8. ポリシーテンプレートの横にあるラジオボタンを選択し、「非プライベート共有写真への制限付きアクセスを付与する」という説明を付けて、「次へ」を選択します。

  9. プリンシパル には、 と入力しますPhotoFlash::FriendGroup::"MySchoolFriends"リソース には、 と入力しますPhotoFlash::Album::"Alice’s favorite album"

  10. テンプレートにリンクされたポリシーの作成」を選択します。

    テンプレートにリンクされた新しいポリシーが [ポリシー] の下に表示されます。

チュートリアルの次のセクションで、新しいテンプレートにリンクされたポリシーをテストします。のテンプレートにリンクされたポリシーの作成に使用できる値のその他の例については 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 };
サンプルポリシーストアポリシーをテストするには
  1. https://console.aws.amazon.com/verifiedpermissions/ にあるVerified Permissions コンソールを開きます。ポリシーストアを選択します。

  2. 左側のナビゲーションペインで、[テストベンチ] を選択します。

  3. ビジュアルモードを選択します。

  4. プリンシパルセクションで、スキーマのプリンシパルタイプから PhotoFlash::User を選択します。テキストボックスにユーザーの ID を入力します。例えば、Alice です。

  5. プリンシパルには「親を追加」を選択しないでください。

  6. Account: Entity 属性で、PhotoFlash::Account エンティティが選択されていることを確認します。アカウントの識別子を入力します。例えば、Alice-account です。

  7. リソースセクションで、PhotoFlash::Photo リソースタイプを選択します。テキストボックスに写真の識別子を入力します。例えば、photo.jpeg です。

  8. 親を追加を選択し、エンティティタイプに PhotoFlash::Account を選択します。ユーザーの [アカウント: エンティティ] フィールドに指定した写真の親アカウントに同じ識別子を入力します。例えば、Alice-account です。

  9. アクションセクションで、有効なアクションのリストから PhotoFlash::Action::" ViewPhotoを選択します。

  10. 追加のエンティティ」セクションで、「このエンティティを追加」を選択して、推奨するアカウントエンティティを追加します。

  11. ページ上部の [承認リクエストを実行] を選択して、サンプルポリシーストア内の 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" 拒否