Loading
close

网络ACL/网关防火墙

time 更新时间:2024-01-29 16:21:43

网络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_idtenant_id都表示资源所属项目的ID。

  • 请求body不指定项目ID:后端会从http里的token解析出项目ID,将其作为资源所属项目ID。
  • 请求body指定项目ID:project_idtenant_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

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品