

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

# Amazon 已验证权限策略模板和模板关联政策
<a name="policy-templates"></a>

在已验证权限中，策略模板是带有`principal``resource`、或两者占位符的策略。不能仅使用策略模板来处理授权请求。要处理授权请求，必须基于*策略模板创建与模板关联*的策略。策略模板允许只定义一次策略，然后与多个委托人和资源一起使用。对策略模板的更新会反映在使用该模板的所有策略中。有关更多信息，请参阅《Cedar 策略语言参考指南》中的 [Cedar 策略模板](https://docs.cedarpolicy.com/policies/templates.html)。

您可以选择为策略模板分配策略模板名称。策略模板名称在策略存储中必须是唯一的，并以`name/`此为前缀。在接受`policyTemplateId`参数的控制平面操作中，您可以使用策略模板名称代替策略模板 ID。只`GetPolicyTemplate`在输出中`ListPolicyTemplates`返回名称。以下示例使用策略模板名称来检索策略模板`GetPolicyTemplate`。

```
$ aws verifiedpermissions get-policy-template \
    --policy-template-id name/example-policy-template \
    --policy-store-id PSEXAMPLEabcdefg111111
```

例如，以下策略模板为使用该策略模板的委托人和资源提供`Read``Edit`、和`Comment`权限。

```
permit(
  principal == ?principal,
  action in [Action::"Read", Action::"Edit", Action::"Comment"],
  resource == ?resource
);
```

如果您要创建`Editor`基于此模板命名的策略，则当委托人被指定为特定资源的编辑者时，您的应用程序将创建一个策略，为委托人提供读取、编辑和评论该资源的权限。

与静态策略不同，模板关联策略是动态的。以前面的示例为例，如果您要从策略模板中删除`Comment`操作，则任何链接到该模板或基于该模板的策略都将相应更新，并且策略中指定的委托人将无法再对相应的资源发表评论。

有关更多与模板关联的策略示例，请参阅。[Amazon 已验证权限示例模板关联政策](policy-templates-example-policies.md)