更新时间:2024-11-07 GMT+08:00

创建ACL策略

功能介绍

增加一个ACL策略,策略类型通过字段acl_type来确定(permit或者deny),限制的对象的类型可以为IP或者DOMAIN,这里的DOMAIN对应的acl_value的值为租户名称,而非“www.exampleDomain.com”之类的网络域名。

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/acls

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见获取项目ID

instance_id

String

实例ID,在API网关控制台的“实例信息”中获取。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

acl_name

String

ACL策略名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。

说明:

中文字符必须为UTF-8或者unicode编码。

acl_type

String

类型

  • PERMIT (白名单类型)

  • DENY (黑名单类型)

acl_value

String

ACL策略值,支持一个或多个值,使用英文半角逗号分隔。

  • entity_type为IP时,策略值需填写IP地址,最多可支持100个IP地址。

  • entity_type为DOMAIN时,策略值需填写账号名,账号支持除英文半角逗号以外的任意ASCII字符,账号名长度限制在1-64个字符,不支持纯数字。多账号名字符的总长度不超过1024。

  • entity_type为DOMAIN_ID时,策略值需填写账号ID,获取方式请参见API参考的“附录 > 获取账号ID”章节。

entity_type

String

对象类型:

  • IP:IP地址

  • DOMAIN:账号名

  • DOMAIN_ID:账号ID

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

acl_name

String

名称

acl_type

String

类型:

  • PERMIT(白名单类型)

  • DENY(黑名单类型)

acl_value

String

ACL策略值

entity_type

String

对象类型:

  • IP

  • DOMAIN

  • DOMAIN_ID

id

String

编号

update_time

String

更新时间

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

创建一个ACL策略,指定允许访问的IP地址

{
  "acl_name" : "acl_demo",
  "acl_type" : "PERMIT",
  "acl_value" : "192.168.1.5,192.168.10.1",
  "entity_type" : "IP"
}

响应示例

状态码: 201

Created

{
  "id" : "7eb619ecf2a24943b099833cd24a01ba",
  "acl_name" : "acl_demo",
  "entity_type" : "IP",
  "acl_type" : "PERMIT",
  "acl_value" : "192.168.1.5,192.168.10.1",
  "update_time" : "2020-08-04T08:42:43.461276217Z"
}

状态码: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:acl_type. Please refer to the support documentation"
}

状态码: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

状态码: 404

Not Found

{
  "error_code" : "APIG.3030",
  "error_msg" : "The instance does not exist;id:eddc4d25480b4cd6b512f270a1b8b341"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码