限定可存取 COS 的來源 IP

分類: BLOG, 儲存

雲端物件儲存 (Cloud Object Service, COS) 可與 Amazon S3 相容之物件儲存系統,並支援加密上傳與下載。用戶可透過s3cmd setpolicy 指令或 S3 Browser 圖形化介面等工具設定存取儲存體的存取規則,僅讓允許的來源 IP 存取,加強用戶的儲存體與檔案安全性。本文將教學如何以 s3cmd、S3 Browser 限制可存取儲存體的來源 IP。

前置作業

 

1. 建立  COS

建立方式請參考建立、刪除儲存體

2. 連線 COS

s3cmd 和 S3 Browser 安裝方式與連線 COS 儲存體設定方式請參考以下文件

3. 確認 COS 儲存體名稱、允許存取的來源 IP

  • 您可以 (1) 透過 s3cmd ls 指令 (2) S3 Browser 檢視所有公共/私有空間的儲存體名稱
  • 確認您允許使用該儲存體的來源 IP 位址

操作步驟

 

Step 1. 編輯 JSON 規則檔案

 

JSON 規則檔案範本如下,僅允許 (Allow) 來源 IP 為 203.145.219.99/32 對 your-bucket-name 儲存體進行讀取和下載 (s3:GetObject) 的動作:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your-bucket-name/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "203.145.219.99/32"
                }
            }
        }
    ]
}

請將規則檔以下的項目更換成您適用的內容:

  1. your-bucket-name 更換成您的儲存體名稱
  2. 203.145.219.99/32 更換成您允許存取的 IP 位址範圍。
  3. 更多 JSON 設定檔說明請參考此文件

Step 2. 對 bucket 設定 JSON 規則

 

  • s3cmd

    • 建立名為 policy 的規則檔 (檔案名稱可自行定義),並進入編輯畫面:
      nano policy.json
      
    • 複製貼上 Step 3 JSON 設定檔內容

    • 點選 ctrl + O 、 Enter 儲存並確認設定檔名稱
    • 點選 ctrl + X 離開編輯畫面
    • 執行以下指令設定規則,your-bucket-name 請更換成您的儲存體名稱,即可設定成功
        s3cmd setpolicy policy.json s3://your-bucket-name
      
  • S3 Browser

    • 對 bucket 點選右鍵 > 選擇 Edit Bucket Policy

    • 複製貼上 Step 1 JSON 設定檔內容 > 點選 Apply,即可設定成功

Step 3.  測試:非允許的 IP 無法檢視檔案

 

  • COS 檔案 URL:https://your-bucket-name.cos.twcc.ai/your-file-name.extention
    • your-bucket-name:更換成 bucket 名稱
    • your-file-name.extention:更換成 [檔案名稱.副檔名]
  • 若是由非 Step 2 設定的 IP 範圍來連結檔案的 URL,就無法檢視檔案內容的,僅能看到 Access Denied 的畫面,確認規則設定成功!

訂閱台智雲 EDM

訂閱台智雲 EDM

AI雲與算力方案諮詢

業務諮詢
Sales Contact Form