访问控制配置
通过使用访问控制管理,可以设置并配置引用方禁止和允许列表,从而实现防盗链。
-
- 如果设置了禁用列表,引用方在禁用列表中时不允许访问,但其他情况可以访问。
- 如果设置了允许列表,那么仅当引用方是允许列表中的域名时才可以访问。
请求
方法
| 请求 URI
|
---|
PUT |
https://restapi.cdn.azure.cn/subscriptions/{subscriptionId}/endpoints/{endpointId}/accesscontrol?apiVersion=1.0 |
URI 参数
参数名称
| 描述
|
---|
subscriptionId |
订阅唯一标识符 |
endpointId |
目标节点唯一标识符 |
请求标头 |
说明 |
x-azurecdn-request-date |
必需。 以 yyyy-MM-dd hh:mm:ss 格式输入当前 UTC 请求时间。 |
授权 |
必需。 请参阅 CDN API 签名机制以了解授权标头。 |
Content-Type |
必需。 application/json |
请求正文
{
"ForbiddenIps": [
"192.160.1.1",
"220.100.100.100"
],
"RefererControl": {
"Enabled": "true",
"PathPatterns": [
"/test1/test1.jpg"
],
"Referers": [
"http://www.abc.com",
"http://www.micorosft.com"
],
"RefererControlType": "AllowList"
}
}
参数名称
| 描述
|
---|
ForbiddenIps |
禁用的 IP 列表 |
PathPatterns |
防盗链接文件路径连接 |
Referers |
防盗链接连接 |
RefererControlType |
防盗链类型
- AllowList:允许列表,仅允许匹配的引用方的链接访问匹配的 PathPatterns 路径。
- BlockList:禁用列表,其中包含指向匹配的引用方的链接,如果他们尝试访问匹配的 PathPatterns 路径,将被拒绝访问。
|
响应
响应包括状态代码、响应头和响应正文。
状态代码
状态代码
| 描述
|
---|
202 |
表明服务器已成功接受请求。 |
其他 |
指示发生错误的一般响应。 |
响应头
|
描述
|
---|
X-Correlation-Id |
请求的唯一标识符,用于跟踪请求信息。 |
响应正文
请求成功的 JSON 示例:
{
"Succeeded": true,
"IsAsync": true,
"AsyncInfo": {
"TaskTrackId": "b520c544-ec34-4ac4-86f5-5394363919c3",
"TaskStatus": "Processing"
}
}
参数名称
| 描述
|
---|
TaskTrackId |
操作的唯一标识符,可用于查询进度。 |
TaskStatus |
任务状态
- NotSet:状态未知
- Processing:正在处理
- Succeeded:成功
- Failed:失败
|
请求失败的 JSON 示例:
{
"Succeeded": false,
"ErrorInfo": {
"Type": "MissingAuthorizationHeader",
"Message": "Missing authorization header."
}
}
参数名称
| 描述
|
---|
类型 |
错误类型
- CredentialInvalid:凭据无效
- ParameterMissing:参数缺失
- ParameterInvalid:参数无效
- MissingAuthorizationHeader:授权标头缺失
- InvalidRequestDateHeader:请求日期标头无效
- MissingRequestDateHeader:请求日期标头缺失
- AuthorizationHeaderExpired:授权标头过期
- InvalidAuthorizationHeader:授权标头无效
- ApiKeyNotFound:找不到 API 密钥
- InvalidApiKey:API 密钥无效
- WrongSignature:签名错误
- SubscriptionNotFound:订阅不存在
- EndpointDoesNotBelongToSubscription:终结点不属于订阅
- EndpointNotInActiveState:终结点未处于活跃状态
- EndpointNotFound:终结点不存在
- MaliciousItemPathDetected:检测到恶意项路径
- PermissionDenied:权限不足
- RequestThrottled:请求中止
|
消息 |
错误信息 |