Object Storage Service支援對儲存空間(Bucket)設定防盜鏈,即通過對訪問來源設定白名單的機制,避免OSS資源被其他人盜用。referer命令用於添加、修改、查詢、刪除Bucket的防盜鏈配置。
注意事項
要添加或修改防盜鏈配置,您必須具有
oss:PutBucketReferer
許可權;要查看防盜鏈配置,您必須具有oss:GetBucketReferer
許可權;要刪除防盜鏈配置,您必須具有oss:DeleteBucketReferer
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。
從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考。
關於防盜鏈的更多資訊,請參見防盜鏈。
添加或修改防盜鏈配置
如果Bucket此前未添加過防盜鏈配置,則使用該命令將為Bucket添加防盜鏈配置。如果Bucket此前已添加防盜鏈配置,則使用該命令將直接覆蓋已有的防盜鏈配置。
添加或修改防盜鏈配置的命令格式和樣本如下:
命令格式
ossutil referer --method put oss://bucketname refererconfig [--disable-empty-referer]
參數及選項說明如下:
配置項
說明
bucketname
待添加或修改防盜鏈配置的Bucket名稱。
refererconfig
填寫網域名稱或IP地址,支援萬用字元星號(*)和半形問號(?),多個Referer需以空格分隔。配置樣本如下:
配置為
http://www.aliyun.com
時,可匹配http://www.aliyun.com/123、http://www.aliyun.com.cn等以http://www.aliyun.com為首碼的地址。配置為
*www.aliyun.com
,可匹配http://www.aliyun.com、https://www.aliyun.com等包含www.aliyun.com
的地址。萬用字元星號(*)表示使用星號代替0個或多個字元。例如配置為
*.aliyun.com
,可匹配https://help.aliyun.com、https://www.aliyun.com等地址。萬用字元半形問號(?)表示使用問號代替一個字元。
支援帶連接埠的網域名稱或IP,例如https://www.example.com:8080、https://10.0.0.0:8080等地址。
--disable-empty-referer
選擇是否允許空Referer。
不添加此選項時,表示允許空Referer,即HTTP或HTTPS Header中不帶Referer欄位或Referer欄位為空白。
添加此選項後,表示不允許空Referer,即HTTP或HTTPS Header中帶Referer欄位且值不為空白。
使用樣本
為目標儲存空間examplebucket設定防盜鏈,允許網域名稱為
www.aliyun.com
的網站引用OSS檔案,不允許在瀏覽器中輸入URL直接存取OSS檔案。ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.com --disable-empty-referer
為目標儲存空間examplebucket設定防盜鏈,允許網域名稱為
www.aliyun.com
的網站引用OSS檔案,並且允許在瀏覽器中輸入URL直接存取OSS檔案。ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.com
以下輸出結果表明已成功添加防盜鏈配置。
0.134839(s) elapsed
查看防盜鏈配置
命令格式
ossutil referer --method get oss://bucketname [local_xml_file]
參數說明如下:
參數
說明
bucketname
待擷取防盜鏈配置的Bucket名稱。
local_xml_file
存放防盜鏈配置的本地檔案名稱,例如
localfile.txt
。如果未指定此參數,則防盜鏈配置將直接輸出到螢幕。使用樣本
擷取儲存空間examplebucket的防盜鏈配置,並將配置結果寫入本地檔案
localfile.txt
。ossutil referer --method get oss://examplebucket localfile.txt
以下輸出結果表明已成功擷取防盜鏈配置。
0.212407(s) elapsed
擷取儲存空間examplebucket的防盜鏈配置,並將配置結果直接輸出螢幕。
ossutil referer --method get oss://examplebucket
以下輸出結果表明examplebucket的防盜鏈配置中,僅HTTP或HTTPS Header中與
*www.aliyun.com
匹配的請求允許訪問examplebucket,且不允許空Referer。<?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <RefererList> <Referer>*www.aliyun.com</Referer> </RefererList> </RefererConfiguration> 0.080482(s) elapsed
刪除防盜鏈配置
命令格式
ossutil referer --method delete oss://bucketname
bucketname表示待刪除防盜鏈配置的Bucket名稱。
使用樣本
刪除儲存空間examplebucket的防盜鏈配置。
ossutil referer --method delete oss://examplebucket
以下輸出結果表明已成功刪除防盜鏈配置。
0.212409(s) elapsed
通用選項
當您需要通過命令列工具ossutil切換至另一個地區的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令列工具ossutil切換至另一個阿里雲帳號下的Bucket時,可以通過-i選項指定該帳號的AccessKey ID,並通過-k選項指定該帳號的AccessKey Secret。
例如您需要為另一個阿里雲帳號下,華東1(杭州)地區下名為testbucket的儲存空間設定防盜鏈,命令如下:
ossutil referer --method put oss://testbucket www.alibabacloud.com -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關於此命令的其他通用選項的更多資訊,請參見通用選項。