

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

# 使用 Amazon 已验证权限测试平台
<a name="test-bench"></a>

使用已验证权限测试平台，通过对已验证的权限策略运行[授权请求](terminology.md#term-authorization-request)，对这些策略进行测试和故障排除。该测试平台使用您指定的参数来确定您的策略存储中的 Cedar 策略是否会授权该请求。测试授权请求时，您可以在**可视模式**和 **JSON 模式**之间进行切换。有关 Cedar 策略的结构和评估方式的更多信息，请参阅《Cedar 策略语言参考指南》中的 [Cedar 中的基本策略构造](https://docs.cedarpolicy.com/policies/syntax-policy.html)。

**注意**  
使用 Verified Permissions 发出授权请求时，您可以在**其他实体**部分，在请求中提供主体和资源列表。不过，您无法包含有关操作的详细信息。这些信息必须在架构中指定，或者从请求中推断得出。您无法将操作置于**其他实体**部分。

有关测试平台的直观概述和演示，请参阅 Amazon YouTube 频道上的 [Amazon 已验证权限——策略创建和测试（Primer 系列 \$13）](https://www.youtube.com/watch?v=Gi3joEySMPQ)。

------
#### [ Visual mode ]

**注意**  
要使用测试平台的**可视模式**，您必须在策略存储中定义一个架构。

**要在可视模式下测试策略，请按以下步骤操作：**

1. 打开已[验证权限控制台](https://console.amazonaws.cn/verifiedpermissions/)。选择您的保单商店。

1. 在左侧导航窗格中，选择**测试平台**。

1. 选择**可视模式**。

1. 在**主体**部分，从架构的主体类型中选择**执行操作的主体**。在文本框中为该主体输入一个标识符。

1. （可选）选择**添加父级**，为指定主体添加父实体。要移除已添加到该主体的父实体，请选择父实体名称旁边的**删除**。

1. 为指定主体的每个属性指定**属性值**。该测试平台使用模拟授权请求中指定的属性值。

1. 在**资源**部分中，选择**主体正在执行的资源**。在文本框中为该资源输入一个标识符。

1. （可选）选择**添加父级**，为指定资源添加父实体。要删除已添加到该资源的父实体，请选择该父实体名称旁边的**删除**。

1. 为指定资源的每个属性指定**属性值**。该测试平台使用模拟授权请求中指定的属性值。

1. 在**操作**部分中，从指定主体和资源的有效操作列表中选择**主体正在执行的操作**。

1. 为指定操作的每个属性指定**属性值**。该测试平台使用模拟授权请求中指定的属性值。

1. （可选）在**其他实体**部分中，选择**添加实体**，以添加要在授权决策中评估的实体。

1. 从下拉列表中选择**实体标识符**并输入该实体标识符。

1. （可选）选择**添加父级**，为指定实体添加父实体。要删除已添加到该实体的父实体，请选择该父实体名称旁边的**删除**。

1. 为指定实体的每个属性指定**属性值**。该测试平台使用模拟授权请求中指定的属性值。

1. 选择**确认**，将该实体添加到测试平台。

1. 选择**运行授权请求**，模拟策略存储中 Cedar 策略的授权请求。测试平台会显示允许或拒绝该请求的决策，以及与满足条件的策略或评估期间遇到的错误有关的信息。

------
#### [ JSON mode ]

**要在 JSON 模式下测试策略，请按以下步骤操作：**

1. 打开已[验证权限控制台](https://console.amazonaws.cn/verifiedpermissions/)。选择您的保单商店。

1. 在左侧导航窗格中，选择**测试平台**。

1. 选择 **JSON 模式**。

1. 在**请求详细信息**部分中，如果您定义了一个架构，请从该架构的主体类型中选择**执行操作的主体**。在文本框中为该主体输入一个标识符。

   如果未定义架构，请在**执行操作的主体**文本框中输入该主体。

1. 如果您定义了一个架构，请从该架构的资源类型中选择**资源**。在文本框中为该资源输入一个标识符。

   如果未定义架构，请在**资源**文本框中输入该资源。

1. 如果您定义了一个架构，请从指定主体和资源的有效操作列表中选择**操作**。

   如果未定义架构，请在**操作**文本框中输入该操作。

1. 在**上下文**字段中，输入要模拟的请求的上下文。该请求上下文是可用于授权决策的附加信息。

1. 在**实体**字段中，输入授权决策中要评估的实体及其属性的层次结构。

1. 选择**运行授权请求**，模拟策略存储中 Cedar 策略的授权请求。测试平台会显示允许或拒绝该请求的决策，以及与满足条件的策略或评估期间遇到的错误有关的信息。

------