Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
使用策略模拟器所需的权限
您所需的权限取决于您使用的是 Amazon CLI、Amazon API 还是 IAM 控制台,以及您使用的模式。
- Console
-
需要具备调用 iam:GetContextKeysForCustomPolicy 的权限,才能在控制台上使用 IAM 策略模拟器。
所需的其他权限取决于所用模式。在主体模式下,您需要额外的读取权限,以列出账户中的身份并读取其附加的策略。若要减少需授予的权限,在只需测试粘贴的策略时,使用自定义模式。
自定义模式
要使用自定义模式(在此模式下,需粘贴要测试的策略),还需要 iam:SimulateCustomPolicy
主体模式
要使用主体模式(在此模式下,控制台会加载并显示账户中的身份和策略),您需要通用权限以及以下权限。这是一组较大的权限,因为控制台必须发现身份并读取其附加的策略。
模拟:
列出身份:
列出附加的策略:
-
iam:ListPolicies, iam:ListUserPolicies,
iam:ListRolePolicies, iam:ListGroupPolicies
-
iam:ListAttachedUserPolicies,
iam:ListAttachedRolePolicies,
iam:ListAttachedGroupPolicies
获取策略文档:
获取权限边界:
用于模拟基于资源的策略的主体模式下的额外权限
要在主体模式模拟中包含资源的策略,请为该资源类型添加读取权限:
-
s3:GetBucketPolicy, sns:GetTopicAttributes,
sqs:GetQueueUrl, sqs:GetQueueAttributes,
glacier:GetVaultAccessPolicy
有关授予模拟器访问权限的示例策略,请参阅示例策略:Amazon Identity and Access Management (IAM)。
- Amazon CLI and Amazon API
-
对于 Amazon CLI 和 Amazon API,您只需拥有为待测试策略类型调用模拟操作的权限。如果先使用 iam:GetContextKeysForCustomPolicy 和 iam:GetContextKeysForPrincipalPolicy 来发现上下文密钥,则还需授予这些操作权限。出于安全考虑,操作分为以下两种模式。仅授予与待模拟内容相匹配的权限。
模拟以字符串形式直接传递给 API 的策略(自定义策略)
通过这些操作,您可以测试尚未附加到用户、用户组或角色的策略。您可以将策略作为字符串传递,这些策略仅在模拟中使用。
模拟附加到指定 IAM 用户、用户组、角色或资源的策略
这些操作可能会显示分配给其他 IAM 实体的权限,因此建议限制可以调用这些操作的用户。例如,要向名为 Bob 的用户授予权限,以便模拟已分配给名为 Alice 的用户的策略,请向 Bob 授予访问以下资源的权限:arn:aws:iam::777788889999:user/alice。
要查看允许为当前 Amazon Web Services 账户 中已附加策略和未附加的策略使用策略模拟器 API 的示例策略,请参阅 IAM:访问策略模拟器 API。要查看范围限定为具有特定路径的用户的策略示例,请参阅 IAM:基于用户路径访问策略模拟器 API。