有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
说明:

当前页面接口为旧版 API,未来可能停止维护,目前不展示在左侧导航。云服务器 API 3.0 版本接口定义更加规范,访问时延下降显著,建议使用 云服务器 API 3.0

1. 接口描述

本接口(CreateSecurityGroupPolicy)用于添加安全组规则。
接口请求域名:dfw.api.qcloud.com

  1. 规则描述
  2. 安全组的每条规则最多可包含四个有效字段:ipProtocol、cidrIp或sgId(两者是排他关系,不允许同时输入)、portRange和action。action字段是必需的,其他字段如果不出现,代表这条规则处理网络报文时,不考虑这个字段而全部匹配。
  3. ipProtocol字段支持输入tcp、udp和icmp,不区分大小写。
  4. cidrIp字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中,如果cidrIp包含您的账户内的云服务器之外的设备在腾讯云的内网IP,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。
  5. sgId字段允许输入与待修改的安全组位于相同项目中的安全组ID,包括这个安全组ID本身,代表安全组下所有云服务器的内网IP。使用这个字段时,这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化,不需要重新修改。
  6. portRange字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当ipProtocol字段是tcp或udp时,portRange字段才被接受。
  7. action字段允许输入ACCEPT或DROP字符串,不区分大小写。
  8. desc字段允许输入单条规则的描述语,不超过50个UTF-8字符。

2. 输入参数

以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见公共请求参数页面。其中,此接口的Action字段为CreateSecurityGroupPolicy。

参数名称 必选 类型 描述
sgId String 安全组ID
version Int 版本,用户更新安全规则,每次更新安全规则版本会自动加1,防止您更新的路由规则已过期,不填不考虑冲突
direction String 方向(ingress/egress)
index Int 添加位置,从哪个位置开始添加,当前规则为空时,index需要设置为-1
policys Array 安全组规则

policys规则成员结构

参数名称 类型 描述
ipProtocol String 网络协议,支持udp、tcp、icmp等,无则表示全协议
cidrIp String ip网段地址,不传为全地址,和sgId互斥,一条规则中两参数都存在会报错
sgId String 安全组ID,和cidrIp互斥,一条规则中两参数都存在会报错
addressModule String IP地址ID或者IP地址组ID,和cidrIp、sgId互斥
portRange String 端口,不传为不限端口
serviceModule String 协议端口ID或者协议端口组ID,和ipProtocol+portRange互斥
desc String 规则描述
action String 动作,accept或者drop

3. 输出参数

参数名称 类型 描述
code Int 错误码, 0: 成功, 其他值: 失败
message String 错误信息

4. 错误码表

错误码数值 原因
7000 安全组后台异常
7001 安全组不属于当前用户
7002 规则数量超过配额
7006 系统默认安全组禁止修改
9003 规则数据格式错误

5. 示例

输入

  https://dfw.api.qcloud.com/v2/index.php?Action=CreateSecurityGroupPolicy
  &sgId=sg-33ocnj9n
  &version=2
  &direction=ingress
  &index=0
  &policys.0.ipProtocol=tcp
  &policys.0.cidrIp=10.0.0.0/8
  &policys.0.action=ACCEPT
  &policys.0.portRange=22
  &policys.0.desc=内网入流量tcp协议22端口禁止访问
  &policys.0.action=ACCEPT
  &policys.0.ipProtocol=tcp
  &policys.0.desc=内网tcp出流量放通
  &policys.0.cidrIp=10.0.0.0/8
  &<公共请求参数>

输出

{
    "code": 0,
    "message": ""
}