我创建了一个新用户,我只想访问有限数量的资源,主要是从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
操作。有人知道我为什么会看到这种行为吗?
答案 0 :(得分:0)
这里的问题与用于加密存储桶中对象的加密密钥有关。我正在对该S3存储桶中的对象使用KMS加密(静态)。我创建的新用户尚未添加到此特定KMS密钥的Key Users
中。这阻止了用户在S3的GetObject
操作期间使用此密钥解密对象。因此,该操作特别失败,并给出了(不太清楚)错误消息。
要解决:将IAM用户添加为KMS下的关键用户,并且现在可以正常使用。 ew ..