修改安全组规则

最近更新时间:2017-07-17 14:36:27

1. 接口描述

本接口(ModifySecurityGroupPolicys)用于修改已经存在的安全组的规则。
接口请求域名:dfw.api.qcloud.com

1)安全组的入站规则和出站规则分别通过ingress和egress两个列表输入,每个方向的规则数量限制。系统默认的最后生效的全部DROP的规则不需要输入,也不计入规则数限制中。
2)入站或出站方向包含多条规则时,规则按照输入列表的顺序生效,覆盖该安全组原有规则。
3)规则描述
4)安全组的每条规则最多可包含四个有效字段:ipProtocol、cidrIp或sgId(两者是排他关系,不允许同时输入)、portRange和action。action字段是必需的,其他字段如果不出现,代表这条规则处理网络报文时,不考虑这个字段而全部匹配。
5)ipProtocol字段支持输入tcp、udp和icmp,不区分大小写。
6)cidrIp字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中,如果cidrIp包含您的账户内的云服务器之外的设备在腾讯云的内网IP,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。
7)sgId字段允许输入与待修改的安全组位于相同项目中的安全组ID,包括这个安全组ID本身,代表安全组下所有云服务器的内网IP。使用这个字段时,这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化,不需要重新修改。
8)portRange字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当ipProtocol字段是tcp或udp时,portRange字段才被接受。
9)action字段允许输入ACCEPT或DROP字符串,不区分大小写。
10)desc字段允许输入单条规则的描述语,不超过50个UTF-8字符。
11)输入的规则字段如果违反了以上约束,整个调用将不被应用并返回错误,您实际的安全组规则将保持调用之前的状态。

2. 输入参数

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

参数名称 必选 类型 描述
sgId String 安全组id
ingress Array 入方向规则列表
egress Array 出方向规则列表

ingress/egress规则成员结构

参数名称 类型 描述
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=ModifySecurityGroupPolicys
  &sgId=sg-33ocnj9n
  &ingress.0.ipProtocol=tcp
  &ingress.0.cidrIp=10.0.0.0/8
  &ingress.0.action=ACCEPT
  &ingress.0.portRange=22
  &ingress.0.desc=内网入流量tcp协议22端口禁止访问
  &egress.0.action=ACCEPT
  &egress.0.ipProtocol=tcp
  &egress.0.desc=内网tcp出流量放通
  &egress.0.cidrIp=10.0.0.0/8
  &<公共请求参数>

输出


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