

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

# 最初の Amazon Verified Permissions ポリシーストアを作成する
<a name="getting-started-first-policy-store"></a>

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

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

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

![\[PhotoFlash エンティティの関係\]](http://docs.aws.amazon.com/ja_jp/verifiedpermissions/latest/userguide/images/PhotoFlash.png)


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

## 前提条件
<a name="getting-started-prerequisites"></a>

### にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

がない場合は AWS アカウント、次の手順を実行して作成します。

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

### 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

**を保護する AWS アカウントのルートユーザー**

1.  **ルートユーザー**を選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者[AWS マネジメントコンソール](https://console.aws.amazon.com/)として にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、「 *IAM ユーザーガイド*[」の AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイスを有効にする](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンターの有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、「 *AWS IAM アイデンティティセンター ユーザーガイド*」の[「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM Identity Center ユーザーを使用してサインインする方法については、*AWS サインイン 「 ユーザーガイド*[」の AWS 「 アクセスポータルにサインイン](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)する」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

## ステップ 1: PhotoFlash ポリシーストアを作成する
<a name="getting-started-first-sample-policy-store"></a>

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

**PhotoFlash ポリシーストアを作成するには**

1. [Verified Permissions コンソール](https://console.aws.amazon.com/verifiedpermissions)で、**新しいポリシーストアの作成**を選択します。

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

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

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

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

## ステップ 2: ポリシーを作成する
<a name="getting-started-creating-policy"></a>

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

**ポリシーを作成する方法**

1. [Verified Permissions コンソール](https://console.aws.amazon.com/verifiedpermissions)で、ステップ 1 で作成したポリシーストアを選択します。

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

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

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

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

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

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

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

1. **詳細**の**「ポリシーの説明」 - オプション**で「」と入力します**Policy allowing alice to update alice-favorites-album.**。

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

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

## ステップ 3: ポリシーストアをテストする
<a name="getting-started-testing-first-sample-policy-store"></a>

ポリシーストアとポリシーを作成したら、Verified Permissions テストベンチを使用してシミュレートされた[認可リクエスト](terminology.md#term-authorization-request)を実行して、それらをテストできます。

**ポリシーストアポリシーをテストするには**

1. [Verified Permissions コンソール](https://console.aws.amazon.com/verifiedpermissions/)を開きます。ポリシーストアを選択します。

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

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

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

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

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

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

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

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

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


|  **プリンシパル値**  |  **プリンシパルアカウント:エンティティ値**  |  **リソース値**  |  **リソース親値**  |  **[アクション]**  |  **認可決定**  | 
| --- | --- | --- | --- | --- | --- | 
| PhotoFlash::User \$1 bob | PhotoFlash::Account \$1 alice-account | PhotoFlash::Album \$1 alice-favorites-album | 該当なし | PhotoFlash::Action::"UpdateAlbum" | 拒否 | 
| PhotoFlash::User \$1 alice | PhotoFlash::Account \$1 alice-account | PhotoFlash::Photo \$1 photo.jpeg | PhotoFlash::Account \$1 bob-account | PhotoFlash::Action::"ViewPhoto" | 拒否 | 
| PhotoFlash::User \$1 alice | PhotoFlash::Account \$1 alice-account | PhotoFlash::Photo \$1 photo.jpeg | PhotoFlash::Account \$1 alice-account | PhotoFlash::Action::"ViewPhoto" | 許可 | 
| PhotoFlash::User \$1 alice | PhotoFlash::Account \$1 alice-account | PhotoFlash::Photo \$1 bob-photo.jpeg | PhotoFlash::Album \$1 Bob-Vacation-Album | PhotoFlash::Action::"DeletePhoto" | 拒否 | 

## ステップ 4: リソースをクリーンアップする
<a name="getting-started-clean-up"></a>

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

**ポリシーストアを削除するには**

1. [Verified Permissions コンソール](https://console.aws.amazon.com/verifiedpermissions)で、ステップ 1 で作成したポリシーストアを選択します。

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

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

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