说明:
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": ""}