限定可存取 COS 的來源 IP

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

前置作業

 

1. 建立 TWSC COS

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

2. 連線 TWSC 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