2016-04-12 65 views
-1

我有一個問題,我需要爲我的客戶實施每日備份,我有一個應用程序來管理客戶端本地工作的呼叫中心,我有數據庫和應用程序,我需要做在雲端的每日備份,我正在考慮S3,但我有點擔心安全問題,因爲我需要創建一個可以上傳到S3 Bucket的AWS公共帳戶,並且該帳戶將位於服務器中,所以如果有人獲得鑰匙,他們將能夠上傳東西,或洪水S3桶,有一個安全的方法來做到這一點?亞馬遜S3作爲備份

我知道,因爲服務器在客戶端,基本上很難保證安全,但我試圖讓事情變得硬如可能的話,給別人獲取或鍵/接入等

如果有是我可以使用的任何其他服務,這將是有趣的知道。

回答

1

我強烈建議你在管理訪問權限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"] }, 

     } 
    } 
    ] 
} 

在上面您將更改以下內容:

  1. 「Principal」下的IAM用戶列表。您將補充爲您爲每位客戶創建的單個IAM用戶。
  2. 您的存儲桶的名稱和「資源」下的文件類型。
  3. 最後,您可以使用白名單服務器的公共IP地址中顯示的「IpAddress」將IP地址列入白名單。

您可以進一步限制用戶上傳文件到一天中的特定時間(更復雜但可以完成)的能力。在這種情況下,上傳能力將僅限於特定的IAM用戶,在特定的時間從特定的源IP地址上傳特定的文件類型。 IMO對備份的上傳限制非常嚴格。既然你沒有給予任何人下載這些文件的能力,我認爲這是一個合理和強大的安全級別,最大的風險是流氓上傳,這將花費你的存儲費;您還可以設置警報以通知您可疑活動。關鍵是您的情況看似低風險,您可以輕鬆管理您的需求。

最後,根據您需要訪問備份數據的頻率,您應該考慮使用Glacier Vaults而不是S3存儲桶...... Glacier實際上比較便宜,專爲需要不經常訪問的數據而設計。

+0

謝謝你的解釋,那正是我在找的東西,有了這個限制,我想它會沒問題,我會看看冰川穹頂,我不知道它!順便說一句,我會閱讀文檔哈哈 –

+0

我的榮幸。感謝您接受它作爲答案! – hephalump