

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

# Amazon Verified Permissions 静的ポリシーの作成
<a name="policies-create"></a>

プリンシパルの静的ポリシーを作成して、アプリケーションの指定されたリソースに対して指定されたアクションを実行することをプリンシパルに許可または禁止できます。静的ポリシーには、 `principal``resource`と に特定の値が含まれており、認可の決定に使用できる準備ができています。

------
#### [ AWS マネジメントコンソール ]

**静的ポリシーを作成するには**

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

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

1. [**ポリシーを作成**] を選択し、次に [**静的ポリシーを作成**] を選択します。
**注記**  
使用するポリシーステートメントがある場合は、**ステップ 8 **に進み、次のページの**ポリシー**セクションにポリシーを貼り付けます。

1. 「**ポリシー効果**」セクションで、リクエストがポリシーに一致した場合にポリシーを「**許可**」か「**禁止**」にするかを選択します。**許可**を選択すると、ポリシーはプリンシパルがリソースに対してアクションを実行することを許可します。逆に、**Forbid **を選択した場合、ポリシーはプリンシパルがリソースに対してアクションを実行することを許可しません。

1. 「**プリンシパルの範囲**」フィールドで、ポリシーを適用するプリンシパルの範囲を選択します。
   + **特定のプリンシパル**にポリシーを適用するには、「特定のプリンシパル」を選択します。ポリシーで指定されたアクションを実行することを許可または禁止するプリンシパルのエンティティタイプと識別子を指定します。
   + プリンシパルのグループにポリシーを適用するには、「**プリンシパルのグループ**」を選択します。「**プリンシパルのグループ**」フィールドにプリンシパルのグループ名を入力します。
   + ポリシーストア内のすべてのプリンシパルにポリシーを適用するには、「**すべてのプリンシパル**」を選択します。

1. ［**リソース範囲**］フィールドで、ポリシーを適用するリソースの範囲を選択します。
   + **特定のリソース**にポリシーを適用するには、「特定のリソース」を選択します。ポリシーを適用するリソースのエンティティタイプと識別子を指定します。
   + [**リソースグループ**] を選択して、ポリシーをリソースグループに適用します。「リソースグループ」**フィールドにリソースグループ名を入力します**。
   + ポリシーストア内のすべてのリソースにポリシーを適用するには、[**すべてのリソース**] を選択します。

1. ［**アクションの範囲**］セクションで、ポリシーを適用するリソースの範囲を選択します。
   + [**特定のアクションセット**] を選択して、ポリシーをアクションセットに適用します。アクションの横にあるチェックボックスを選択して、ポリシーを適用します。
   + ポリシーストア内のすべてのアクションにポリシーを適用するには、[**すべてのアクション**] を選択します。

1. **[次へ]**をクリックします。

1. 「**ポリシー**」セクションで、Cedar ポリシーを確認します。「**フォーマット**」を選択すると、ポリシーの構文を推奨間隔とインデントでフォーマットできます。詳細については、「Cedar ポリシー言語リファレンスガイド」の「[Cedar における基本ポリシー構築](https://docs.cedarpolicy.com/policies/syntax-policy.html)」を参照してください。

1. 「**詳細**」セクションに、ポリシーの説明を任意で入力します。

1. [**Create policy**] (ポリシーの作成) を選択します。

------
#### [ AWS CLI ]

**静的ポリシーを作成するには**  
[CreatePolicy](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html) オペレーションを使用して、静的インスタンスを作成できます。次の例は、単純な静的ポリシーを作成します。

```
$ aws verifiedpermissions create-policy \
    --definition "{ \"static\": { \"Description\": \"MyTestPolicy\", \"Statement\": \"permit(principal,action,resource) when {principal.owner == resource.owner};\"}}" \
    --policy-store-id PSEXAMPLEabcdefg111111
{
"Arn": "arn:aws:verifiedpermissions::123456789012:policy/PSEXAMPLEabcdefg111111/SPEXAMPLEabcdefg111111",
    "createdDate": "2023-05-16T20:33:01.730817+00:00",
    "lastUpdatedDate": "2023-05-16T20:33:01.730817+00:00",
    "policyId": "SPEXAMPLEabcdefg111111",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyType": "STATIC"
}
```

**ポリシー名でポリシーを作成するには**  
オプションで、ポリシーの作成時にポリシー名を指定できます。名前は、ポリシーストア内のすべてのポリシーで一意で、プレフィックスが である必要があります`name/`。ポリシー ID の代わりに名前を使用できます。

```
$ aws verifiedpermissions create-policy \
    --definition "{ \"static\": { \"Statement\": \"permit(principal, action, resource in Album::\\\"public_folder\\\");\"}}" \
    --policy-store-id PSEXAMPLEabcdefg111111 \
    --name name/example-policy
{
    "createdDate": "2023-06-12T20:33:37.382907+00:00",
    "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00",
    "policyId": "SPEXAMPLEabcdefg111111",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyType": "STATIC",
    "resource": {
        "entityId": "public_folder",
        "entityType": "Album"
    }
}
```

**注記**  
ポリシーストア内の別のポリシーに既に関連付けられている名前を指定すると、`ConflictException`エラーが発生します。

------