更新时间:2024-04-15 GMT+08:00

创建安全组规则

功能介绍

创建安全组规则。

URI

POST /v3/{project_id}/vpc/security-group-rules

表1 参数说明

名称

是否必选

参数类型

说明

project_id

String

项目ID。

获取方法请参见获取项目ID

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

dry_run

Boolean

功能说明:是否只预检此次请求

取值范围:

  • true:发送检查请求,不会创建安全组规则。检查项包括是否填写了必需参数、请求格式、权限校验。如果检查不通过,则返回对应错误。如果检查通过,则返回响应码202。
  • false(默认值):发送正常请求,并直接创建安全组规则。

security_group_rule

CreateSecurityGroupRuleOption object

创建安全组规则的请求体

表3 CreateSecurityGroupRuleOption

参数

是否必选

参数类型

描述

security_group_id

String

功能说明:安全组规则所属的安全组ID

description

String

功能说明:安全组的描述信息

取值范围:0-255个字符,不能包含“<”和“>”

direction

String

功能说明:安全组规则的出入控制方向

取值范围:

  • ingress 表示入方向
  • egress 表示出方向

ethertype

String

功能说明:IP地址协议类型

取值范围:IPv4,IPv6

约束:不填默认值为IPv4

protocol

String

功能说明:协议类型

取值范围:icmp、tcp、udp、icmpv6或IP协议号(0~255)

约束:

  • 为空表示支持所有协议。
  • 协议为icmpv6时,网络类型应该为IPv6
  • 协议为icmp时,网络类型应该为IPv4

multiport

String

功能说明:端口取值范围

取值范围:支持单端口(80),连续端口(1-30)以及不连续端口(22,3389,80)

约束:端口值的范围1~65535

remote_ip_prefix

String

功能说明:远端IP地址,当direction是egress时为虚拟机访问端的地址,当direction是ingress时为访问虚拟机的地址

取值范围:IP地址,或者cidr格式

约束:

  • 与remote_group_id、remote_address_group_id互斥
  • 为空,表示没有限制远端IP地址,允许或拒绝所有远端地址的流量

remote_group_id

String

功能说明:远端安全组ID,表示该安全组内的流量允许或拒绝

取值范围:租户下存在的安全组ID

约束:与remote_ip_prefix,remote_address_group_id功能互斥

remote_address_group_id

String

功能说明:远端地址组ID

取值范围:租户下存在的地址组ID

约束:与remote_ip_prefix,remote_group_id功能互斥

action

String

功能说明:安全组规则生效策略

取值范围:
  • allow表示允许
  • deny表示拒绝

约束:默认值为allow

priority

String

功能说明:规则在安全组中的优先级

取值范围:1~100,1代表最高优先级

约束:默认值为1

请求示例

  • 创建一条入方向安全组规则,所在安全组id为1c8d9f94-6022-4518-bb98-e0145fcc7b33。
    POST https://{Endpoint}/v3/{project_id}/vpc/security-group-rules
    
    {
        "security_group_rule": {
            "security_group_id": "1c8d9f94-6022-4518-bb98-e0145fcc7b33", 
            "direction": "ingress", 
            "protocol": "tcp", 
            "description": "security group rule description", 
            "action": "allow", 
            "priority": 1, 
            "multiport": "33", 
            "remote_ip_prefix": "10.10.0.0/16"
        }
    }

响应参数

状态码为 201 时:

表4 响应Body参数

参数

参数类型

描述

request_id

String

请求ID

security_group_rule

SecurityGroupRule object

创建安全组规则的响应体

表5 SecurityGroupRule

参数

参数类型

描述

id

String

功能描述:安全组规则对应的唯一标识

取值范围:带“-”的标准UUID格式

description

String

功能说明:安全组的描述信息

取值范围:0-255个字符,不能包含“<”和“>”

security_group_id

String

功能说明:安全组规则所属的安全组ID

direction

String

功能说明:安全组规则的出入控制方向

取值范围:
  • ingress 表示入方向
  • egress 表示出方向

protocol

String

功能说明:协议类型

取值范围:icmp、tcp、udp、icmpv6或IP协议号

约束:

  • 为空表示支持所有协议
  • 协议为icmpv6时,网络类型应该为IPv6
  • 协议为icmp时,网络类型应该为IPv4

ethertype

String

功能说明:IP地址协议类型

取值范围:IPv4,IPv6

约束:不填默认值为IPv4

multiport

String

功能说明:端口取值范围

取值范围:支持单端口(80),连续端口(1-30)以及不连续端口(22,3389,80)

action

String

功能说明:安全组规则生效策略

取值范围:
  • allow表示允许
  • deny表示拒绝

约束:默认值为deny

priority

Integer

功能说明:优先级

取值范围:1~100,1代表最高优先级

remote_group_id

String

功能说明:远端安全组ID,表示该安全组内的流量允许或拒绝

取值范围:租户下存在的安全组ID

约束:与remote_ip_prefix,remote_address_group_id功能互斥

remote_ip_prefix

String

功能说明:远端IP地址,当direction是egress时为虚拟机访问端的地址,当direction是ingress时为访问虚拟机的地址

取值范围:IP地址,或者cidr格式

约束:

  • 与remote_group_id、remote_address_group_id互斥
  • 为空,表示没有限制远端IP地址,允许或拒绝所有远端地址的流量

remote_address_group_id

String

功能说明:远端地址组ID

取值范围:租户下存在的地址组ID

约束:与remote_ip_prefix,remote_group_id功能互斥

created_at

String

功能说明:安全组规则创建时间

取值范围:UTC时间格式,yyyy-MM-ddTHH:mm:ss

updated_at

String

功能说明:安全组规则更新时间

取值范围:UTC时间格式,yyyy-MM-ddTHH:mm:ss

project_id

String

功能说明:安全组规则所属项目ID

响应示例

状态码为 201 时:
{
    "request_id": "1666b2708aaf849337572d6846dce781", 
    "security_group_rule": {
        "id": "f626eb24-d8bd-4d26-ae0b-c16bb65730cb", 
        "project_id": "060576782980d5762f9ec014dd2f1148", 
        "security_group_id": "0552091e-b83a-49dd-88a7-4a5c86fd9ec3", 
        "remote_group_id": null, 
        "direction": "ingress", 
        "protocol": "tcp", 
        "description": "security group rule description", 
        "created_at": "2020-08-13T07:12:36Z", 
        "updated_at": "2020-08-13T07:12:36Z", 
        "ethertype": "IPv4", 
        "remote_ip_prefix": "10.10.0.0/16", 
        "multiport": "33", 
        "remote_address_group_id": null, 
        "action": "allow", 
        "priority": 1
    }
}

状态码

请参见状态码

错误码

请参见错误码