設置防盜鏈規則
更新時間 2025-10-22 16:30:00
最近更新時間: 2025-10-22 16:30:00
分享文章
接口介紹
設置Bucket的防盜鏈(Referer)訪問白名單,支持設置是否允許Referer字段為空以及是否允許截斷QueryString的請求訪問媒體存儲。
接口約束
無
請求URI
POST /v1/resourceObject/bucket/Referer
路徑參數
無
Query參數
無
請求參數
請求頭header參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| content-type | 是 | String | 請求header參數,默認為application/x-www-form-urlencoded。 | application/x-www-form-urlencoded |
請求體body參數
| 字段 | 類型 | 必填 | 含義 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| regionCode | String | 是 | 區域編碼。 | 00001 | |
| bucketName | String | 是 | 桶名。 | bucket1 | |
| userName | String | 否 | 用戶名。 | test1 | |
| statement | Json | 是 | 訪問控制規則。 | statement |
表 statement
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Effect | 是 | String | 效力,描述產生的結果是允許還是拒絕,只能是"Allow"或"Deny"兩種情況。效力屬于必填項。 | Allow | |
| Action | 是 | String | 操作,描述語句中賦予的權限,必填項。 | s3:GetObject | |
| Principal | 是 | String | 委托人,描述策略賦權的實體,例如用戶、用戶組等。如果指定某用戶如'AWS': ['arn:aws:iam:::user/bssUser0001'],或者傳 *。 | 'AWS': ['arn:aws:iam:::user/bssUser0001'] | |
| Resource | 是 | String | 資源,描述具體資源。資源采用六段式描述,段與段之間使用冒號分隔,目前天翼對象存儲s3接口的資源描述方式前三段為固定格式,最后一段位描述存儲空間和對象資源,如arn:aws:s3:::{BucketName}/{ObjectName}。資源屬于必填項。 | arn:aws:s3:::eoptest/* | |
| Condition | 否 | Object | 條件,描述生效的約束條件,非必填項。 | StringNotLike |
表 StringNotLike
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| StringNotLike | 否 | Array of Objects | 限制或允許的域名組。 | aws:Referer |
表 aws:Referer
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| aws:Referer | 否 | Array of Strings | 相關域名組。 | ["//www.example.daliqc.cn"] |
響應參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| statusCode | 是 | Integer | 本次請求的結果碼。 | 0 | |
| error | 是 | String | 錯誤碼,創建成功時,不返回該字段。 | ||
| message | 是 | String | 錯誤文本信息,創建成功時,為空字符串。 | ||
| returnObj | 是 | String of Object | 返回結果。 | returnObj |
表 returnObj
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| code | 是 | String | 業務返回碼。 | 0 | |
| data | 是 | String | 業務返回數據。 | ||
| message | 是 | String | 業務消息。 |
請求示例
POST /v1/resourceObject/bucket/Referer
請求頭header
application/x-www-form-urlencoded
請求體body
regionCode=0001&bucketName=eoptest&statement=[{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::eoptest/*",
"Condition": {
"StringNotLike": [{
"aws:Referer": ["//example1.daliqc.cn*"]
}, {
"aws:Referer": ["//example2.daliqc.cn*"]
}, {
"aws:Referer": ["//example3.daliqc.cn*"]
}]
}
}]
返回示例
{
"statusCode": "0",
"message": "",
"returnObj": {
"code": "0",
"data": "",
"message": ""
}
}
狀態碼
| 狀態碼 | 描述 |
|---|---|
| 0 | 表示業務成功 |
| 400 | 請求參數有誤 |
| 403 | 用戶鑒權失敗,用戶無操作權限 |
| 404 | 請求的資源不存在,輸入錯誤的URL |
| 500 | 業務執行異常 |