amazon-web-services - aws s3 cp - 仅使用 AdministratorAccess
问题描述
我创建了一个新用户,我只想访问有限数量的资源,主要是从 S3 读取。
出于某种原因,如果我向 IAM 用户提供 AdministratorAccess 策略,它只会从 s3 存储桶中读取。这是命令
aws s3 cp s3://my-bucket/my-config.json my-config.json
AmazonS3ReadOnlyAccess 错误:
download failed: s3://my-bucket/my-config.json to ./my-config.json An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
但是当我添加AdministratorAccess时,它会很好地复制文件。
AmazonS3ReadOnlyAccess 也可以访问GetObject
所有资源上的操作。有谁知道我为什么会看到这种行为?
解决方案
这里的问题与用于加密存储桶中的对象的加密密钥有关。我正在为此 S3 存储桶中的对象使用 KMS 加密(静态)。我创建的新用户尚未添加Key Users
到此特定 KMS 密钥。这阻止了用户GetObject
在 S3 中的操作期间使用此密钥解密对象。因此,具体而言,该操作失败了,这给出了(不太清楚)错误消息。
修复:将 IAM 用户添加为 KMS 下的关键用户,现在一切正常。呸..
推荐阅读
- reactjs - 将类添加到地图功能内的以下按钮
- sql - 如何在 Select-List 上使用列值作为列名或计算符号
- swift - 如何在不更改格式的情况下将字符串转换为日期
- ggplot2 - 更改 geom_tile 中的色阶
- sqlite - DbContext.EnsureCreated() : ArgumentNullException 仅在 RELEASE 构建时
- apache - 修改certbot手动创建的证书
- fusionauth - 在成功的密码重置用户停留在成功状态页面
- javascript - 在 Excel Javascript 中删除和替换工作表而不破坏对它的引用
- c# - 以 C# 形式运行批处理文件
- java - 为什么 yield 一个线程可以解决 Java 中的线程可见性问题