

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

# Amazon Verified Permissions ポリシーテンプレートの作成
<a name="policy-templates-create"></a>

Verified Permissions でポリシーテンプレートを作成するには AWS マネジメントコンソール、、 AWS CLI、または AWS SDKs を使用します。ポリシーテンプレートを使用すると、ポリシーを一度定義してから、複数のプリンシパルとリソースで使用できます。ポリシーテンプレートを作成したら、テンプレートにリンクされたポリシーを作成して、特定のプリンシパルとリソースでポリシーテンプレートを使用できます。詳細については、「[Amazon Verified Permissions テンプレートリンクポリシーの作成](policy-templates-create-policy.md)」を参照してください。

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

**ポリシーテンプレートを作成するには**

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

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

1. **[ポリシーテンプレートを作成]** を選択します。

1. **[詳細]** セクションに**ポリシーテンプレートの説明**を入力します。

1. **[ポリシーテンプレート本文]** セクションでは、プレースホルダー`?principal` および`?resource` を使用して、このテンプレートに基づいて作成されたポリシーが、付与する権限をカスタマイズできるようにします。**[フォーマット]** を選択すると、ポリシーテンプレートの構文を推奨される間隔とインデントでフォーマットできます。

1. **[ポリシーテンプレートを作成]** を選択します。

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

**ポリシーテンプレートを作成するには**  
[CreatePolicyTemplate](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicyTemplate.html) オペレーションを使用して、ポリシーテンプレートを作成できます。次の例では、プリンシパルのプレースホルダーを含むポリシーテンプレートを作成します。

ファイル `template1.txt` には次のものが含まれています。

```
"VacationAccess"
permit(
    principal in ?principal,
    action == Action::"view",
    resource == Photo::"VacationPhoto94.jpg"
);
```

```
$ aws verifiedpermissions create-policy-template \
    --description "Template for vacation picture access" 
    --statement file://template1.txt 
    --policy-store-id PSEXAMPLEabcdefg111111
{
    "createdDate": "2023-05-18T21:17:47.284268+00:00",
    "lastUpdatedDate": "2023-05-18T21:17:47.284268+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyTemplateId": "PTEXAMPLEabcdefg111111"
}
```

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

```
$ aws verifiedpermissions create-policy-template \
    --description "Template for vacation picture access" \
    --statement file://template1.txt \
    --policy-store-id PSEXAMPLEabcdefg111111 \
    --name name/example-policy-template
{
    "createdDate": "2023-06-12T20:47:42.804511+00:00",
    "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyTemplateId": "PTEXAMPLEabcdefg111111"
}
```

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

------