2016-07-18 107 views
1

我使用的配置有AdministrationAccess客戶端錯誤(存取遭拒):拒絕訪問

鬥配置了以下政策:

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "myPolicy", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "*", 
     "Resource": [ 
      "arn:aws:s3:::bucket-name/*", 
      "arn:aws:s3:::bucket-name" 
     ] 
    } 
] 

}

在受讓人:

所有四個操作的每個人

我無法想象一個水桶比這更開放,爲什麼我仍然得到錯誤

A client error (AccessDenied) occurred when calling the PutObject operation: Access Denied 
+0

爲什麼您在資源中指定了兩次存儲桶名稱? – error2007s

+0

@ error2007s一個用於存儲桶本身,另一個用於存儲桶的內容。 – kev

回答

2

使用該策略將完全進入水桶工作。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": "s3:ListAllMyBuckets", 
     "Resource": "arn:aws:s3:::*" 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "s3:ListBucket", 
     "s3:GetBucketLocation" 
     ], 
     "Resource": "arn:aws:s3:::EXAMPLE-BUCKET-NAME" 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "s3:PutObject", 
     "s3:GetObject", 
     "s3:DeleteObject" 
     ], 
     "Resource": "arn:aws:s3:::EXAMPLE-BUCKET-NAME/*" 
    } 
    ] 
} 
+0

存儲桶策略編輯器向我提供以下錯誤「丟失必填字段主體 - 未定義」 –

+0

什麼存儲桶策略編輯器?這是一個有效的政策檢查此屏幕截圖我還通過aws控制檯管理在我的AWS賬戶http://imgur.com/VzDfZNc – error2007s

+0

中使用該政策。這是一個有效的IAM策略,是一個有效的s3桶策略嗎?我的IAM角色具有最高可能的訪問權限,即管理員 –

1

根據AWS S3 documentation實例指定tresource URI應該是一個字符串,而不是陣列。只要它不是通配符。

"Resource": [ 
    "*" 
] 

"Resource": "arn:aws:s3:::bucket-name/*" 

不要忘記尾隨通配符當您指定URI。