更新时间:2026-01-09 GMT+08:00

端口插入安全组

功能介绍

当您需要调整云服务器实例关联的安全组,您可以通过调用该接口在网卡已绑定安全组列表中,插入新的安全组,即为弹性网卡绑定新的安全组。

调用方法

请参见如何调用API

URI

PUT /v3/{project_id}/ports/{port_id}/insert-security-groups

表1 路径参数

参数

是否必选

参数类型

描述

port_id

String

参数解释

端口的资源ID,可以是弹性网卡的资源ID。

取值范围

不涉及。

project_id

String

参数解释

项目ID。

取值范围

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

port

InsertSecurityGroupOption object

参数解释

端口插入安全组的请求体。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

dry_run

Boolean

参数解释

是否只预检此次请求。

约束限制

不涉及。

取值范围

  • true:发送检查请求,不会执行端口插入安全组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回响应码202。

  • false:发送正常请求,并直接执行端口插入安全组。

默认取值

false

表3 InsertSecurityGroupOption

参数

是否必选

参数类型

描述

security_groups

Array of strings

参数解释

待插入的安全组的ID列表,例如:"security_groups": ["a0608cbf-d047-4f54-8b28-cd7b59853fff"]。您可以先通过查询安全组列表API获取目标安全组ID,再使用当前API为弹性网卡绑定新的安全组。

约束限制

一个端口默认最多支持100个安全组。

取值范围

不涉及。

默认取值

不涉及。

index

Integer

参数解释

安全组插入的位置,从0开始计数。

举例:

  1. 要插入到已关联安全组列表的首位,index=0;

  2. 要插入到已关联安全组列表的第n个安全组后面,index=n。

默认插入到端口已关联的安全组列表末尾。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

request_id

String

参数解释

请求ID。

取值范围

不涉及。

port

Port object

参数解释

端口插入安全组的响应体。

取值范围

不涉及。

表5 Port

参数

参数类型

描述

admin_state_up

Boolean

参数解释

端口的管理状态。

取值范围

true,false,默认值true。

binding:host_id

String

参数解释

端口所在的主机ID。

取值范围

不涉及。

binding:profile

Object

参数解释

端口的用户自定义信息。

取值范围

不涉及。

binding:vif_details

BindingVifDetails object

参数解释

VIF的详细信息。

取值范围

不涉及。

binding:vif_type

String

参数解释

端口绑定的虚拟接口类型 (ovs/hw_veb等),扩展属性。

取值范围

  • ovs:表示使用 Open vSwitch(OVS)作为虚拟交换机

  • bridge:表示使用 Linux 内核桥接(bridge)实现虚拟网络

  • hw_veb:表示硬件虚拟以太网桥(Hardware Virtual Ethernet Bridge),通常用于支持 SR-IOV 的硬件网卡

  • vhostuser:表示使用 vhost-user 协议(基于 Unix 域套接字)与外部虚拟交换机通信

  • distributed:表示用于分布式虚拟交换机

  • binding_failed:表示端口绑定失败

  • unbound:表示该端口未绑定到任何网络后端

binding:vnic_type

String

参数解释

绑定的vNIC类型。

取值范围

  • normal: 软交换。

  • direct: SRIOV硬直通(不支持)。

  • baremetal:用于裸金属服务器。

created_at

String

参数解释

端口的创建时间。

取值范围

UTC时间,格式: yyyy-MM-ddTHH:mm:ss。

updated_at

String

参数解释

端口的最近一次更新的时间。

取值范围

UTC时间,格式: yyyy-MM-ddTHH:mm:ss。

description

String

参数解释

端口的描述信息。

取值范围

0-255个字符,不能包含“<”和“>”。

device_id

String

参数解释

端口所属的设备ID。

取值范围

带“-”的标准UUID格式。

device_owner

String

参数解释

端口所属的设备名称。

取值范围

  • network:dhcp, 表示DHCP服务

  • network:router_interface_distributed, 表示子网网关地址

  • compute:xxx, 表示云服务器网卡私有IP地址,其中XXX对应具体的可用区名称,例如compute:aa-bb-cc表示私有IP地址被可用区aa-bb-cc内的云服务器使用

  • neutron:VIP_PORT, 表示虚拟IP地址

  • neutron:LOADBALANCERV2, 表示共享型ELB

  • neutron:LOADBALANCERV3, 表示独享型ELB

  • network:endpoint_interface, 表示VPC终端节点

  • network:nat_gateway, 表示NAT网关

  • network:ucmp, 表示UCMP端口,为企业路由器服务所用

ecs_flavor

String

参数解释

标识此端口所属云服务器的flavor。

取值范围

不涉及。

id

String

参数解释

端口的资源ID。

取值范围

带“-”的标准UUID格式。

instance_id

String

参数解释

端口所属的云服务实例ID,例如RDS实例ID。

取值范围

不涉及。

instance_type

String

参数解释

端口所属的云服务实例类型,例如“RDS”。

取值范围

不涉及。

mac_address

String

参数解释

端口的MAC地址。

取值范围

不涉及

name

String

参数解释

端口的名称。

取值范围

默认为空,最大长度不超过255。

port_security_enabled

Boolean

参数解释

端口的安全使能标记,如果不使能,则安全组和DHCP防欺骗不生效。

取值范围

  • true:使能端口安全。

  • false:未使能端口安全。

private_ips

Array of PrivateIpInfo objects

参数解释

端口的私有IP地址。

取值范围

不涉及。

project_id

String

参数解释

端口所属的项目ID。

取值范围

不涉及。

security_groups

Array of strings

参数解释

端口绑定的安全组列表。

取值范围

不涉及。

status

String

参数解释

端口的状态。

取值范围

  • ACTIVE:端口处于活动状态,可以正常进行网络通信。

  • BUILD:端口正在创建或配置中。

  • DOWN:端口处于非活动状态,不能进行网络通信。Hana 硬直通虚拟机端口状态总为DOWN。

tenant_id

String

参数解释

端口所属的租户ID。

取值范围

不涉及。

virsubnet_id

String

参数解释

端口所在的虚拟子网ID。

取值范围

带“-”的标准UUID格式。

vpc_id

String

参数解释

端口所在的VPC的ID。

取值范围

带“-”的标准UUID格式。

vpc_tenant_id

String

参数解释

端口所在的VPC的租户ID。

取值范围

不涉及。

vtep_ip

String

参数解释

端口的VTEP IP地址,即虚拟隧道端点的 IP 地址。

取值范围

不涉及。

enable_efi

Boolean

参数解释

是否使能efi,使能则表示端口支持vRoCE能力。

取值范围

  • true:使能efi。

  • false:未使能efi。

scope

String

参数解释

端口所在子网的作用域(边缘云场景)。

取值范围

  • center:表示作用域为中心。

  • {publicBorderGroup}:表示作用域为具体的公网边界组。公网边界组限制子网的可用区范围,可关联多个边缘可用区。

zone_id

String

参数解释

端口所属的可用分区的ID。

取值范围

不涉及。

binding:migration_info

Object

参数解释

端口迁移的目的节点信息,包括目的节点的binding:vif_details和binding:vif_type。

取值范围

不涉及。

extra_dhcp_opts

Array of PortExtraDhcpOpt objects

参数解释

DHCP的扩展属性。

取值范围

不涉及。

position_type

String

参数解释

边缘场景端口的位置类型。

取值范围

默认值center。

instance_info

Object

参数解释

端口绑定的实例信息。

取值范围

不涉及。

tags

Array of ResponseTag objects

参数解释

端口的标签信息,包括标签键和标签值,可用来分类和标识资源。详情请参见Tag对象。

取值范围

不涉及。

allowed_address_pairs

Array of AllowedAddressPair objects

参数解释

端口的IP/Mac对列表。

取值范围

  • IP地址不允许为 “0.0.0.0/0”。

  • 如果allowed_address_pairs配置地址池较大的IP网段(掩码小于24位),建议为该端口配置一个单独的安全组。

  • 如果allowed_address_pairs的IP地址为“1.1.1.1/0”,表示关闭源目地址检查开关。

  • 被绑定的云服务器网卡allowed_address_pairs的IP地址填“1.1.1.1/0”。

表6 BindingVifDetails

参数

参数类型

描述

primary_interface

Boolean

参数解释

表示该网卡是否为云服务器的主网卡。

取值范围

  • true:该网卡是云服务器的主网卡。

  • false:该网卡不是云服务器的主网卡。

port_filter

Boolean

参数解释

表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。

取值范围

  • true:提供端口过滤特性。

  • false:未提供端口过滤特性。

ovs_hybrid_plug

Boolean

参数解释

是否为ovs/bridge混合模式。

取值范围

  • true:ovs/bridge混合模式。

  • false:非ovs/bridge混合模式。

表7 PrivateIpInfo

参数

参数类型

描述

subnet_cidr_id

String

参数解释

端口所属的子网ID。

取值范围

不涉及。

ip_address

String

参数解释

端口的私有IP地址。

取值范围

不涉及。

表8 PortExtraDhcpOpt

参数

参数类型

描述

opt_name

String

参数解释

DHCP属性名称。在DHCP服务器为客户端分配IP地址时,传递的额外的控制信息或网络配置参数的名称。

取值范围

不涉及。

opt_value

String

参数解释

DHCP属性值。在DHCP服务器为客户端分配IP地址时,传递的额外的控制信息或网络配置参数的值。

取值范围

不涉及。

表9 ResponseTag

参数

参数类型

描述

key

String

参数解释

标签键。

取值范围

  • 最大长度128个unicode字符, key不能为空。

  • 同一资源的key不能重复。

  • 可以包含的字符范围:

    • 英文字母

    • 数字

    • 特殊字符:下划线(_)、点(.)、冒号(:)、加号(+)、中划线(-)、等号(=)

value

String

参数解释

标签值。

取值范围

  • 每个值最大长度255个unicode字符,value可以为空。

  • 可以包含的字符范围:

    • 英文字母

    • 数字

    • 特殊字符:下划线(_)、冒号(:)、加号(+)、中划线(-)、等号(=)

表10 AllowedAddressPair

参数

参数类型

描述

ip_address

String

参数解释

IP地址。

约束限制

如果allowed_address_pairs配置地址池较大的IP网段(掩码小于24位),建议为该网卡配置一个单独的安全组。

取值范围

单个IP地址:例如192.168.21.25。

IP网段:例如192.168.21.0/24。

默认取值

不涉及。

mac_address

String

参数解释

MAC地址。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

请求示例

指定端口插入安全组,端口99fd0c77-56b4-4bf6-8365-df352e45d5fc已关联的安全组列表为["567be4e3-d171-46ce-9e8a-c15e91cfe86a", "4940b983-5992-4663-bed9-d1d1e15d1009"],要将新安全组插入到第1个安全组567be4e3-d171-46ce-9e8a-c15e91cfe86a后面,此时新安全组插入的index为1。

PUT https://{Endpoint}/v3/f5dab68cd75740e68c599e9af5fe0aed/ports/99fd0c77-56b4-4bf6-8365-df352e45d5fc/insert-security-groups

{
  "port" : {
    "security_groups" : [ "8edd3747-ccd4-49a1-82b9-a165eec314b4", "6c2d4540-3b7d-4207-a319-a7231b439995" ],
    "index" : 1
  }
}

响应示例

状态码:200

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

{
  "port" : {
    "name" : "",
    "id" : "99fd0c77-56b4-4bf6-8365-df352e45d5fc",
    "admin_state_up" : true,
    "status" : "DOWN",
    "project_id" : "f5dab68cd75740e68c599e9af5fe0aed",
    "device_id" : "",
    "mac_address" : "fa:16:3e:1f:17:df",
    "device_owner" : "",
    "description" : "",
    "zone_id" : "",
    "scope" : "center",
    "position_type" : "center",
    "created_at" : "2023-05-10T01:35:02.000+00:00",
    "updated_at" : "2023-05-10T01:35:02.000+00:00",
    "port_security_enabled" : true,
    "tags" : [ ],
    "security_groups" : [ "567be4e3-d171-46ce-9e8a-c15e91cfe86a", "8edd3747-ccd4-49a1-82b9-a165eec314b4", "6c2d4540-3b7d-4207-a319-a7231b439995", "4940b983-5992-4663-bed9-d1d1e15d1009" ],
    "allowed_address_pairs" : [ ],
    "extra_dhcp_opts" : [ ],
    "instance_id" : "",
    "instance_type" : "",
    "ecs_flavor" : "",
    "enable_efi" : false,
    "virsubnet_id" : "3847b263-2370-45c0-8236-38a1de568049",
    "private_ips" : [ {
      "subnet_cidr_id" : "ffe98087-6d4f-45cd-988b-1c87f75d2d53",
      "ip_address" : "192.168.158.228"
    } ],
    "binding:host_id" : "",
    "binding:vif_type" : "unbound",
    "binding:vnic_type" : "normal",
    "binding:vif_details" : { },
    "binding:profile" : { },
    "binding:migration_info" : { }
  },
  "request_id" : "458691c0-7db2-43d8-9400-053800c5ff53"
}

状态码

状态码

描述

200

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

错误码

请参见错误码