URL鑒權配置
更新時間 2024-08-26 15:36:57
最近更新時間: 2024-08-26 15:36:57
分享文章
本文介紹URL鑒權的適用場景和配置方法。
功能介紹
默認情況下在邊緣分發的內容大部分都是公開資源,用戶可以直接請求URL獲取。為了防止站點資源被惡意下載或者非法盜用,避免產生不必要的帶寬浪費,您可以在天翼云邊緣安全加速平臺上配置URL鑒權功能。配置URL鑒權后,邊緣節點會對加密串及時間戳進行校驗,從而有效地保護用戶站點資源。
適用場景
1、需要對站點資源限制用戶訪問,避免資源被惡意下載或者非法盜用。
2、請求的資源都具有一定的時效性,超過時效則不允許訪問。
注意事項
1、配置URL鑒權需要客戶端跟產品服務配合一起開啟。
2、配置鑒權后,用戶將攜帶鑒權參數訪問,建議緩存策略修改為忽略鑒權參數進行緩存,否則將增大回源概率。
3、當鑒權規則(含算法、秘鑰、鑒權參數等)發生變更時,需要通知安全與加速產品配合更改,否則將導致用戶請求異常。
4、如果您的鑒權URL中含有中文或特殊字符,需先進行URL轉碼(即Encode)后使用。
配置說明
天翼云提供三種鑒權方式供您參考配置,以下為詳細的鑒權原理及配置說明。
(一)鑒權方式A
1、原理說明
- 鑒權方式A訪問URL構成://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash。
- 鑒權字段說明:
| 字段 | 描述 |
|---|---|
| DomainName | 服務域名。 |
| Filename | 實際回源訪問的URL,鑒權時Filename需以/開頭。不包含?后面的參數。 |
| auth_key | 設定的鑒權參數名,默認為auth_key,也可自定義。 |
| timestamp | 鑒權服務器生成鑒權URL的時間,即:鑒權開始時間,值為從1970年1月1日0點至當前時間總秒數 ,十進制整數。 備注:與鑒權URL有效時長共同控制鑒權URL的失效時間。鑒權URL實際有效期=timestamp+配置的鑒權URL有效時長。 |
| rand | 隨機數。0 - 64位隨機字符串,由大小寫字母與數字組成,例如:477b3bbcf6711128c7bec。 |
| uid | 用戶ID,暫未使用,設置成0即可。 |
| md5hash | 通過MD5算法計算出的32位字符串。計算公式如下:md5hash = md5sum(Filename-timestamp-rand-uid-key)。 備注1:md5加密元素分隔符默認中劃線(-),也可自定義。 備注2:這里的key為用戶設定的鑒權秘鑰,長度6到32,由大小寫字母與數字組成,例如:ctcdnkey123。 |
-
校驗方法
服務器拿到請求后,會按照如下步驟進行校驗:
- 是否攜帶鑒權參數。如果沒有攜帶鑒權參數,認為請求非法,返回HTTP 403錯誤。
- 時間校驗:判斷系統當前時間是否在區間[timestamp,timestamp+有效時間]內。超出該區間,認為過期失效并返回HTTP 403錯誤。
- 加密串校驗:時間校驗通過后,比對服務器計算出來的md5hash值與訪問請求中帶的md5hash值是否相同,結果一致則認為鑒權通過并返回文件,否則鑒權失敗返回HTTP 403錯誤。
2、配置說明:
| 參數 | 說明 |
|---|---|
| 加密參數 | 默認為auth_key,也可自定義。 |
| 加密key | 設定的鑒權密鑰。 |
| 鑒權URL有效時長 | 判斷時間戳是否過期。 |
| 加密元素分隔符 | 默認使用中劃線(-),也可自定義。 |
(二)鑒權方式B
1、原理說明
- 鑒權方式B訪問URL構成://DomainName/timestamp/md5hash/FileName。
- 鑒權字段說明:
| 字段 | 描述 |
|---|---|
| DomainName | 服務域名。 |
| Filename | 實際回源訪問的URL,鑒權時Filename需以/開頭。不包含?后面的參數。 |
| timestamp | 鑒權服務器生成鑒權URL的時間,即:鑒權開始時間,值為從1970年1月1日0點至當前時間總秒數 ,十進制整數。 備注:與鑒權URL有效時長共同控制鑒權URL的失效時間。鑒權URL實際有效期=timestamp+配置的鑒權URL有效時長。 |
| md5hash | 通過MD5算法計算出的32位字符串。計算公式如下:md5hash = md5sum(keytimestampFileName)。 備注1:md5加密元素分隔符默認無符號,也可自定義。 備注2:這里的key為用戶設定的鑒權秘鑰,長度6到32,由大小寫字母與數字組成,例如:ctcdnkey123。 |
-
校驗方法
服務器拿到請求后,會按照如下步驟進行校驗:
- 時間校驗:判斷系統當前時間是否在區間[timestamp,timestamp+有效時間]內。超出該區間,認為過期失效并返回HTTP 403錯誤。
- 加密串校驗:時間校驗通過后,比對服務器計算出來的md5hash值與訪問請求中帶的md5hash值是否相同,結果一致則認為鑒權通過并返回文件,否則鑒權失敗返回HTTP 403錯誤。
2、配置說明:
| 參數 | 說明 |
|---|---|
| 加密key | 設定的鑒權密鑰。 |
| 鑒權URL有效時長 | 判斷時間戳是否過期。 |
| 加密元素分隔符 | 默認無符號,也可自定義。 |
(三)鑒權方式C
1、原理說明
- 鑒權方式C訪問URL構成://DomainName/FileName?auth_key=md5hash×tamp=timestamp。
- 鑒權字段說明:
| 字段 | 描述 |
|---|---|
| DomainName | 服務域名。 |
| Filename | 實際回源訪問的URL,鑒權時Filename需以/開頭。不包含?后面的參數。 |
| auth_key | 設定的鑒權參數名,默認為auth_key,也可自定義。 |
| timestamp | 鑒權服務器生成鑒權URL的時間,即:鑒權開始時間,值為從1970年1月1日0點至當前時間總秒數 ,十進制整數。 備注:與鑒權URL有效時長共同控制鑒權URL的失效時間。鑒權URL實際有效期=timestamp+配置的鑒權URL有效時長。 |
| md5hash | 通過MD5算法計算出的32位字符串。計算公式如下:md5hash = md5sum(KeyFilenameTimestamp)。 備注1:md5加密元素分隔符默認無符號,也可自定義。 備注2:這里的key為用戶設定的鑒權秘鑰,長度6到32,由大小寫字母與數字組成,例如:ctcdnkey123。 |
-
校驗方法
服務器拿到請求后,會按照如下步驟進行校驗:
- 是否攜帶鑒權參數。如果沒有攜帶鑒權參數,認為請求非法,返回HTTP 403錯誤。
- 時間校驗:判斷系統當前時間是否在區間[timestamp,timestamp+有效時間]內。超出該區間,認為過期失效并返回HTTP 403錯誤。
- 加密串校驗:時間校驗通過后,比對服務器計算出來的md5hash值與訪問請求中帶的md5hash值是否相同,結果一致則認為鑒權通過并返回文件,否則鑒權失敗返回HTTP 403錯誤。
2、配置說明:
| 參數 | 說明 |
|---|---|
| 加密參數 | 默認為auth_key跟timestamp,也可自定義。 |
| 加密key | 設定的鑒權密鑰。 |
| 鑒權URL有效時長 | 判斷時間戳是否過期。 |
| 加密元素分隔符 | 默認無符號,也可自定義。 |