我強烈建議你在管理訪問權限S3資源http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
你絕對不需要創建具有公共訪問您服務公共賬號閱讀AWS文檔。您可以簡單地創建一個策略,將上傳能力限制爲任何您想要的參數。然後你上傳該權限的桶。
樣品桶政策,限制訪問特定的IAM用戶,誰是從特定IP地址的連接,並進一步限制了上傳到特定的文件類型的文件(.zip)可能是這樣的:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddCannedAcl",
"Effect":"Allow",
"Principal": {"AWS": ["arn:aws:iam::111122223333:root","arn:aws:iam::444455556666:root"]},
"Action":["s3:PutObject","s3:PutObjectAcl"],
"Resource": "arn:aws:s3:::your-bucket-name/*.zip",
"Condition":{
"StringEquals":{"s3:x-amz-acl":["public-read"]},
"IpAddress" : { "aws:SourceIp" : ["10.0.0.0/24", "192.168.0.9/32"] },
}
}
]
}
在上面您將更改以下內容:
- 「Principal」下的IAM用戶列表。您將補充爲您爲每位客戶創建的單個IAM用戶。
- 您的存儲桶的名稱和「資源」下的文件類型。
- 最後,您可以使用白名單服務器的公共IP地址中顯示的「IpAddress」將IP地址列入白名單。
您可以進一步限制用戶上傳文件到一天中的特定時間(更復雜但可以完成)的能力。在這種情況下,上傳能力將僅限於特定的IAM用戶,在特定的時間從特定的源IP地址上傳特定的文件類型。 IMO對備份的上傳限制非常嚴格。既然你沒有給予任何人下載這些文件的能力,我認爲這是一個合理和強大的安全級別,最大的風險是流氓上傳,這將花費你的存儲費;您還可以設置警報以通知您可疑活動。關鍵是您的情況看似低風險,您可以輕鬆管理您的需求。
最後,根據您需要訪問備份數據的頻率,您應該考慮使用Glacier Vaults而不是S3存儲桶...... Glacier實際上比較便宜,專爲需要不經常訪問的數據而設計。
謝謝你的解釋,那正是我在找的東西,有了這個限制,我想它會沒問題,我會看看冰川穹頂,我不知道它!順便說一句,我會閱讀文檔哈哈 –
我的榮幸。感謝您接受它作爲答案! – hephalump