使用 AWS CLI 从 S3 下载文件

download file from S3 using AWS CLI

我已经启动了一个具有 IAM 角色的 ec2 实例,并将以下策略与 IAM 角色相关联。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::/testbucket/*",
            "Effect": "Allow"
        }
    ]
}

但是,当我尝试使用 aws cli 从 ec2-instance 中下载文件时,访问被拒绝。

aws s3api get-object --bucket testbucket --key file_name file_name

当我模拟策略并对存储桶中的对象执行操作时,我收到消息 'allowed'。当我访问 http://169.254.254/latest-metadata/iam/info

时,我可以看到实例附加了正确的实例配置文件

有什么明显的我遗漏的吗?

我忽略了一个小错字。

"Resource": "arn:aws:s3:::/testbucket/*"

桶名前不能有/。改好了一切正常

"Resource": "arn:aws:s3:::testbucket/*"