测试您的授权模型 - Amazon Verified Permissions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

测试您的授权模型

要了解部署应用程序时 Amazon 已验证权限授权决定的影响,您可以在制定策略时使用使用 Amazon 已验证权限测试平台和通过 HTTPS REST API 请求对已验证权限进行评估。测试平台是用于评估策略存储库中的 Amazon Web Services Management Console 授权请求和响应的工具。

随着您从概念理解转向应用程序设计,经过验证的权限 REST API 是您开发的下一步。经过验证的权限 API 接受带有IsAuthorizedIsAuthorizedWithToken、和BatchIsAuthorized作为已签名的 Amazon API 向区域服务终端节点发出的授权请求。要测试您的授权模型,您可以使用任何 API 客户端生成请求,并验证您的策略是否按预期返回授权决策。

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

Test bench
  1. 在已验证权限控制台上打开已验证权限控制台。使用名称从示例策略存储中创建策略存储DigitalPetStore

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

  3. 在已验证权限 API 参考IsAuthorized中填充您的测试平台请求。以下详细信息复制了示例 4 中引用该DigitalPetStore示例的条件。

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

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

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

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

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

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

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

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

REST API
  1. 在已验证权限控制台上打开已验证权限控制台。使用名称从示例策略存储中创建策略存储DigitalPetStore

  2. 记下您的新保单存储区的保单存储 ID

  3. IsAuthorized在已验证权限 API 参考中,复制示例 4 中引用该DigitalPetStore示例的请求正文。

  4. 打开您的 API 客户端,为您的政策存储创建对区域服务端点的请求。如示例所示,填充标题。

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

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

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

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

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

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