1. 接口描述
接口请求域名: vpc.tencentcloudapi.com 。
本接口(CreateSecurityGroupWithPolicies)用于创建新的安全组(SecurityGroup),并且可以同时添加安全组规则(SecurityGroupPolicy)。
- 每个账户下每个地域的每个项目的安全组数量限制。
- 新建的安全组的入站和出站规则默认都是全部拒绝,在创建后通常您需要再调用CreateSecurityGroupPolicies
将安全组的规则设置为需要的规则。
安全组规则说明:
- Version安全组规则版本号,用户每次更新安全规则版本会自动加1,防止您更新的路由规则已过期,不填不考虑冲突。
- 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二者是排他关系,不允许同时输入。
- 一次请求中只能创建单个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。
默认接口请求频率限制:100次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateSecurityGroupWithPolicies。 |
Version | 是 | String | 公共参数,本接口取值:2017-03-12。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
GroupName | 是 | String | 安全组名称,可任意命名,但不得超过60个字符。 示例值:TEST |
GroupDescription | 是 | String | 安全组备注,最多100个字符。 示例值:TEST 20230214 |
ProjectId | 否 | String | 项目ID,默认0。可在控制台项目管理页面查询到。 示例值:1 |
SecurityGroupPolicySet | 否 | SecurityGroupPolicySet | 安全组规则集合。 示例值:{"Version": "124", "Egress": [], "Ingress": []} |
Tags.N | 否 | Array of Tag | 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
SecurityGroup | SecurityGroup | 安全组对象。 示例值:sg-2quou3gv |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 创建安全组
创建安全组
输入示例
https://vpc.tencentcloudapi.com/?Action=CreateSecurityGroupWithPolicies
&GroupName=TestGroup
&GroupDescription=test-group-desc
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "354f4ac3-8546-4516-8c8a-69e3ab73aa8a",
"SecurityGroup": {
"SecurityGroupId": "sg-12345678",
"SecurityGroupName": "TestGroup",
"SecurityGroupDesc": "test-group-desc",
"ProjectId": "0",
"CreatedTime": "2018-01-13 19:26:33",
"UpdateTime": "2018-01-13 19:26:33",
"TagSet": [],
"IsDefault": false
}
}
}
示例2 创建安全组和安全组规则
创建安全组和安全组规则
输入示例
https://vpc.tencentcloudapi.com/?Action=CreateSecurityGroupWithPolicies
&GroupName=TestGroup
&GroupDescription=test-group-desc
&SecurityGroupPolicySet.Egress.0.PolicyIndex=0
&SecurityGroupPolicySet.Egress.0.ServiceTemplate.ServiceId=ppm-f5n1f8da
&SecurityGroupPolicySet.Egress.0.ServiceTemplate.ServiceGroupId=ppmg-f5n1f8da
&SecurityGroupPolicySet.Egress.0.AddressTemplate.AddressId=ipm-2uw6ujo6
&SecurityGroupPolicySet.Egress.0.AddressTemplate.AddressGroupId=ipmg-2uw6ujo6
&SecurityGroupPolicySet.Egress.0.Action=accept
&SecurityGroupPolicySet.Egress.0.PolicyDescription=TestPolicy
&SecurityGroupPolicySet.Egress.1.PolicyIndex=1
&SecurityGroupPolicySet.Egress.1.ServiceTemplate.ServiceId=ppm-f5n1f8da
&SecurityGroupPolicySet.Egress.1.ServiceTemplate.ServiceGroupId=ppmg-f5n1f8da
&SecurityGroupPolicySet.Egress.1.AddressTemplate.AddressId=ipm-2uw6ujo6
&SecurityGroupPolicySet.Egress.1.AddressTemplate.AddressGroupId=ipmg-2uw6ujo6
&SecurityGroupPolicySet.Egress.1.Action=accept
&SecurityGroupPolicySet.Egress.1.PolicyDescription=Test
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "354f4ac3-8546-4516-8c8a-69e3ab73aa8a",
"SecurityGroup": {
"SecurityGroupId": "sg-12345678",
"SecurityGroupName": "TestGroup",
"SecurityGroupDesc": "test-group-desc",
"ProjectId": "0",
"CreatedTime": "2018-01-13 19:26:33",
"UpdateTime": "2018-01-13 19:26:33",
"TagSet": [],
"IsDefault": false
}
}
}
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.Coexist | 参数不支持同时指定。 |
InvalidParameterValue | 参数取值错误。 |
InvalidParameterValue.LimitExceeded | 参数值超出限制。 |
InvalidParameterValue.Malformed | 入参格式不合法。 |
InvalidParameterValue.MemberApprovalApplicationIdMismatch | 指定审批单号和资源不匹配。 |
InvalidParameterValue.MemberApprovalApplicationNotApproved | 流程服务审批单未审批。 |
InvalidParameterValue.MemberApprovalApplicationRejected | 流程服务审批单被拒绝。 |
InvalidParameterValue.MemberApprovalApplicationStarted | 该请求需要走BPAAS流程服务审批,当前发起审批中。 |
InvalidParameterValue.Range | 参数值不在指定范围。 |
InvalidParameterValue.TooLong | 无效参数值。参数值太长。 |
LimitExceeded | 超过配额限制。 |
MissingParameter | 缺少参数错误。 |
ResourceNotFound | 资源不存在。 |
UnknownParameter.WithGuess | 参数无法识别,可以尝试相似参数代替。 |
UnsupportedOperation.LockedResources | 资源被锁定。 |