在Function Compute中,為HTTP觸發器配置Bearer認證,讓您的函數可以簡便、安全的被授權使用者訪問。
背景資訊
Function Compute支援為HTTP觸發器開啟Bearer認證。在Bearer認證中,使用者通過在Function Compute控制台上配置允許訪問函數的token資訊,用戶端在發起訪問時,通過Authorization Header攜帶有效token資訊,當訪問請求中的token資料與觸發器上配置的token資料匹配時,即可成功訪問函數。
前提條件
使用限制
每個Token名稱需要在單個觸發器內唯一,最大長度為128字元,只能包含字母、數字、 底線和中劃線。不能以數字、中劃線開頭。
每個Token的值長度需要在32字元到128字元之間,並且只允許包含標準 Base64 字元 ‘A-Z’, ‘a-z’, ‘0-9’, ‘+’, ‘/’,‘=’,‘-’, ‘~’, ‘.’ 。
每個HTTP觸發器允許配置的Token數量在1到20之間。
不同觸發器的Token以及同一個觸發器內的Token值應當不同,並且儘可能不要使用常見的排列組合作為Token的值,以免Token資料過於簡單導致的安全問題。
Bearer認證請在生產環境使用HTTPS協議,HTTP協議僅用於開發測試,因使用HTTP協議導致的Token泄漏,FC不承擔安全責任。
Function Compute僅負責儲存和校正您配置的Token資訊,Token的管理需要您自己負責。請及時輪換已經泄漏的Token和已經被證明是不安全的Token,Token使用時間較長時,也請主動輪換。
操作步驟
步驟一:配置Bearer認證
登入Function Compute控制台,在左側導覽列,選擇。
在頂部功能表列,選擇地區,然後在函數列表頁面,單擊目標函數。
在函數詳情頁面,單擊觸發器頁簽,然後單擊HTTP觸發器操作列的編輯。
在編輯觸發程序面板,設定以下配置項,然後單擊確定。
認證方式選擇Bearer認證,Token類型選擇Opaque,認證Token中
tokenData的值配置為您自己的Token值。如果要禁用對應的Token,只需要將
enable欄位設定為false。
如果需要配置多個Token,格式如下:
{ "tokens": [ { "enable": true, "tokenData": "token-8g7f2a2c9fc23hid82593421g995", "tokenName": "tokenName-20i" }, { "enable": true, "tokenData": "token-8g7f2a2c9fc23hid82593421g995", "tokenName": "tokenName-20i" } ] }
步驟二:操作驗證
通過curl工具,攜帶Authorization Header發起驗證。
curl --data 您的資料 -X 訪問方式 -H "Authorization: Bearer 您的Token資料" https://您的http觸發器地址樣本值如下:
curl -X POST -H "Authorization: Bearer token-c9e25351******" https://******.cn-hangzhou.fcapp.run常見問題
為什麼開啟Bearer認證後,訪問網域名稱提示:Authorization header is expected but missing。
該提示說明訪問HTTP觸發器未攜帶Authorization頭,請在請求中增加Authorization資訊。
為什麼開啟Bearer認證後,訪問網域名稱提示:access denied due to invalid bearer token。
該提示說明訪問HTTP觸發器未攜帶有效Token資訊,請檢查Token資料是否傳遞正確,Token的資料來自於tokenData的值。
開啟Bearer認證後,是否會產生額外的費用?
不會。Function Compute預設提供的網關相關的功能計費都是在函數調用次數中進行收費,所以不管您是否開啟Bearer認證,都不會產生額外的費用。