

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

# 测试您的授权模型
<a name="authorization-testing"></a>

要了解部署应用程序时 Amazon 已验证权限授权决定的影响，您可以在制定策略时使用[使用 Amazon 已验证权限测试平台](test-bench.md)和通过 HTTPS REST API 请求对已验证权限进行评估。测试平台是用于评估策略存储库中的 AWS 管理控制台 授权请求和响应的工具。

随着您从概念理解转向应用程序设计，经过验证的权限 REST API 是您开发的下一步。经过验证的权限 API 接受带有[IsAuthorized[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html)、和[BatchIsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html)作为已[签名的 AWS API 向区域[服务终端节点](https://docs.aws.amazon.com/general/latest/gr/verifiedpermissions.html)发出的授权请求](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html)。要测试您的授权模型，您可以使用任何 API 客户端生成请求，并验证您的策略是否按预期返回授权决策。

例如，您可以按照以下步骤`IsAuthorized`在示例策略存储中进行测试。

------
#### [ Test bench ]

1. 在已验证权限控制台上打开[已验证权限控制台](https://console.aws.amazon.com/verifiedpermissions/)。使用名称从**示例策略存储中创建策略存储**DigitalPetStore****。

1. 在新保单库中选择 “**测试台**”。

1. 在已验证权限 API 参考[IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)中填充您的测试平台请求。以下详细信息复制了**示例 4** 中引用该**DigitalPetStore**示例的条件。

   1. 将爱丽丝设为校长。要让**校长采取行动**，请选择`DigitalPetStore::User`并输入`Alice`。

   1. 将爱丽丝的角色设定为客户。选择 “**添加父母**”，选择`DigitalPetStore::Role`，然后输入 “客户”。

   1. 将资源设置为顺序 “1234”。对于**委托人正在操作的资源**，选择`DigitalPetStore::Order`并输入`1234`。

   1. 该`DigitalPetStore::Order`资源需要一个`owner`属性。将 Alice 设置为订单的所有者。选择`DigitalPetStore::User`并输入 `Alice`

   1. Alice 请求查看订单。对于**委托人正在采取的行动**，选择`DigitalPetStore::Action::"GetOrder"`。

1. 选择**运行授权请求**。在未经修改的策略存储中，此请求会导致`ALLOW`决策。请注意返回决策的 “**满意” 政策**。

1. 从左侧导航菜单中，选择**策略**。查看静态政策，描述为 “**客户角色-获取订单”**。

1. 请注意，由于委托人是客户角色并且是资源的所有者，因此已验证权限允许该请求。

------
#### [ REST API ]

1. 在已验证权限控制台上打开[已验证权限控制台](https://console.aws.amazon.com/verifiedpermissions/)。使用名称从**示例策略存储中创建策略存储**DigitalPetStore****。

1. 记下您的新**保单存储区的保单存储 ID**。

1. [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)在已验证权限 API 参考中，复制**示例 4** 中引用该**DigitalPetStore**示例的请求正文。

1. 打开您的 API 客户端，为您的政策存储创建对区域服务端点的请求。如[示例](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)所示，填充标题。

1. 粘贴示例请求正文，然后将的`policyStoreId`值更改为您之前记下的策略存储 ID。

1. 提交请求并查看结果。在默认**DigitalPetStore**策略存储中，此请求会返回一个`ALLOW`决定。

------

您可以更改测试环境中的策略、架构和请求，以更改结果并做出更复杂的决策。

1. 更改请求的方式会更改已验证权限的决定。例如，将爱丽丝的角色更改为`Employee`或将命令 1234 的`owner`属性更改为。`Bob`

1. 以影响授权决策的方式更改策略。例如，修改描述为 “**客户角色-获取订单**” 的政策，以删除`User`必须是所有者的条件，`Resource`然后修改请求以使其`Bob`想要查看订单。

1. 更改架构以允许策略做出更复杂的决策。更新请求实体，以便 Alice 可以满足新的要求。例如，编辑架构`User`以允许其成为`ActiveUsers`或的成员`InactiveUsers`。更新政策，以便只有活跃用户才能查看自己的订单。更新请求实体，使 Alice 成为活跃用户或非活动用户。