网络ACL和网关防火墙共同使用防火墙API,即firewall_groups,根据firewall_groups关联的ports类型来区别是网络ACL还是网关防火墙,其中port类型包括子网网关port和路由器网关port,每个防火墙绑定的port类型必须一致。
当防火墙绑定的port类型为子网网关port时,该防火墙为网络ACL
当防火墙绑定的port类型为路由器网关port时,该防火墙为网关防火墙
此外,建议给网络ACL和网关防火墙打上标签。
为网络ACL打上”NetworkACL”标签,即URL为
PUT /v2.0/firewall_groups/{firewall_group_id}/tags/NetworkACL
为网关防火墙打上”GatewayFirewall”标签,即URL为
PUT /v2.0/firewall_groups/{firewall_group_id}/tags/GatewayFirewall
资源的project_id
或tenant_id
都表示资源所属项目的ID。
- 请求body不指定项目ID:后端会从http里的token解析出项目ID,将其作为资源所属项目ID。
- 请求body指定项目ID:
project_id
或tenant_id
任选其一指定即可;如果同时指定,需要填写一致。
查询防火墙列表
功能介绍
查询防火墙列表
URI
GET /v2.0/fwaas/firewall_groups
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
fields | string | 否 | 希望服务器返回的字段。如果不指定字段查询参数,则网络API返回策略设置允许的所有属性。通过使用fields参数,API只返回所请求的属性集。Fields参数可以指定多次。例如,如果在请求URL中指定fields=id&fields=name,则只返回id和name属性。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_groups | object | firewall_group对象列表。 |
admin_state_up | boolean | 防火墙的管理状态,为up (true)或down (false)。默认是true。 |
description | String | 防火墙的描述。 |
id | String | 防火墙ID。 |
egress_firewall_policy_id | String | 防火墙的egress策略ID。 |
ingress_firewall_policy_id | String | 防火墙的ingress策略ID。 |
name | String | 防火墙名称。 |
tags | array | 资源的标记列表。 |
ports | array | 与防火墙相关联的端口id列表。 |
shared | boolean | 指示此防火墙是否在所有项目之间共享。 |
status | String | 防火墙状态。有效值为ACTIVE、INACTIVE、ERROR、PENDING_UPDATE或PENDING_DELETE。 |
project_id | String | 资源所属项目的ID。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
GET http://{endpoint}/v2.0/fwaas/firewall_groups
正常响应示例
{
"firewall_groups": [
{
"admin_state_up": true,
"description": "",
"egress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"ingress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "",
"tags": [],
"ports": [
"650bfd2f-7766-4a0d-839f-218f33e16998"
],
"shared": true,
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"status": "ACTIVE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
]
}
正常响应代码
200
错误码
401, 403
查询防火墙详情
功能介绍
查询防火墙详情
URI
GET /v2.0/fwaas/firewall_groups/{firewall_group_id}
参数 | 是否必选 | 描述 |
---|---|---|
firewall_group_id | 是 | 防火墙的ID。 |
请求消息
无
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_group | object | 一个firewall_group对象。 |
admin_state_up | boolean | 防火墙的管理状态,为up (true)或down (false)。默认是true。 |
description | String | 防火墙的描述。 |
id | String | 防火墙ID。 |
egress_firewall_policy_id | String | 防火墙的egress策略ID。 |
ingress_firewall_policy_id | String | 防火墙的ingress策略ID。 |
name | String | 防火墙名称。 |
tags | array | 资源的标记列表。 |
ports | array | 与防火墙相关联的端口id列表。 |
shared | boolean | 指示此防火墙是否在所有项目之间共享。 |
status | String | 防火墙状态。有效值为ACTIVE、INACTIVE、ERROR、PENDING_UPDATE或PENDING_DELETE。 |
project_id | String | 资源所属项目的ID。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
GET http://{endpoint}/v2.0/fwaas/firewall_groups/{firewall_group_id}
正常响应示例
{
"firewall_group": {
"admin_state_up": true,
"description": "",
"egress_firewall_policy_id": null,
"id": "07411bda-0147-418b-af05-c8665630d937",
"ingress_firewall_policy_id": null,
"name": "",
"tags": [],
"project_id": "96108b04417b416e9b9bc788c11c42c9",
"shared": false,
"status": "INACTIVE",
"tenant_id": "96108b04417b416e9b9bc788c11c42c9"
}
}
正常响应代码
200
错误码
401, 403, 404
创建防火墙
功能介绍
创建防火墙
URI
POST /v2.0/fwaas/firewall_groups
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_group | object | 是 | 一个firewall_group对象。 |
admin_state_up | boolean | 否 | 防火墙的管理状态,为up (true)或down (false)。默认是true。 |
description | String | 否 | 防火墙的描述。 |
egress_firewall_policy_id | String | 否 | 防火墙的egress策略ID。 |
ingress_firewall_policy_id | String | 否 | 防火墙的ingress策略ID。 |
name | String | 否 | 防火墙名称。 |
ports | array | 否 | 与防火墙相关联的端口id列表。 |
shared | boolean | 否 | 指示此防火墙是否在所有项目之间共享。 |
project_id | String | 否 | 资源所属项目的ID。 |
tenant_id | String | 否 | 资源所属项目的ID。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_group | object | 一个firewall_group对象。 |
admin_state_up | boolean | 防火墙的管理状态,为up (true)或down (false)。默认是true。 |
description | String | 防火墙的描述。 |
id | String | 防火墙ID。 |
egress_firewall_policy_id | String | 防火墙的egress策略ID。 |
ingress_firewall_policy_id | String | 防火墙的ingress策略ID。 |
name | String | 防火墙名称。 |
tags | array | 资源的标记列表。 |
ports | array | 与防火墙相关联的端口id列表。 |
shared | boolean | 指示此防火墙是否在所有项目之间共享。 |
status | String | 防火墙状态。有效值为ACTIVE、INACTIVE、ERROR、PENDING_UPDATE或PENDING_DELETE。 |
project_id | String | 资源所属项目的ID。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
POST http://{endpoint}/v2.0/fwaas/firewall_groups
{
"firewall_group": {
"admin_state_up": false,
"egress_firewall_policy_id": "14c9d3c1-b472-44f9-8226-30dc4ffd454c",
"ingress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c"
}
}
正常响应示例
{
"firewall_group": {
"admin_state_up": true,
"description": "",
"egress_firewall_policy_id": "1244ed87-b472-44f9-8226-30dc4ffd454c",
"ingress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"name": "",
"tags": [],
"ports": [
"650bfd2f-7766-4a0d-839f-218f33e16998"
],
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"shared": true,
"status": "PENDING_CREATE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
201
错误码
400, 401
更新防火墙
功能介绍
更新防火墙
URI
PUT /v2.0/fwaas/firewall_groups/{firewall_group_id}
参数 | 是否必选 | 描述 |
---|---|---|
firewall_group_id | 是 | 防火墙的ID。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_group | object | 是 | 一个firewall_group对象。 |
admin_state_up | boolean | 否 | 防火墙的管理状态,为up (true)或down (false)。默认是true。 |
description | String | 否 | 防火墙的描述。 |
egress_firewall_policy_id | String | 否 | 防火墙的egress策略ID。 |
ingress_firewall_policy_id | String | 否 | 防火墙的ingress策略ID。 |
name | String | 否 | 防火墙名称。 |
ports | array | 否 | 与防火墙相关联的虚拟网卡ID列表,所有虚拟网卡的类型必须保持一致(即都是子网网关的虚拟网卡,或都是路由器网关的虚拟网卡)。 |
shared | boolean | 否 | 指示此防火墙是否在所有项目之间共享。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_group | object | 一个firewall_group对象。 |
admin_state_up | boolean | 防火墙的管理状态,为up (true)或down (false)。默认是true。 |
description | String | 防火墙的描述。 |
id | String | 防火墙ID。 |
egress_firewall_policy_id | String | 防火墙的egress策略ID。 |
ingress_firewall_policy_id | String | 防火墙的ingress策略ID。 |
name | String | 防火墙名称。 |
tags | array | 资源的标记列表。 |
ports | array | 与防火墙相关联的端口id列表。 |
shared | boolean | 指示此防火墙是否在所有项目之间共享。 |
status | String | 防火墙状态。有效值为ACTIVE、INACTIVE、ERROR、PENDING_UPDATE或PENDING_DELETE。 |
project_id | String | 资源所属项目的ID。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
PUT http://{endpoint}/v2.0/fwaas/firewall_groups/{firewall_group_id}
{
"firewall_group": {
"admin_state_up": "false"
}
}
正常响应示例
{
"firewall_group": {
"admin_state_up": false,
"description": "",
"egress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"ingress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"name": "",
"tags": [],
"ports": [
"650bfd2f-7766-4a0d-839f-218f33e16998"
],
"shared": true,
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"status": "PENDING_UPDATE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
200
错误码
400, 401, 404
删除防火墙
功能介绍
删除防火墙
URI
DELETE /v2.0/fwaas/firewall_groups/{firewall_group_id}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_group_id | string | 是 | 防火墙ID。 |
请求消息
无
响应消息
无
请求示例
DELETE http://{endpoint}/v2.0/fwaas/firewall_groups/{firewall_group_id}
正常响应示例
无
正常响应代码
204
错误码
401, 404, 409
查询防火墙策略列表
功能介绍
查询防火墙策略列表
URI
GET /v2.0/fwaas/firewall_policies
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
fields | string | 否 | 希望服务器返回的字段。如果不指定字段查询参数,则网络API返回策略设置允许的所有属性。通过使用fields参数,API只返回所请求的属性集。Fields参数可以指定多次。例如,如果在请求URL中指定fields=id&fields=name,则只返回id和name属性。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_policies | object | 一个firewall_policy对象的列表。 |
audited | boolean | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 防火墙策略的描述。 |
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
id | String | 防火墙策略ID。 |
name | String | 防火墙策略名称。 |
project_id | String | 资源所属项目的ID。 |
shared | boolean | 指示此防火墙策略是否在所有项目之间共享。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
GET http://{endpoint}/v2.0/fwaas/firewall_policies
正常响应示例
{
"firewall_policies": [
{
"audited": false,
"description": "",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
]
}
正常响应代码
200
错误码
401, 403
查询防火墙策略详情
功能介绍
查询防火墙策略详情
URI
GET /v2.0/fwaas/firewall_policies/{firewall_policy_id}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy_id | string | 是 | 防火墙策略id。 |
请求消息
无
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
audited | boolean | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 防火墙策略的描述。 |
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
id | String | 防火墙策略ID。 |
name | String | 防火墙策略名称。 |
project_id | String | 资源所属项目的ID。 |
shared | boolean | 指示此防火墙策略是否在所有项目之间共享。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
GET http://{endpoint}/v2.0/fwaas/firewall_policies/{firewall_policy_id}
正常响应示例
{
"firewall_policy": {
"audited": false,
"description": "",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
200
错误码
401, 403, 404
创建防火墙策略
功能介绍
创建防火墙策略,建议每个防火墙只关联一个出向防火墙策略和一个入向防火墙策略即可
URI
POST /v2.0/fwaas/firewall_policies
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy | object | 是 | 一个firewall_policy对象。 |
audited | boolean | 否 | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 否 | 防火墙策略的描述。 |
firewall_rules | array | 否 | 与防火墙策略相关联的防火墙规则id列表。 |
name | String | 否 | 防火墙策略名称。 |
project_id | String | 否 | 资源所属项目的ID。 |
shared | boolean | 否 | 指示此防火墙策略是否在所有项目之间共享。 |
tenant_id | String | 否 | 资源所属项目的ID。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_policy | object | 一个firewall_policy对象。 |
audited | boolean | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 防火墙策略的描述。 |
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
id | String | 防火墙策略ID。 |
name | String | 防火墙策略名称。 |
project_id | String | 资源所属项目的ID。 |
shared | boolean | 指示此防火墙策略是否在所有项目之间共享。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
POST http://{endpoint}/v2.0/fwaas/firewall_policies
{
"firewall_policy": {
"name": "test-policy",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
]
}
}
正常响应示例
{
"firewall_policy": {
"audited": false,
"description": "",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
201
错误码
400, 401
更新防火墙策略
功能介绍
更新防火墙策略
URI
PUT /v2.0/fwaas/firewall_policies/{firewall_policy_id}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy_id | string | 是 | 防火墙策略id。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy | object | 是 | 一个firewall_policy对象。 |
audited | boolean | 否 | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 否 | 防火墙策略的描述。 |
firewall_rules | array | 否 | 与防火墙策略相关联的防火墙规则id列表。 |
name | String | 否 | 防火墙策略名称。 |
project_id | String | 否 | 资源所属项目的ID。 |
shared | boolean | 否 | 指示此防火墙策略是否在所有项目之间共享。 |
tenant_id | String | 否 | 资源所属项目的ID。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_policy | object | 一个firewall_policy对象。 |
audited | boolean | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 防火墙策略的描述。 |
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
id | String | 防火墙策略ID。 |
name | String | 防火墙策略名称。 |
project_id | String | 资源所属项目的ID。 |
shared | boolean | 指示此防火墙策略是否在所有项目之间共享。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
PUT http://{endpoint}/v2.0/fwaas/firewall_policies/{firewall_policy_id}
{
"firewall_policy": {
"firewall_rules": [
"a08ef905-0ff6-4784-8374-175fffe7dade",
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
]
}
}
正常响应示例
{
"firewall_policy": {
"audited": false,
"description": "",
"firewall_rules": [
"a08ef905-0ff6-4784-8374-175fffe7dade",
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
200
错误码
400, 401, 404
删除防火墙策略
功能介绍
删除防火墙策略
URI
DELETE /v2.0/fwaas/firewall_policies/{firewall_policy_id}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy_id | string | 是 | 防火墙策略id。 |
请求消息
无
响应消息
无
请求示例
DELETE http://{endpoint}/v2.0/fwaas/firewall_policies/{firewall_policy_id}
正常响应示例
无
正常响应代码
204
错误码
401, 404, 409
查询防火墙规则列表
功能介绍
查询防火墙规则列表
URI
GET /v2.0/fwaas/firewall_rules
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
fields | string | 否 | 希望服务器返回的字段。如果不指定字段查询参数,则网络API返回策略设置允许的所有属性。通过使用fields参数,API只返回所请求的属性集。Fields参数可以指定多次。例如,如果在请求URL中指定fields=id&fields=name,则只返回id和name属性。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
action | String | API对匹配防火墙规则的流量执行的动作。有效值为allow或deny。默认是deny。 |
description | String | 防火墙规则的描述。 |
destination_firewall_group_id | String | 目的防火墙ID。 |
destination_ip_address | String | 防火墙规则的目的IPv4或IPv6地址或CIDR。没有默认值。 |
destination_port | String | 防火墙规则的目的端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
enabled | boolean | 设置为false将在防火墙策略中禁用此规则。便于有选择地关闭规则,而不必将规则与防火墙策略解除关联。取值为true或false。默认是true。 |
firewall_policy_id | String | 防火墙策略ID。 |
id | String | 防火墙规则的ID。 |
ip_version | integer | 防火墙规则的IP协议版本。有效值为4或6。默认为4。 |
name | String | 防火墙规则名称。 |
project_id | String | 资源所属项目的ID。 |
protocol | String | 防火墙规则的IP协议。取值包括:icmp、tcp、udp或null。 |
shared | boolean | 指示此防火墙规则是否在所有项目之间共享。 |
source_firewall_group_id | string | 源防火墙ID。 |
source_ip_address | String | 防火墙规则的源IPv4或IPv6地址或CIDR。没有默认值。 |
source_port | String | 防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
GET http://{endpoint}/v2.0/fwaas/firewall_rules
正常响应示例
{
"firewall_rules": [
{
"action": "allow",
"description": "",
"destination_firewall_group_id": null,
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": 1,
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"protocol": "tcp",
"shared": false,
"source_firewall_group_id": null,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
]
}
正常响应代码
200
错误码
401, 403
查询防火墙规则详情
功能介绍
查询防火墙规则详情
URI
GET /v2.0/fwaas/firewall_rules/{firewall_rule_id}
参数 | 是否必选 | 描述 |
---|---|---|
firewall_rule_id | 是 | 防火墙规则的ID。 |
请求消息
无
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_rule | object | 一个firewall_rule对象。 |
action | String | API对匹配防火墙规则的流量执行的动作。有效值为allow或deny。默认是deny。 |
description | String | 防火墙规则的描述。 |
destination_firewall_group_id | String | 目的防火墙ID。 |
destination_ip_address | String | 防火墙规则的目的IPv4或IPv6地址或CIDR。没有默认值。 |
destination_port | String | 防火墙规则的目的端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
enabled | boolean | 设置为false将在防火墙策略中禁用此规则。便于有选择地关闭规则,而不必将规则与防火墙策略解除关联。取值为true或false。默认是true。 |
firewall_policy_id | String | 防火墙策略ID。 |
id | String | 防火墙规则的ID。 |
ip_version | integer | 防火墙规则的IP协议版本。有效值为4或6。默认为4。 |
name | String | 防火墙规则名称。 |
project_id | String | 资源所属项目的ID。 |
protocol | String | 防火墙规则的IP协议。取值包括:icmp、tcp、udp或null。 |
shared | boolean | 指示此防火墙规则是否在所有项目之间共享。 |
source_firewall_group_id | string | 源防火墙ID。 |
source_ip_address | String | 防火墙规则的源IPv4或IPv6地址或CIDR。没有默认值。 |
source_port | String | 防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
GET http://{endpoint}/v2.0/fwaas/firewall_rules/{firewall_rule_id}
正常响应示例
{
"firewall_rule": {
"action": "allow",
"description": "",
"destination_firewall_group_id": null,
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": null,
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": null,
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"protocol": "tcp",
"shared": false,
"source_firewall_group_id": null,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
200
错误码
401, 403, 404
创建防火墙规则
功能介绍
创建防火墙规则
URI
POST /v2.0/fwaas/firewall_rules
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_rule | object | 是 | 一个firewall_rul防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
资源所属项目的ID。e对象。 | |||
action | String | 是 | API对匹配防火墙规则的流量执行的动作。有效值为allow、deny或reject。 |
description | String | 否 | 防火墙规则的描述。 |
destination_firewall_group_id | String | 否 | 目的防火墙ID。 |
destination_ip_address | String | 否 | 防火墙规则的目的IPv4或IPv6地址或CIDR。没有默认值。 |
destination_port | String | 否 | 防火墙规则的目的端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
enabled | boolean | 否 | 设置为false将在防火墙策略中禁用此规则。便于有选择地关闭规则,而不必将规则与防火墙策略解除关联。取值为true或false。默认是true。 |
ip_version | integer | 否 | 防火墙规则的IP协议版本。有效值为4或6。默认为4。 |
name | String | 否 | 防火墙规则名称。 |
project_id | String | 否 | 资源所属项目的ID。 |
protocol | String | 否 | 防火墙规则的IP协议。取值包括:icmp、tcp、udp或null。 |
shared | boolean | 否 | 指示此防火墙规则是否在所有项目之间共享。 |
source_firewall_group_id | string | 否 | 源防火墙ID。 |
source_ip_address | String | 否 | 防火墙规则的源IPv4或IPv6地址或CIDR。没有默认值。 |
source_port | String | 否 | 防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
tenant_id | String | 否 | 资源所属项目的ID。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_rule | object | 一个firewall_rule对象。 |
action | String | API对匹配防火墙规则的流量执行的动作。有效值为allow或deny。默认是deny。 |
description | String | 防火墙规则的描述。 |
destination_firewall_group_id | String | 目的防火墙ID。 |
destination_ip_address | String | 防火墙规则的目的IPv4或IPv6地址或CIDR。没有默认值。 |
destination_port | String | 防火墙规则的目的端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
enabled | boolean | 设置为false将在防火墙策略中禁用此规则。便于有选择地关闭规则,而不必将规则与防火墙策略解除关联。取值为true或false。默认是true。 |
firewall_policy_id | String | 防火墙策略ID。 |
id | String | 防火墙规则的ID。 |
ip_version | integer | 防火墙规则的IP协议版本。有效值为4或6。默认为4。 |
name | String | 防火墙规则名称。 |
project_id | String | 资源所属项目的ID。 |
protocol | String | 防火墙规则的IP协议。取值包括:icmp、tcp、udp或null。 |
shared | boolean | 指示此防火墙规则是否在所有项目之间共享。 |
source_firewall_group_id | string | 源防火墙ID。 |
source_ip_address | String | 防火墙规则的源IPv4或IPv6地址或CIDR。没有默认值。 |
source_port | String | 防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
POST http://{endpoint}/v2.0/fwaas/firewall_rules
{
"firewall_rule": {
"action": "allow",
"destination_port": "80",
"enabled": true,
"name": "ALLOW_HTTP",
"protocol": "tcp"
}
}
正常响应示例
{
"firewall_rule": {
"action": "deny",
"description": "",
"destination_firewall_group_id": null,
"destination_ip_address": null,
"destination_port": null,
"enabled": true,
"id": "1fd59b2f-cc87-435f-a244-1df2c0cc3f70",
"ip_version": 4,
"name": "rule3",
"project_id": "95573613ec554b4b8df9f2679c64557b",
"protocol": null,
"shared": false,
"source_firewall_group_id": null,
"source_ip_address": null,
"source_port": null,
"tenant_id": "95573613ec554b4b8df9f2679c64557b"
}
}
正常响应代码
201
错误码
400, 401
更新防火墙规则
功能介绍
更新防火墙规则
URI
PUT /v2.0/fwaas/firewall_rules/{firewall_rule_id}
参数 | 是否必选 | 描述 |
---|---|---|
firewall_rule_id | 是 | 防火墙规则的ID。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_rule | object | 是 | 一个firewall_rul防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
资源所属项目的ID。e对象。 | |||
action | String | 否 | API对匹配防火墙规则的流量执行的动作。有效值为allow或deny或reject。 |
description | String | 否 | 防火墙规则的描述。 |
destination_firewall_group_id | String | 否 | 目的防火墙ID。 |
destination_ip_address | String | 否 | 防火墙规则的目的IPv4或IPv6地址或CIDR。没有默认值。 |
destination_port | String | 否 | 防火墙规则的目的端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
enabled | boolean | 否 | 设置为false表示在防火墙策略中禁用此规则。方便有选择地关闭规则,而不必将规则与防火墙策略解关联。有效值为true或false。默认是true。 |
firewall_policy_id | string | 否 | 防火墙策略ID |
ip_version | integer | 否 | 防火墙规则的IP协议版本。有效值为4或6。默认为4。 |
name | String | 否 | 防火墙规则名称。 |
project_id | String | 否 | 资源所属项目的ID。 |
protocol | String | 否 | 防火墙规则的IP协议。取值包括:icmp、tcp、udp或null。 |
shared | boolean | 否 | 指示此防火墙规则是否在所有项目之间共享。 |
source_firewall_group_id | string | 否 | 源防火墙ID。 |
source_ip_address | String | 否 | 防火墙规则的源IPv4或IPv6地址或CIDR。没有默认值。 |
source_port | String | 否 | 防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
tenant_id | String | 否 | 资源所属项目的ID。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
firewall_rule | object | 一个firewall_rule对象。 |
action | String | API对匹配防火墙规则的流量执行的动作。有效值为allow或deny。默认是deny。 |
description | String | 防火墙规则的描述。 |
destination_firewall_group_id | String | 目的防火墙ID。 |
destination_ip_address | String | 防火墙规则的目的IPv4或IPv6地址或CIDR。没有默认值。 |
destination_port | String | 防火墙规则的目的端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
enabled | boolean | 设置为false将在防火墙策略中禁用此规则。便于有选择地关闭规则,而不必将规则与防火墙策略解除关联。取值为true或false。默认是true。 |
firewall_policy_id | String | 防火墙策略ID。 |
id | String | 防火墙规则的ID。 |
ip_version | integer | 防火墙规则的IP协议版本。有效值为4或6。默认为4。 |
name | String | 防火墙规则名称。 |
project_id | String | 资源所属项目的ID。 |
protocol | String | 防火墙规则的IP协议。取值包括:icmp、tcp、udp或null。 |
shared | boolean | 指示此防火墙规则是否在所有项目之间共享。 |
source_firewall_group_id | string | 源防火墙ID。 |
source_ip_address | String | 防火墙规则的源IPv4或IPv6地址或CIDR。没有默认值。 |
source_port | String | 防火墙规则的源端口或端口范围。有效的值可以是端口号,可以是整数形式,也可以是端口范围,格式为A:分隔的范围。对于端口范围,包括端口范围的两端。例如,80:90。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
PUT http://{endpoint}/v2.0/fwaas/firewall_rules/{firewall_rule_id}
{
"firewall_rule": {
"shared": true
}
}
正常响应示例
{
"firewall_rule": {
"action": "allow",
"description": "",
"destination_firewall_group_id": null,
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": 1,
"project_id": "45977fa2dbd7482098dd68d0d8970117",
"protocol": "tcp",
"shared": true,
"source_firewall_group_id": null,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}
正常响应代码
200
错误码
400, 401, 404
插入防火墙规则
功能介绍
插入防火墙规则
URI
PUT /v2.0/fwaas/firewall_policies/{firewall_policy_id}/insert_rule
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy_id | string | 是 | 防火墙策略id。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_rule_id | string | 是 | 防火墙规则id。 |
insert_after | string | 是 | 后面要插入新规则的firewall_rule的ID。新规则将立即插入到指定的firewall_rule之后。如果同时提供了前后值,则后值将被忽略。要将一条规则插入到还没有规则的策略中,before和after值都必须为” “。 |
insert_before | string | 是 | 插入新规则的firewall_rule的ID。新规则将被插入到指定的firewall_rule之前。如果同时提供了前后值,则后值将被忽略。要将一条规则插入到还没有规则的策略中,before和after值都必须为” “。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
audited | boolean | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 防火墙策略描述。 |
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
id | String | 防火墙策略ID。 |
name | String | 防火墙策略名称。 |
project_id | String | 资源所属项目的ID。 |
shared | boolean | 设置为true可使该防火墙策略对其他项目可见。默认是false。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
PUT https://{endpoint}/v2.0/fwaas/firewall_policies/{firewall_policy_id}/insert_rule
{
"firewall_rule_id": "7bc34b8c-8d3b-4ada-a9c8-1f4c11c65692",
"insert_after": "a08ef905-0ff6-4784-8374-175fffe7dade",
"insert_before": ""
}
正常响应示例
{
"audited": false,
"description": "",
"firewall_rules": [
"acbdfead-eca2-4456-838c-8b531e47b9c7"
],
"id": "c9e15d6e-b6ba-4ef4-8715-985d1f100467",
"name": "policy2",
"shared": false,
"project_id": "95573613ec554b4b8df9f2679c64557b",
"tenant_id": "95573613ec554b4b8df9f2679c64557b"
}
正常响应代码
201
错误码
400, 401, 404, 409
删除防火墙规则
功能介绍
删除防火墙规则
URI
DELETE /v2.0/fwaas/firewall_rules/{firewall_rule_id}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_rule_id | String | 是 | 防火墙规则的ID。 |
请求消息
无
响应消息
无
请求示例
DELETE http://{endpoint}/v2.0/fwaas/firewall_rules/{firewall_rule_id}
正常响应示例
无
正常响应代码
204
错误码
401, 404, 409
移除防火墙规则
功能介绍
移除防火墙规则
URI
PUT /v2.0/fwaas/firewall_policies/{firewall_policy_id}/remove_rule
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_policy_id | string | 是 | 防火墙策略id。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_rule_id | string | 是 | 防火墙规则id。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
audited | boolean | 每次修改防火墙策略或相关规则时,API都会将该属性设置为false。要审计策略,请显式地将此属性设置为true。 |
description | String | 防火墙策略描述。 |
firewall_rules | array | 与防火墙策略相关联的防火墙规则id列表。 |
id | String | 防火墙策略ID。 |
name | String | 防火墙策略名称。 |
project_id | String | 资源所属项目的ID。 |
shared | boolean | 设置为true可使该防火墙策略对其他项目可见。默认是false。 |
tenant_id | String | 资源所属项目的ID。 |
请求示例
PUT https://{endpoint}/v2.0/fwaas/firewall_policies/{firewall_policy_id}/remove_rule
{
"firewall_rule_id": "7bc34b8c-8d3b-4ada-a9c8-1f4c11c65692"
}
正常响应示例
{
"audited": false,
"description": "",
"firewall_rules": [],
"id": "c9e15d6e-b6ba-4ef4-8715-985d1f100467",
"name": "policy2",
"project_id": "95573613ec554b4b8df9f2679c64557b",
"shared": false,
"tenant_id": "95573613ec554b4b8df9f2679c64557b"
}
正常响应代码
200
错误码
400, 401, 404
添加防火墙标签
功能介绍
添加防火墙标签
URI
PUT /v2.0/firewall_groups/{firewall_group_id}/tags/{tag}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_group_id | 是 | 防火墙的ID。 | |
tag | string | 是 | 防火墙标签,支持”NetworkACL”和”GatewayFirewall”两种tag。 |
请求消息
无
响应消息
无
请求示例
PUT https://{endpoint}/v2.0/firewall_groups/{firewall_group_id}/tags/{tag}
正常响应示例
无
正常响应代码
201
错误码
401, 404
移除防火墙标签
功能介绍
移除防火墙标签
URI
DELETE /v2.0/firewall_groups/{firewall_group_id}/tags/{tag}
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
firewall_group_id | 是 | 防火墙的ID。 | |
tag | string | 是 | 防火墙标签,支持”NetworkACL”和”GatewayFirewall”两种tag。 |
请求消息
无
响应消息
无
请求示例
DELETE https://{endpoint}/v2.0/firewall_groups/{firewall_group_id}/tags/{tag}
正常响应示例
无
正常响应代码
204
错误码
401, 404