

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

# 策略撰写指南
<a name="policy-authoring-guide"></a>

本部分是 Amazon Bedrock AgentCore 政策示例政策的中心集合。每个示例都使用[资源配置中描述的单个网关作为示例](example-policies-reference.md)。因此，您可以并排阅读任意两个示例，并将它们合并到一个策略引擎上，而无需重命名操作或调整架构。

这些示例按策略匹配的内容进行分组。 [Principal-scoped 策略](example-policies-principal.md)决定谁在呼叫 — JWT 身份还是 IAM 来电者。[操作和资源范围的策略](example-policies-action-resource.md)根据所谓的内容来决定：哪个操作、在哪个网关上、携带哪些输入值。该部分以[组合策略结](example-policies-action-resource.md#example-policies-action-resource-combined)尾，其中两者被限制在一起，以及决定一个引擎上的策略如何交互的规则。

 [Time-based 策略](example-policies-time-based.md)从挂钟时间决定。他们在普通`when`条款`context.system.now`中阅读，所以就像前两节一样，它们停留在普通的 Cedar 中。

另外两节涵盖了普通雪松无法表达的条件。[护栏策略示例](example-policies-guardrails.md)根据护栏在评估时计算的信号（例如内容安全分数或即时攻击分数）决定，而[临时策略示例](example-policies-temporal.md)则根据同一会话中早些时候已经发生的事情来决定。

它们都共享一个授权模型。只有当`permit`策略应用于该请求并且没有`forbid`策略覆盖该请求时，才允许请求，因此没有策略的策略引擎会拒绝所有内容。这些类型还包括：单个策略可以组合主体条件、输入条件、护栏信号和会话历史记录。

您使用 [Dogwood](https://dogwood-policy.github.io/dogwood/index.html)（一种与 C [ed](https://www.cedarpolicy.com/en) ar 兼容的开源政策语言）为政策撰写政策。 AgentCore Dogwood 增加了护栏和临时政策所需的条件形式，也是 Cedar `when guardrails { …​ }` 无法`when temporal { …​ }`表达的条件形式。每份有效的 Cedar 保单也是有效的 Dogwood 政策，因此你已经在 Cedar 中编写的保单可以继续有效，而且 Cedar 将得到完全支持。主体作用域、动作范围和基于时间的示例故意只使用同样有效的 Cedar 结构，而护栏和时间示例则使用 Dogwood 条件。

有关语言语法，请参阅 [Dogwood Policy 网站和 C [edar 政策语言网站上的 Dogwood 语言](https://www.cedarpolicy.com/en)指南](https://dogwood-policy.github.io/dogwood/index.html)。有关 Policy 通过网关工具 AgentCore 生成的架构以及适用于它的限制，请参阅[限制和配额](policy-schema-constraints.md)。

**Topics**
+ [示例资源配置](example-policies-reference.md)
+ [Principal-scoped 政策](example-policies-principal.md)
+ [行动和资源范围的政策](example-policies-action-resource.md)
+ [Time-based 政策](example-policies-time-based.md)
+ [护栏政策示例](example-policies-guardrails.md)
+ [临时策略示例](example-policies-temporal.md)