amazon-web-services - AWS 策略资源中的通配符“*”
问题描述
我有一个 AWS KMS 密钥策略,包含如下声明:
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:root"},
"Action": "kms:*",
"Resource": "*"
}
我可以理解,指定帐号的给定根 IAM 用户可以执行所有 kms: 操作。* 对资源意味着什么?它应该是钥匙的钥匙吗?一般来说,“资源”:“*”在任何资源策略中是什么意思?
解决方案
通过在任何策略(无论是存储桶策略或密钥策略等资源策略,或者如果它是 IAM 策略)中包含此内容,它将适用于可以限定在策略范围内的所有资源(IAM 适用于所有内容,密钥策略可以仅适用于策略附加到的密钥)。
提供对这些资源的全部范围的*
访问权限,在仅此键的关键策略案例中,您还可以添加指定 Arn 以获得与该键完全相同的效果。
在其他资源策略(例如 S3 存储桶策略)中,您实际上可以基于 S3 前缀执行此操作,以限制用户可以访问的范围,例如arn:aws:s3:::my-bucket/public/*
推荐阅读
- python - 是否可以在 Openlayers 上旋转图像层?
- bash - 如何将多行输出解析为单独的变量
- javascript - OpenWeatherMap API 返回“未定义”
- c++ - 如何混淆或删除二进制文件中的导出名称
- javascript - 根据数字增量选中或取消选中复选框?(仅在纯 javascript 中)
- python - 为什么我在 python 中的 Boolean def 为空时返回 True?
- python - 如果我安装了 python 3.8,为什么我缺少 python39.dll 文件。7
- tensorflow - 将我的数据集转换为 TFrecord 格式以在 colab 中运行 Deeplabs 时出错
- python - 为什么我不能在 usina 引擎中加载 3d 模型?
- javascript - 打字稿:自动完成功能不起作用,带有减少和可选承诺的组合