S3:调用GetObject操作时发生错误(AccessDenied):访问被拒绝

Lak*_*hmi 5 amazon-s3 amazon-ec2 bucket amazon-web-services aws-cli

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

aws s3 sync s3://sourceBucket  ./test --delete
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误消息

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
Run Code Online (Sandbox Code Playgroud)

sourceBucket具有以下权限

sourceBucket权限图片-单击此处

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

aws s3api list-objects --bucket sourceBucket --query 'Contents[].{Key: Key, Size: Size}'
Run Code Online (Sandbox Code Playgroud)

以下是它的输出

[
    {
        "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
    }
]
Run Code Online (Sandbox Code Playgroud)

可能有人会让我知道如何解决这个问题,我需要将所有对象从s3 sourceBucket下载到本地文件夹测试。

谢谢。

小智 7

如果使用KMS加密S3文件,还请确保IAM用户/角色有权使用适当的密钥来解密文件。在您的IAM仪表板中,单击“加密密钥”,然后单击用于S3存储桶的特定密钥,然后滚动到“密钥用户”并添加适当的帐户/角色。

  • 您的回答很有帮助!我一直在查看 S3 权限,忘记检查 kms 权限。 (2认同)