我在Amazon S3中有一個名爲'data1'的桶。Amazon S3桶策略允許用戶向桶中寫入數據,但僅使用該桶
當我使用Cyberduck連接到我的S3時,我希望用戶只能訪問'data1'存儲區,而不能訪問其他存儲區。
我還設置了一個名爲data1的新IAM用戶,並將'AmazonS3FullAccess'策略附加到該用戶的權限 - 但允許訪問所有桶 - 這正是您所期望的。
我想我需要爲此設置另一個策略 - 但是我會怎麼做?
我在Amazon S3中有一個名爲'data1'的桶。Amazon S3桶策略允許用戶向桶中寫入數據,但僅使用該桶
當我使用Cyberduck連接到我的S3時,我希望用戶只能訪問'data1'存儲區,而不能訪問其他存儲區。
我還設置了一個名爲data1的新IAM用戶,並將'AmazonS3FullAccess'策略附加到該用戶的權限 - 但允許訪問所有桶 - 這正是您所期望的。
我想我需要爲此設置另一個策略 - 但是我會怎麼做?
首先找到用戶原則。這些可以通過這個命令
aws iam list-users
看阿恩場輸出例如
{
"Users": [
{
"UserName": "eric",
"Path": "/",
"CreateDate": "2016-07-12T09:08:21Z",
"UserId": "AIDAJXPI4SWK7X7PY4RX2",
"Arn": "arn:aws:iam::930517348925:user/eric"
},
{
"UserName": "bambi",
"Path": "/",
"CreateDate": "2015-07-15T11:07:16Z",
"UserId": "AIDAJ2LEXFRXJI5AKUU7W",
"Arn": "arn:aws:iam::930517348725:user/bambi"
}
]
}
再成立一家S3鬥政策中找到。這些適用於存儲桶並按每個存儲桶設置。正常的IAM策略是根據IAM實體設置的,並且連接到IAM實體,例如用戶。您已經有IAM策略。對於這個需求,S3策略是必需的。
只是強調 - S3政策適用於桶,並且「附加」到S3,IAM政策適用於IAM和與IAM對象相關聯。當IAM實體嘗試使用S3存儲桶時,可應用S3策略和IAM策略。見http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html
一旦你知道的原則ARN然後添加一個S3政策這樣
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "arn:aws:iam::930517348725:user/bambi",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/*"]
},
{
"Sid":"block",
"Effect":"Deny",
"Principal": "arn:aws:iam::930517348725:user/bambi",
"Action":["s3:*"],
"Resource":["arn:aws:s3:::*"]
}
]
}
我沒有測試過這一點,但就是一般的想法。對不起,我沒有用「數據1」兩個原則和剷鬥名的例子,但它太混亂.. :)
的可能的複製[基本AWS IAM權限的S3桶(HTTP://計算器。 COM /問題/ 9073755 /基本-AWS-IAM的權限換一個-S3-鬥) –