簡體   English   中英

是否按AWS區域限制對S3存儲桶的訪問?

[英]Restricting access to an S3 bucket by AWS region?

我們有許多需要在互聯網上搜尋的MySQL數據庫和圖像文件(xx TB),這些數據庫和圖像文件需要分發給我們的用戶。 為避免潛在的數據傳輸賬單混亂,我們僅允許從同一區域內訪問我們的數據下載。

我們如何在S3存儲桶策略中強制執行此操作? 我們想到的是這樣的:

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "Same region access only",
         "Effect": "Allow",
         "Action": [
            "s3:GetBucketLocation",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::ourbucket"
         ],
         "Condition": {
            "IpAddress": {
                "aws:SourceIp": ["18.208.0.0/13", "52.95.245.0/24", "54.196.0.0/15", ... ]
            }
        }
      },
   ]
}

IP范圍來自此處: https//ip-ranges.amazonaws.com/ip-ranges.json

但是,對於任何特定的AWS區域而言,那里的IP范圍太多 ,很難將它們添加到我們的存儲桶策略中,這很容易受到我們將來必須保持的更改的影響。

有沒有更好的方法可以實現這一目標,例如:

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "Permissions to foreign account 1",
         "Effect": "Allow",
         "Action": [
            "s3:GetBucketLocation",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::ourbucket"
         ],
         "Condition": {
            "Source": {
                "aws:Region": ["us-east-1", "eu-central-1", ... ]
            }
        }
      },
   ]
}

這將是非常好的。 可能? 還是IP范圍是執行此操作的唯一方法?

盡管S3存儲桶是特定於區域的,但這僅會影響訪問它們時的延遲。 默認情況下,從公共互聯網訪問時,不管原始區域如何,傳出數據傳輸的價格都相同。 S3存儲桶之間的轉移也是免費的。

如果您啟用了CRR之類的功能,則需要支付單獨的復制費用,但是再次向公共Internet傳輸則無需另外付費。

當您將數據從S3移至其他地區的任何其他Amazon服務時,跨區域傳輸將收費。

所有相關數據和詳細信息都可以在這里找到。

如果您覺得上一頁中的定價詳細信息不夠清楚,則應向Amazon提出支持案例,他們應該能夠為您提供更詳細的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM