AWS策略资源中的通配符'*'

时间:2020-08-06 05:12:06

标签: amazon-web-services aws-kms

我有一个包含以下声明的AWS KMS密钥策略:

{
          "Sid": "Enable IAM User Permissions",
          "Effect": "Allow",
          "Principal": {"AWS": "arn:aws:iam::111122223333:root"},
          "Action": "kms:*",
          "Resource": "*"
}

我可以理解,指定帐号的给定IAM根用户可以执行所有kms:操作。 *对资源意味着什么?它应该是密钥的核心吗? 通常,任何资源策略中的“ Resource”:“ *”是什么意思?

1 个答案:

答案 0 :(得分:0)

通过在任何策略(无论是存储桶策略或密钥策略之类的资源策略,还是IAM策略)中都具有此策略,它将适用于可应用于该策略的所有资源(IAM适用于所有内容,密钥策略只能应用于该策略所附加的密钥。

*可以访问这些资源的全部范围,在只是此密钥的密钥策略情况下,您还可以添加指定Arn以获得与该密钥完全相同的效果。

在其他资源策略(例如S3存储桶策略)中,您实际上可以基于S3前缀来执行此操作,以限制用户可以访问的内容,例如arn:aws:s3:::my-bucket/public/*