

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建 Amazon 已验证权限策略模板
<a name="policy-templates-create"></a>

您可以使用 AWS 管理控制台、或，在 “已验证权限” 中 AWS CLI创建策略模板 AWS SDKs。策略模板允许只定义一次策略，然后与多个委托人和资源一起使用。创建策略模板后，您可以创建与模板关联的策略，以使用包含特定委托人和资源的策略模板。有关更多信息，请参阅 [创建与 Amazon 验证权限模板关联的政策](policy-templates-create-policy.md)。

------
#### [ AWS 管理控制台 ]

**创建策略模板**

1. 打开已[验证权限控制台](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`错误消息。

------