本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
测试您的授权模型
要了解部署应用程序时 Amazon 已验证权限授权决定的影响,您可以在制定策略时使用使用 Amazon 已验证权限测试平台和通过 HTTPS REST API 请求对已验证权限进行评估。测试平台是用于评估策略存储库中的 AWS Management Console 授权请求和响应的工具。
随着您从概念理解转向应用程序设计,经过验证的权限 REST API 是您开发的下一步。经过验证的权限 API 接受带有IsAuthorizedIsAuthorizedWithToken、和BatchIsAuthorized作为已签名的 AWS API 向区域服务终端节点发出的授权请求。要测试您的授权模型,您可以使用任何 API 客户端生成请求,并验证您的策略是否按预期返回授权决策。
例如,您可以按照以下步骤IsAuthorized在示例策略存储中进行测试。
- Test bench
-
-
在已验证权限控制台上打开已验证权限控制台。使用名称从示例策略存储中创建策略存储DigitalPetStore。
-
在新保单库中选择 “测试台”。
-
在已验证权限 API 参考IsAuthorized中填充您的测试平台请求。以下详细信息复制了示例 4 中引用该DigitalPetStore示例的条件。
-
将爱丽丝设为校长。要让校长采取行动,请选择DigitalPetStore::User并输入Alice。
-
将爱丽丝的角色设定为客户。选择 “添加父母”,选择DigitalPetStore::Role,然后输入 “客户”。
-
将资源设置为顺序 “1234”。对于委托人正在操作的资源,选择DigitalPetStore::Order并输入1234。
-
该DigitalPetStore::Order资源需要一个owner属性。将 Alice 设置为订单的所有者。选择DigitalPetStore::User并输入 Alice
-
Alice 请求查看订单。对于委托人正在采取的行动,选择DigitalPetStore::Action::"GetOrder"。
-
选择运行授权请求。在未经修改的策略存储中,此请求会导致ALLOW决策。请注意返回决策的 “满意” 政策。
-
从左侧导航菜单中,选择策略。查看静态政策,描述为 “客户角色-获取订单”。
-
请注意,由于委托人是客户角色并且是资源的所有者,因此已验证权限允许该请求。
- REST API
-
-
在已验证权限控制台上打开已验证权限控制台。使用名称从示例策略存储中创建策略存储DigitalPetStore。
-
记下您的新保单存储区的保单存储 ID。
-
IsAuthorized在已验证权限 API 参考中,复制示例 4 中引用该DigitalPetStore示例的请求正文。
-
打开您的 API 客户端,为您的政策存储创建对区域服务端点的请求。如示例所示,填充标题。
-
粘贴示例请求正文,然后将的policyStoreId值更改为您之前记下的策略存储 ID。
-
提交请求并查看结果。在默认DigitalPetStore策略存储中,此请求会返回一个ALLOW决定。
您可以更改测试环境中的策略、架构和请求,以更改结果并做出更复杂的决策。
-
更改请求的方式会更改已验证权限的决定。例如,将爱丽丝的角色更改为Employee或将命令 1234 的owner属性更改为。Bob
-
以影响授权决策的方式更改策略。例如,修改描述为 “客户角色-获取订单” 的政策,以删除User必须是所有者的条件,Resource然后修改请求以使其Bob想要查看订单。
-
更改架构以允许策略做出更复杂的决策。更新请求实体,以便 Alice 可以满足新的要求。例如,编辑架构User以允许其成为ActiveUsers或的成员InactiveUsers。更新政策,以便只有活跃用户才能查看自己的订单。更新请求实体,使 Alice 成为活跃用户或非活动用户。