View a markdown version of this page

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

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

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

このチュートリアルでは、自分が写真共有アプリケーションの開発者であり、アプリケーションのユーザーが実行できるアクションを制御する方法を探しているとします。写真やフォトアルバムを追加、削除、または表示できるユーザーを制御します。また、ユーザーが自分のアカウントに対して実行できるアクションを制御することもできます。アカウントを管理できますか? 友達のアカウントについてはどうですか? これらのアクションを制御するには、ユーザーの ID に基づいてこれらのアクションを許可または禁止するポリシーを作成します。Verified Permissions は、これらのポリシーを格納するためのポリシーストアまたはコンテナを提供します。

このチュートリアルでは、Amazon Verified Permissions コンソールを使用してサンプルポリシーストアを作成する方法について説明します。コンソールにはいくつかのサンプルポリシーストアオプションが用意されており、PhotoFlash ポリシーストアを作成します。このポリシーストアでは、ユーザーなどのプリンシパルが写真やアルバムなどのリソースで共有などのアクションを実行できます。

次の図は、プリンシパル、User::alice、および PhotoFlash アカウント、 VactionPhoto94.jpg ファイル、フォトアルバム、alice-favorites-albumユーザーグループ などのさまざまなリソースに対して実行できるアクションの関係を示していますalice-friend-group

PhotoFlash エンティティの関係

PhotoFlash ポリシーストアについて理解できたところで、ポリシーストアを作成して調べてみましょう。

前提条件

の使用を開始するには AWS、 が必要です AWS アカウント。の作成の詳細については AWS アカウント、「 AWS アカウント管理 リファレンスガイド」の「 の開始方法 AWS アカウント」を参照してください。

ステップ 1: PhotoFlash ポリシーストアを作成する

次の手順では、 AWS コンソールを使用して PhotoFlash ポリシーストアを作成します。

PhotoFlash ポリシーストアを作成するには
  1. Verified Permissions コンソールで、新しいポリシーストアの作成を選択します。

  2. 開始オプションで、サンプルポリシーストアから開始を選択します。

  3. サンプルプロジェクトで、PhotoFlash を選択します。

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

「作成および設定されたポリシーストア」というメッセージが表示されたら、概要に移動を選択してポリシーストアを確認します。

ステップ 2: ポリシーを作成する

ポリシーストアを作成すると、ユーザーが自分のアカウントを完全に制御できるようにするデフォルトのポリシーが作成されました。これは便利なポリシーですが、ここでは、Verified Permissions のニュアンスを調べるために、より制限の厳しいポリシーを作成しましょう。チュートリアルの前半で説明した図を覚えている場合は、プリンシパル がありUser::alice、リソース UpdateAlbumに対してアクションを実行できますalice-favorites-album。Alice と Alice のみがこのアルバムを管理できるようにするポリシーを追加しましょう。

ポリシーを作成する方法
  1. Verified Permissions コンソールで、ステップ 1 で作成したポリシーストアを選択します。

  2. ナビゲーションで、ポリシーを選択します。

  3. [ポリシーを作成] を選択し、次に [静的ポリシーを作成] を選択します。

  4. ポリシー効果 で、許可 を選択します。

  5. プリンシパルスコープで特定のプリンシパルを選択し、エンティティタイプの指定PhotoFlash::User を選択し、エンティティ識別子の指定で を入力しますalice

  6. リソーススコープ特定のリソースを選択し、エンティティタイプの指定PhotoFlash::Album を選択し、エンティティ識別子の指定で を入力しますalice-favorites-album

  7. アクションスコープで特定のアクションセットを選択し、このポリシーを適用するアクション (複数可)UpdateAlbum を選択します。

  8. [次へ] を選択します。

  9. 詳細のポリシーの説明 - オプションで を入力しますPolicy allowing alice to update alice-favorites-album.

  10. [ ポリシーの作成 ] を選択します。

ポリシーを作成したら、Verified Permissions コンソールでテストできます。

ステップ 3: ポリシーストアをテストする

ポリシーストアとポリシーを作成したら、Verified Permissions テストベンチを使用してシミュレートされた認可リクエストを実行して、それらをテストできます。

ポリシーストアポリシーをテストするには
  1. Verified Permissions コンソールを開きます。ポリシーストアを選択します。

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

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

  4. プリンシパルの場合は、次の操作を行います。

    1. プリンシパルがアクションを実行するには、PhotoFlash::User を選択し、エンティティ識別子を指定するには、 を入力しますalice

    2. 属性アカウント: エンティティ で、PhotoFlash::Account エンティティが選択されていることを確認します。エンティティ識別子を指定する で、 と入力しますalice-account

  5. 「リソース」で、プリンシパルが動作しているリソースPhotoFlash::Album リソースタイプを選択し、「エンティティ識別子を指定」に「」と入力しますalice-favorites-album

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

  7. ページの上部で、認可リクエストの実行を選択して、サンプルポリシーストアの Cedar ポリシーの認可リクエストをシミュレートします。テストベンチには、ポリシーが期待どおりに動作していることを示す決定: 許可が表示されます。

以下の表は、Verified Permissions テストベンチでテストできるプリンシパル、リソース、アクションの追加値を示しています。この表には、PhotoFlash サンプルポリシーストアに含まれる静的ポリシーと、ステップ 2 で作成したポリシーに基づく認可リクエストの決定が含まれています。

プリンシパル値 プリンシパルアカウント:エンティティ値 リソース値 リソース親値 [アクション] 認可決定
PhotoFlash::User | bob PhotoFlash::Account | alice-account PhotoFlash::Album | alice-favorites-album 該当なし PhotoFlash::Action::"UpdateAlbum" 拒否
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::"DeletePhoto" 拒否

ステップ 4: リソースをクリーンアップする

ポリシーストアの探索が完了したら、削除します。

ポリシーストアを削除するには
  1. Verified Permissions コンソールで、ステップ 1 で作成したポリシーストアを選択します。

  2. ナビゲーションで、設定 を選択します。

  3. 「ポリシーストアの削除」で、「このポリシーストアの削除」を選択します。

  4. このポリシーストアを削除しますか? ダイアログボックスに「削除」と入力し、「削除」を選択します。