网络ACL插入规则
功能介绍
当您的网络ACL创建成功后,您可以通过调用该接口在网络ACL下新增网络ACL规则。
调用方法
请参见如何调用API。
URI
PUT /v3/{project_id}/vpc/firewalls/{firewall_id}/insert-rules
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
firewall_id |
是 |
String |
参数解释: 网络ACL的资源ID。您可以先通过查询网络ACL列表API获取目标网络ACL的ID,再使用当前API插入网络ACL规则。 取值范围: 不涉及。 |
|
project_id |
是 |
String |
参数解释: 网络ACL所属的项目ID。 取值范围: 不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
firewall |
是 |
FirewallInsertRuleOption object |
参数解释: 插入网络ACL规则的请求体。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
dry_run |
否 |
Boolean |
参数解释: 是否只预检此次请求。 约束限制: 不涉及。 取值范围:
默认取值: false |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
ingress_rules |
否 |
Array of FirewallInsertRuleItemOption objects |
参数解释: 网络ACL添加入方向规则列表。 约束限制: 每次插入的ingress_rules和egress_rules合计不超过100条。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
egress_rules |
否 |
Array of FirewallInsertRuleItemOption objects |
参数解释: 网络ACL添加出方向规则列表。 约束限制: 每次插入的ingress_rules和egress_rules合计不超过100条。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
insert_after_rule |
否 |
String |
参数解释: 在入方向或者出方向某条网络ACL规则位置后插入新的网络ACL规则,指定此条网络ACL规则的ID。不指定则在入方向或者出方向规则列表最前面插入网络ACL规则。 约束限制: 指定了insert_after_rule,ingress_rules和egress_rules同时只能设置一个,即插入规则时,出方向和入方向二选一。并且指定的规则必须存在于网络ACL的入方向或者出方向中。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
否 |
String |
参数解释: 网络ACL规则的名称。 约束限制: 0-255个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
description |
否 |
String |
参数解释: 网络ACL规则的描述信息。 约束限制: 0-255个字符,不能包含“<”和“>”。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
action |
是 |
String |
参数解释: 网络ACL规则对流量执行的操作放通或拒绝。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
|
protocol |
是 |
String |
参数解释: 网络ACL规则的通信协议类型。 约束限制:
取值范围: 默认取值: 不涉及。 |
|
ip_version |
是 |
Integer |
参数解释: 网络ACL规则的IP地址协议类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
|
source_ip_address |
否 |
String |
参数解释: 网络ACL规则的源IP地址或源IP网段。 约束限制: source_ip_address和source_address_group_id不能同时设置。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
destination_ip_address |
否 |
String |
参数解释: 网络ACL规则的目的IP地址或目的IP网段。 约束限制: destination_ip_address和destination_address_group_id不能同时设置。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
source_port |
否 |
String |
参数解释: 网络ACL规则的源端口。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
destination_port |
否 |
String |
参数解释: 网络ACL规则的目的端口。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
source_address_group_id |
否 |
String |
参数解释: 网络ACL规则的源IP地址组ID。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
destination_address_group_id |
否 |
String |
参数解释: 网络ACL规则的目的IP地址组ID。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
enabled |
否 |
Boolean |
参数解释: 是否启用网络ACL规则。 约束限制: 不涉及。 取值范围:
默认取值: true |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
firewall |
FirewallDetail object |
参数解释: 网络ACL插入规则的响应体。 取值范围: 不涉及。 |
|
request_id |
String |
参数解释: 请求ID。 取值范围: 不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
参数解释: 网络ACL的资源ID。网络ACL创建成功后,会生成一个网络ACL ID,是网络ACL对应的唯一标识。 取值范围: 带“-”的标准UUID格式。 |
|
name |
String |
参数解释: 网络ACL的名称。 取值范围: 1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。 |
|
description |
String |
参数解释: 网络ACL的描述信息。 取值范围: 0-255个字符,不能包含“<”和“>”。 |
|
project_id |
String |
参数解释: 网络ACL所属的项目ID。 取值范围: 不涉及。 |
|
created_at |
String |
参数解释: 网络ACL的创建时间,系统自动生成。 取值范围: UTC时间格式,yyyy-MM-ddTHH:mm:ssZ。 |
|
updated_at |
String |
参数解释: 网络ACL的最近一次更新的时间,系统自动生成。 取值范围: UTC时间格式,yyyy-MM-ddTHH:mm:ssZ。 |
|
admin_state_up |
Boolean |
参数解释: 网络ACL的管理状态。 取值范围:
|
|
status |
String |
参数解释: 网络ACL的状态。 取值范围:
|
|
enterprise_project_id |
String |
参数解释: 网络ACL所属的企业项目ID。 取值范围: 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 |
|
tags |
Array of ResponseTag objects |
参数解释: 网络ACL的标签信息,包括标签键和标签值,可用来分类和标识资源。详情请参见Tag对象。 取值范围: 不涉及。 |
|
associations |
Array of FirewallAssociation objects |
参数解释: 网络ACL绑定的子网列表。 取值范围: 不涉及。 |
|
ingress_rules |
Array of FirewallRuleDetail objects |
参数解释: 网络ACL入方向规则列表。 取值范围: 不涉及。 |
|
egress_rules |
Array of FirewallRuleDetail objects |
参数解释: 网络ACL出方向规则列表。 取值范围: 不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
key |
String |
参数解释: 标签键。 取值范围:
|
|
value |
String |
参数解释: 标签值。 取值范围:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
virsubnet_id |
String |
参数解释: 网络ACL绑定的子网ID。 取值范围:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
参数解释: 网络ACL规则的资源ID。网络ACL规则创建成功后,会生成一个网络ACL规则ID,是网络ACL规则对应的唯一标识。 取值范围: 带“-”的标准UUID格式。 |
|
name |
String |
参数解释: 网络ACL规则的名称。 取值范围: 0-255个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。 |
|
description |
String |
参数解释: 网络ACL规则的描述信息。 取值范围: 0-255个字符,不能包含“<”和“>”。 |
|
action |
String |
参数解释: 网络ACL规则对流量执行的操作放通或拒绝。 取值范围:
|
|
project_id |
String |
参数解释: 网络ACL规则所属的项目ID。 取值范围: 不涉及。 |
|
protocol |
String |
参数解释: 网络ACL规则的通信协议类型。 取值范围:
|
|
ip_version |
Integer |
参数解释: 网络ACL规则的IP地址协议类型。 取值范围:
|
|
source_ip_address |
String |
参数解释: 网络ACL规则的源IP地址或源IP网段。 取值范围: source_ip_address和source_address_group_id不能同时设置。 |
|
destination_ip_address |
String |
参数解释: 网络ACL规则的目的IP地址或目的IP网段。 取值范围: destination_ip_address和destination_address_group_id不能同时设置。 |
|
source_port |
String |
参数解释: 网络ACL规则的源端口。 取值范围:
|
|
destination_port |
String |
参数解释: 网络ACL规则的目的端口。 取值范围:
|
|
source_address_group_id |
String |
参数解释: 网络ACL规则源地址对应的IP地址组ID。 取值范围: source_ip_address和source_address_group_id不能同时设置。 |
|
destination_address_group_id |
String |
参数解释: 网络ACL规则目的地址对应的IP地址组ID。 取值范围: destination_ip_address和destination_address_group_id不能同时设置。 |
|
enabled |
Boolean |
参数解释: 是否启用网络ACL规则。 取值范围:
|
请求示例
-
插入一条入方向规则到id为e9a7731d-5bd9-4250-a524-b9a076fd5629的网络ACL中,插入到规则774cf578-e70d-ec11-a40c-b864b1cf74ea后面。
PUT https://{Endpoint}/v3/{project_id}/vpc/firewalls/e9a7731d-5bd9-4250-a524-b9a076fd5629/insert-rules { "firewall" : { "ingress_rules" : [ { "name" : "network_acl_rule test 2", "description" : "network_acl_rule test 2", "action" : "allow", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.12.0/24", "destination_ip_address" : "192.168.17.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null } ], "insert_after_rule" : "774cf578-e70d-ec11-a40c-b864b1cf74ea" } } -
插入一条出方向规则到id为e9a7731d-5bd9-4250-a524-b9a076fd5629的网络ACL中,插入到规则f9a7731d-5bd9-4250-a524-b9a076fd5629之后。
PUT https://{Endpoint}/v3/{project_id}/vpc/firewalls/e9a7731d-5bd9-4250-a524-b9a076fd5629/insert-rules { "firewall" : { "egress_rules" : [ { "name" : "network_acl_rule test 2", "description" : "network_acl_rule test 2", "action" : "allow", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.22.0/24", "destination_ip_address" : "192.168.27.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null } ], "insert_after_rule" : "f9a7731d-5bd9-4250-a524-b9a076fd5629" } }
响应示例
状态码:200
PUT操作正常返回,更多状态码请参见状态码。
{
"firewall" : {
"id" : "e9a7731d-5bd9-4250-a524-b9a076fd5629",
"name" : "network_acl_test1",
"description" : "network_acl_test1",
"project_id" : "9476ea5a8a9849c38358e43c0c3a9e12",
"created_at" : "2022-04-07T07:30:46.000+00:00",
"updated_at" : "2022-04-07T07:30:46.000+00:00",
"admin_state_up" : true,
"enterprise_project_id" : "158ad39a-dab7-45a3-9b5a-2836b3cf93f9",
"status" : "ACTIVE",
"tags" : [ ],
"ingress_rules" : [ {
"id" : "774cf578-e70d-ec11-a40c-b864b1cf74ea",
"name" : "network_acl_rule test",
"description" : "network_acl_rule test",
"action" : "allow",
"project_id" : "9476ea5a8a9849c38358e43c0c3a9e12",
"protocol" : "tcp",
"ip_version" : 4,
"source_ip_address" : "192.168.3.0/24",
"destination_ip_address" : "192.168.6.0/24",
"source_port" : "30-40,60-90",
"destination_port" : "40-60,70-90"
}, {
"id" : "8cdd7975-3124-c8cf-1046-2255714f44a7",
"name" : "network_acl_rule test 2",
"description" : "network_acl_rule test 2",
"action" : "allow",
"project_id" : "9476ea5a8a9849c38358e43c0c3a9e12",
"protocol" : "tcp",
"ip_version" : 4,
"source_ip_address" : "192.168.12.0/24",
"destination_ip_address" : "192.168.17.0/24",
"source_port" : "30-40,60-90",
"destination_port" : "40-60,70-90"
} ],
"egress_rules" : [ {
"id" : "f9a7731d-5bd9-4250-a524-b9a076fd5629",
"name" : "network_acl_rule test",
"description" : "network_acl_rule test",
"action" : "allow",
"project_id" : "9476ea5a8a9849c38358e43c0c3a9e12",
"protocol" : "tcp",
"ip_version" : 4,
"source_ip_address" : "192.168.3.0/24",
"destination_ip_address" : "192.168.6.0/24",
"source_port" : "30-40,60-90",
"destination_port" : "40-60,70-90"
}, {
"id" : "f223851e-c5a3-9761-294a-9ad9f548c105",
"name" : "network_acl_rule test 2",
"description" : "network_acl_rule test 2",
"action" : "allow",
"project_id" : "9476ea5a8a9849c38358e43c0c3a9e12",
"protocol" : "tcp",
"ip_version" : 4,
"source_ip_address" : "192.168.22.0/24",
"destination_ip_address" : "192.168.27.0/24",
"source_port" : "30-40,60-90",
"destination_port" : "40-60,70-90"
} ],
"associations" : [ {
"virsubnet_id" : "8359e5b0-353f-4ef3-a071-98e67a34a143"
} ]
}
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
PUT操作正常返回,更多状态码请参见状态码。 |
错误码
请参见错误码。