Amazon-Web-Services

無法將文件從 VPC 中的 EC2 複製到具有 EC2 角色的 S3

  • November 6, 2015

從在 VPC 中執行的 EC2 實例,我需要使用 awscli 訪問 S3 儲存桶,以便將文件從 EC2 複製到 S3。

我成功地創建了一個帶有附加自定義策略的端點,該自定義策略是使用 Amazon 提供的策略建構器建構的。

EC2 以特定角色執行,如果我將此類角色“ARN:…”分配給委託人,我將收到“拒絕訪問”。如果我用“*”替換角色,它會完美執行。我做錯了什麼?如您所見,這是一項政策,我只允許上傳和檢索對象:

{
   "Version": "2012-10-17",
   "Id": "Policy14467516498654",
   "Statement": [
       {
           "Sid": "Stmt1446751649837",
           "Effect": "Allow",
           "Principal": {
               "AWS": "*" <-- it's not working with specific role
           },
           "Action": [
               "s3:ListAllMyBuckets",
               "s3:ListBucket",
               "s3:PutObject",
               "s3:AbortMultipartUpload",
               "s3:GetBucketLocation",
               "s3:GetObject",
               "s3:CreateMultipartUpload"
           ],
           "Resource": "arn:aws:s3:::thebucket/thechildbucket/*"
       }
   ]
}

該角色具有完整的 EC2 訪問權限。我已經嘗試分配完整的 S3 訪問權限,但它不起作用。

角色本身的策略必須有 S3:

$$ permissions $$也可以訪問目標儲存桶。

{
       "Sid": "Stmt1234",
       "Effect": "Allow",
       "Action": [
           "s3:*"
       ],
       "Resource": [
           ""arn:aws:s3:::thebucket/thechildbucket",
           ""arn:aws:s3:::thebucket/thechildbucket/*"

       ]
   }

引用自:https://serverfault.com/questions/734409