1. 接口描述
接口请求域名: vpc.tencentcloudapi.com 。
本接口(CreateSecurityGroupPolicies)用于创建安全组规则(SecurityGroupPolicy)。
在 SecurityGroupPolicySet 参数中:
- Version 安全组规则版本号,用户每次更新安全规则版本会自动加1,防止您更新的路由规则已过期,不填不考虑冲突。
- 在创建出站和入站规则(Egress 和 Ingress)时:
- Protocol 字段支持输入TCP, UDP, ICMP, ICMPV6, GRE, ALL。
- CidrBlock 字段允许输入符合cidr格式标准的任意字符串。在基础网络中,如果 CidrBlock 包含您的账户内的云服务器之外的设备在腾讯云的内网 IP,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。
- Ipv6CidrBlock 字段允许输入符合IPv6 cidr格式标准的任意字符串。在基础网络中,如果Ipv6CidrBlock 包含您的账户内的云服务器之外的设备在腾讯云的内网 IPv6,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。
- SecurityGroupId 字段允许输入与待修改的安全组位于相同项目中的安全组 ID,包括这个安全组 ID 本身,代表安全组下所有云服务器的内网 IP。使用这个字段时,这条规则用来匹配网络报文的过程中会随着被使用的这个 ID 所关联的云服务器变化而变化,不需要重新修改。
- Port 字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当 Protocol 字段是 TCP 或 UDP 时,Port 字段才被接受,即 Protocol 字段不是 TCP 或 UDP 时,Protocol 和 Port 是排他关系,不允许同时输入,否则会接口报错。
- Action 字段只允许输入 ACCEPT 或 DROP。
- CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate 四者是排他关系,不允许同时输入,Protocol + Port 和 ServiceTemplate 二者是排他关系,不允许同时输入。IPv6CidrBlock和ICMP是排他关系,如需使用,请输入ICMPV6。
- 一次请求中只能创建单个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。如想在规则最前面插入一条,则填0即可,如果想在最后追加,该字段可不填。
默认接口请求频率限制:100次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateSecurityGroupPolicies。 |
Version | 是 | String | 公共参数,本接口取值:2017-03-12。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
SecurityGroupId | 是 | String | 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 示例值:sg-33ocnj9n |
SecurityGroupPolicySet | 是 | SecurityGroupPolicySet | 安全组规则集合。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 安全组添加出站规则
安全组添加出站规则
输入示例
POST / HTTP/1.1
Host: vpc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateSecurityGroupPolicies
<公共请求参数>
{
"SecurityGroupId": "sg-ohuuioma",
"SecurityGroupPolicySet": {
"Ingress": [
{
"PolicyIndex": 0,
"Protocol": "All",
"PolicyDescription": "测试",
"AddressTemplate": {
"AddressGroupId": "ipmg-o8w64jdg",
"AddressId": "ipm-ngk4c2dw"
},
"Ipv6CidrBlock": "::/0",
"SecurityGroupId": "sg-ohuuioma",
"ModifyTime": "2020-12-03 16:12:15",
"Action": "accept",
"ServiceTemplate": {
"ServiceGroupId": "sg-ohuuioma",
"ServiceId": "ppm-f5n1f8da"
},
"CidrBlock": "0.0.0.0/0",
"Port": "80"
}
],
"Egress": [
{
"PolicyIndex": 0,
"Protocol": "All",
"PolicyDescription": "测试",
"AddressTemplate": {
"AddressGroupId": "ipmg-o8w64jdg",
"AddressId": "ipm-ngk4c2dw"
},
"Ipv6CidrBlock": "::/0",
"SecurityGroupId": "sg-ohuuioma",
"ModifyTime": "2020-12-03 16:12:15",
"Action": "accept",
"ServiceTemplate": {
"ServiceGroupId": "sg-ohuuioma",
"ServiceId": "ppm-f5n1f8da"
},
"CidrBlock": "0.0.0.0/0",
"Port": "80"
}
]
}
}
输出示例
{
"Response": {
"RequestId": "53ee3ed3-c9ed-48ba-8a57-8624b9c0d3b8"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InternalError.ModuleError | 内部模块错误。 |
InvalidParameter | 参数错误。 |
InvalidParameter.Coexist | 参数不支持同时指定。 |
InvalidParameterValue | 参数取值错误。 |
InvalidParameterValue.Empty | 缺少参数。 |
InvalidParameterValue.LimitExceeded | 参数值超出限制。 |
InvalidParameterValue.Malformed | 入参格式不合法。 |
InvalidParameterValue.MemberApprovalApplicationIdMismatch | 指定审批单号和资源不匹配。 |
InvalidParameterValue.MemberApprovalApplicationNotApproved | 流程服务审批单未审批。 |
InvalidParameterValue.MemberApprovalApplicationRejected | 流程服务审批单被拒绝。 |
InvalidParameterValue.MemberApprovalApplicationStarted | 该请求需要走BPAAS流程服务审批,当前发起审批中。 |
InvalidParameterValue.Range | 参数值不在指定范围。 |
InvalidParameterValue.TooLong | 无效参数值。参数值太长。 |
LimitExceeded | 超过配额限制。 |
LimitExceeded.SecurityGroupPolicySet | 安全组规则数量超过上限。 |
ResourceNotFound | 资源不存在。 |
UnknownParameter.WithGuess | 参数无法识别,可以尝试相似参数代替。 |
UnsupportedOperation.ClbPolicyExceedLimit | 负载均衡的安全组规则已达到上限。 |
UnsupportedOperation.ClbPolicyLimit | 公网Clb不支持该规则。 |
UnsupportedOperation.DuplicatePolicy | 安全组规则重复。 |
UnsupportedOperation.LockedResources | 资源被锁定。 |
UnsupportedOperation.VersionMismatch | 指定安全组规则版本号和当前最新版本不一致。 |