我有一个包含以下声明的AWS KMS密钥策略:
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:root"},
"Action": "kms:*",
"Resource": "*"
}
我可以理解,指定帐号的给定IAM根用户可以执行所有kms:操作。 *对资源意味着什么?它应该是密钥的核心吗? 通常,任何资源策略中的“ Resource”:“ *”是什么意思?
答案 0 :(得分:0)
通过在任何策略(无论是存储桶策略或密钥策略之类的资源策略,还是IAM策略)中都具有此策略,它将适用于可应用于该策略的所有资源(IAM适用于所有内容,密钥策略只能应用于该策略所附加的密钥。
*
可以访问这些资源的全部范围,在只是此密钥的密钥策略情况下,您还可以添加指定Arn以获得与该密钥完全相同的效果。
在其他资源策略(例如S3存储桶策略)中,您实际上可以基于S3前缀来执行此操作,以限制用户可以访问的内容,例如arn:aws:s3:::my-bucket/public/*