【问题标题】:S3: An error occurred (AccessDenied) when calling the GetObject operation: Access DeniedS3:调用GetObject操作时发生错误(AccessDenied):Access Denied
【发布时间】:2017-09-28 11:59:23
【问题描述】:

使用命令 aws configure 配置 AWSCLI 后。我正在尝试使用以下命令将文件从 S3 存储桶下载到本地文件夹测试

aws s3 sync s3://sourceBucket  ./test --delete

但它会抛出以下错误消息

download failed: s3://sourceBucket/jobs/Test/1/slider-test-0.0.1-SNAPSHOT.war to test/jobs/Test/1/slider-test-0.0.1-SNAPSHOT.war An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
download failed: s3://sourceBucket/jobs/Test/2/slider-test-0.0.1-SNAPSHOT.war to test/jobs/Test/2/slider-test-0.0.1-SNAPSHOT.war An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

sourceBucket 具有以下权限

sourceBucket permissions Image - clickhere

当我使用此命令检查 sourceBucket 中的对象列表时

aws s3api list-objects --bucket sourceBucket --query 'Contents[].{Key: Key, Size: Size}'

下面是它的输出

[
    {
        "Key": "jobs/Test/1/slider-test-0.0.1-SNAPSHOT.war", 
        "Size": 2546325
    },
    {
        "Key": "jobs/Test/2/slider-test-0.0.1-SNAPSHOT.war", 
        "Size": 3571598
    }
]

谁能告诉我如何解决这个问题,我需要将所有对象从 s3 sourceBucket 下载到本地文件夹 test。

谢谢。

【问题讨论】:

标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli bucket


【解决方案1】:

如果您使用 KMS 加密您的 S3 文件,还要确保 IAM 用户/角色有权使用适当的密钥来解密文件。在您的KMS dashboard 中,单击“客户管理的密钥”,然后单击用于 S3 存储桶的特定密钥。然后,您需要将适当的帐户/角色添加到密钥策略中。更多内容见:https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam

【讨论】:

  • 您的回答帮了大忙!我一直在查看 S3 权限并忘记检查 kms 权限。
  • 是的,这就是我的灵感——将来会使用 AWS 托管的 KMS 密钥。
  • 在 IAM 控制面板中找不到“加密密钥”
  • @LeninRajRajasekaran 他们将此选项移至 KMS 控制台。 console.aws.amazon.com/kms 从那里您可以查看您的“客户管理的密钥”,然后根据需要更新“关键用户”。
猜你喜欢
  • 2020-05-06
  • 1970-01-01
  • 2021-07-28
  • 2021-09-23
  • 2023-01-29
  • 2020-01-16
  • 2020-07-08
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多