View a markdown version of this page

使用策略模拟器所需的权限 - AWS Identity and Access Management

使用策略模拟器所需的权限

您所需的权限取决于您使用的是 AWS CLI、AWS API 还是 IAM 控制台,以及您使用的模式。

Console

需要具备调用 iam:GetContextKeysForCustomPolicy 的权限,才能在控制台上使用 IAM 策略模拟器。

所需的其他权限取决于所用模式。在主体模式下,您需要额外的读取权限,以列出账户中的身份并读取其附加的策略。若要减少需授予的权限,在只需测试粘贴的策略时,使用自定义模式。

自定义模式

要使用自定义模式(在此模式下,需粘贴要测试的策略),还需要 iam:SimulateCustomPolicy

主体模式

要使用主体模式(在此模式下,控制台会加载并显示账户中的身份和策略),您需要通用权限以及以下权限。这是一组较大的权限,因为控制台必须发现身份并读取其附加的策略。

模拟:

  • iam:SimulatePrincipalPolicy

列出身份:

  • iam:ListUsers, iam:ListRoles, iam:ListGroups

  • iam:ListGroupsForUser

列出附加的策略:

  • iam:ListPolicies, iam:ListUserPolicies, iam:ListRolePolicies, iam:ListGroupPolicies

  • iam:ListAttachedUserPolicies, iam:ListAttachedRolePolicies, iam:ListAttachedGroupPolicies

获取策略文档:

  • iam:GetPolicyVersion, iam:GetUserPolicy, iam:GetRolePolicy, iam:GetGroupPolicy

获取权限边界:

  • iam:GetUser, iam:GetRole

用于模拟基于资源的策略的主体模式下的额外权限

要在主体模式模拟中包含资源的策略,请为该资源类型添加读取权限:

  • s3:GetBucketPolicy, sns:GetTopicAttributes, sqs:GetQueueUrl, sqs:GetQueueAttributes, glacier:GetVaultAccessPolicy

有关授予模拟器访问权限的示例策略,请参阅示例策略:AWS Identity and Access Management (IAM)

AWS CLI and AWS API

对于 AWS CLI 和 AWS API,您只需拥有为待测试策略类型调用模拟操作的权限。如果先使用 iam:GetContextKeysForCustomPolicyiam:GetContextKeysForPrincipalPolicy 来发现上下文密钥,则还需授予这些操作权限。出于安全考虑,操作分为以下两种模式。仅授予与待模拟内容相匹配的权限。

模拟以字符串形式直接传递给 API 的策略(自定义策略)

  • iam:SimulateCustomPolicy

  • iam:GetContextKeysForCustomPolicy(仅适用于使用上下文密钥发现步骤时)

通过这些操作,您可以测试尚未附加到用户、用户组或角色的策略。您可以将策略作为字符串传递,这些策略仅在模拟中使用。

模拟附加到指定 IAM 用户、用户组、角色或资源的策略

  • iam:SimulatePrincipalPolicy

  • iam:GetContextKeysForPrincipalPolicy(仅适用于使用上下文密钥发现步骤时)

这些操作可能会显示分配给其他 IAM 实体的权限,因此建议限制可以调用这些操作的用户。例如,要向名为 Bob 的用户授予权限,以便模拟已分配给名为 Alice 的用户的策略,请向 Bob 授予访问以下资源的权限:arn:aws:iam::777788889999:user/alice

要查看允许为当前 AWS 账户 中已附加策略和未附加的策略使用策略模拟器 API 的示例策略,请参阅 IAM:访问策略模拟器 API。要查看范围限定为具有特定路径的用户的策略示例,请参阅 IAM:基于用户路径访问策略模拟器 API