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

创建安全组规则

功能介绍

创建安全组规则。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。

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。

响应参数

状态码: 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互斥。

remote_address_group_id

String

  • 功能说明:远端地址组ID。

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

  • 约束:与remote_ip_prefix,remote_group_id功能互斥。

created_at

String

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

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

updated_at

String

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

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

project_id

String

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

请求示例

创建一条入方向安全组规则,所在安全组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

POST操作正常返回,更多状态码请参见状态码

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

状态码

状态码

描述

201

POST操作正常返回,更多状态码请参见状态码

错误码

请参见错误码