首页 > 解决方案 > AWS 策略资源中的通配符“*”

问题描述

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

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

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

标签: amazon-web-servicesaws-kms

解决方案


通过在任何策略(无论是存储桶策略或密钥策略等资源策略,或者如果它是 IAM 策略)中包含此内容,它将适用于可以限定在策略范围内的所有资源(IAM 适用于所有内容,密钥策略可以仅适用于策略附加到的密钥)。

提供对这些资源的全部范围的*访问权限,在仅此键的关键策略案例中,您还可以添加指定 Arn 以获得与该键完全相同的效果。

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


推荐阅读