AWS 策略资源中的通配符“*”
Wildcard '*' in Resource for AWS policies
我有一个 AWS KMS 密钥策略,包含如下语句:
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:root"},
"Action": "kms:*",
"Resource": "*"
}
我了解到指定帐号的给定根 IAM 用户可以执行所有 kms: 操作。 * 对资源意味着什么?应该是钥匙的钥匙吗?
一般而言,"Resource": "*" 在任何资源策略中是什么意思?
通过在任何策略(无论是资源策略,如存储桶策略或密钥策略,还是 IAM 策略)中使用它,它将应用于所有可以在策略范围内的资源(IAM 适用于所有内容, 密钥策略只能应用于该策略附加到的密钥)。
*
可以访问这些资源的全部范围,在关键策略案例中,就是这个键,您还可以添加指定 Arn 以获得与键完全相同的效果。
在 S3 存储桶策略等其他资源策略中,您实际上可以基于 S3 前缀来限制用户可以访问的范围,例如 arn:aws:s3:::my-bucket/public/*
我有一个 AWS KMS 密钥策略,包含如下语句:
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:root"},
"Action": "kms:*",
"Resource": "*"
}
我了解到指定帐号的给定根 IAM 用户可以执行所有 kms: 操作。 * 对资源意味着什么?应该是钥匙的钥匙吗? 一般而言,"Resource": "*" 在任何资源策略中是什么意思?
通过在任何策略(无论是资源策略,如存储桶策略或密钥策略,还是 IAM 策略)中使用它,它将应用于所有可以在策略范围内的资源(IAM 适用于所有内容, 密钥策略只能应用于该策略附加到的密钥)。
*
可以访问这些资源的全部范围,在关键策略案例中,就是这个键,您还可以添加指定 Arn 以获得与键完全相同的效果。
在 S3 存储桶策略等其他资源策略中,您实际上可以基于 S3 前缀来限制用户可以访问的范围,例如 arn:aws:s3:::my-bucket/public/*