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

创建安全组规则

功能介绍

创建安全组规则。

URI

POST /v1/{project_id}/security-group-rules

请求参数

表1 请求参数

名称

是否必选

参数类型

说明

security_group_rule

security_group_rule object

安全组规则对象,请参见表2

表2 security_group_rule字段说明

名称

是否必选

参数类型

说明

security_group_id

String

所属安全组ID

description

String

  • 功能说明:安全组规则描述
  • 取值范围:0-255个字符,支持数字、字母、中文字符

direction

String

  • 功能说明:安全组规则出入控制方向
  • 取值范围:
    • egress:出方向
    • ingress:入方向

ethertype

String

  • 功能说明:IP地址协议类型
  • 取值范围:IPv4,IPv6
  • 约束:不填默认值为IPv4

protocol

String

  • 功能说明:协议类型
  • 取值范围:icmp、tcp、udp、icmpv6或IP协议号(0~255)(如gre协议号为47)
  • 约束:为空表示支持所有协议。协议为icmpv6时,网络类型应该为IPv6;协议为icmp时,网络类型应该为IPv4

port_range_min

Integer

port_range_max

Integer

  • 功能说明:结束端口值
  • 取值范围:1~65535
  • 约束:协议不为icmp时,取值不能小于port_range_min的值,为空表示所有端口,如果协议是icmp类型,取值范围参照安全组规则icmp协议名称对应关系表

remote_ip_prefix

String

  • 功能说明:远端IP地址,当direction是egress时为虚拟机访问端的地址,当direction是ingress时为访问虚拟机的地址
  • 取值范围:IP地址,或者cidr格式
  • 约束:和remote_group_id互斥

remote_group_id

String

  • 功能说明:对端安全组id
  • 约束:和remote_ip_prefix互斥

请求示例

  • 创建一条入方向安全组规则,所在安全组id为a7734e61-b545-452d-a3cd-0189cbd9747a。
    POST https://{Endpoint}/v1/{project_id}/security-group-rules
    
    {
        "security_group_rule": {
            "direction": "ingress", 
            "port_range_min": "80", 
            "ethertype": "IPv4", 
            "port_range_max": "80", 
            "protocol": "tcp", 
            "remote_group_id": "85cc3048-abc3-43cc-89b3-377341426ac5", 
            "security_group_id": "a7734e61-b545-452d-a3cd-0189cbd9747a"
        }
    }
    POST https://{Endpoint}/v1/{project_id}/security-group-rules
    
    {
        "security_group_rule": {
            "direction": "ingress", 
            "port_range_min": "80", 
            "ethertype": "IPv6", 
            "port_range_max": "90", 
            "protocol": "tcp",  
            "security_group_id": "a7734e61-b545-452d-a3cd-0189cbd9747a"
        }
    }

响应参数

表3 响应参数

名称

参数类型

说明

security_group_rule

security_group_rule object

安全组规则对象,请参见表4

表4 security_group_rule对象

名称

参数类型

说明

id

String

安全组规则标识

description

String

  • 功能说明:安全组规则描述
  • 取值范围:0-255个字符,支持数字、字母、中文字符

security_group_id

String

安全组标识

direction

String

  • 功能说明:出入控制方向
  • 取值范围:
    • egress:出方向
    • ingress:入方向

ethertype

String

  • 功能说明:IP协议类型
  • 取值范围:IPv4,IPv6

protocol

String

  • 功能说明:协议类型
  • 取值范围:icmp、tcp、udp、icmpv6、IP协议号(0~255)(如gre协议号为47)
  • 约束:为空表示支持所有协议

port_range_min

Integer

port_range_max

Integer

  • 功能说明:结束端口值
  • 取值范围:1~65535
  • 约束:协议不为icmp时,取值不能小于port_range_min的值,为空表示所有端口,如果协议是icmp类型,取值范围请参见安全组规则icmp协议名称对应关系表

remote_ip_prefix

String

  • 功能说明:远端IP地址,当direction是egress时为虚拟机访问端的地址,当direction是ingress时为访问虚拟机的地址
  • 取值范围:IP地址,或者cidr格式
  • 约束:和remote_group_id互斥

remote_group_id

String

  • 功能说明:对端安全组id
  • 约束:和remote_ip_prefix互斥

tenant_id

String

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

响应示例

{
    "security_group_rule": {
        "direction": "ingress",
        "ethertype": "IPv4",
        "id": "2bc0accf-312e-429a-956e-e4407625eb62",
        "description": "",
        "port_range_max": 80,
        "port_range_min": 80,
        "protocol": "tcp",
        "remote_group_id": "85cc3048-abc3-43cc-89b3-377341426ac5",
        "remote_ip_prefix": null,
        "security_group_id": "a7734e61-b545-452d-a3cd-0189cbd9747a",
        "tenant_id": "e4f50856753b4dc6afee5fa6b9b6c550"
    }
}

状态码

请参见状态码

错误码

请参考错误码