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"
}
}
}
]
}
請將規則檔以下的項目更換成您適用的內容:
your-bucket-name
更換成您的儲存體名稱203.145.219.99/32
更換成您允許存取的 IP 位址範圍。- 更多 JSON 設定檔說明請參考此文件
Step 2. 對 bucket 設定 JSON 規則
-
s3cmd
- 建立名為 policy 的規則檔 (檔案名稱可自行定義),並進入編輯畫面:
nano policy.json
- 複製貼上 Step 3 JSON 設定檔內容
- 建立名為 policy 的規則檔 (檔案名稱可自行定義),並進入編輯畫面:
-
- 點選
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 的畫面,確認規則設定成功!