使用AWS CLI从S3下载文件

使用AWS CLI从S3下载文件

问题描述:

我已经启动了一个具有IAM角色的ec2实例,并将以下策略与IAM角色相关联。使用AWS CLI从S3下载文件

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

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

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

当我模拟策略并对桶中的对象执行操作时,我收到'允许'消息。我可以看到正确的实例配置文件附有实例当我访问http://169.254.254/latest-metadata/iam/info

有什么明显我失踪?

我忽略了一个小的错字。

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

桶名称前应该没有/。改变它,一切都很好。

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