2017-05-09 193 views
0

我已經啓動了一個具有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

有什麼明顯我失蹤?

回答

1

我忽略了一個小的錯字。

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

桶名稱前應該沒有/。改變它,一切都很好。

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