API文档

创建安全组和规则

最近更新时间:2020-07-13 08:54:46

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次/秒。

注意:本接口支持金融区地域。由于金融区和非金融区是隔离不互通的,因此当公共参数 Region 为金融区地域(例如 ap-shanghai-fsi)时,需要同时指定带金融区地域的域名,最好和 Region 的地域保持一致,例如:vpc.ap-shanghai-fsi.tencentcloudapi.com。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateSecurityGroupWithPolicies。
Version String 公共参数,本接口取值:2017-03-12。
Region String 公共参数,详见产品支持的 地域列表
GroupName String 安全组名称,可任意命名,但不得超过60个字符。
GroupDescription String 安全组备注,最多100个字符。
ProjectId String 项目ID,默认0。可在qcloud控制台项目管理页面查询到。
SecurityGroupPolicySet SecurityGroupPolicySet 安全组规则集合。

3. 输出参数

参数名称 类型 描述
SecurityGroup SecurityGroup 安全组对象。
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建安全组

输入示例

https://vpc.tencentcloudapi.com/?Action=CreateSecurityGroupWithPolicies
&Version=2017-03-12
&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",
      "CreateTime": "2018-01-13 19:26:33"
    }
  }
}

示例2 创建安全组和安全组规则

输入示例

https://vpc.tencentcloudapi.com/?Action=CreateSecurityGroupWithPolicies
&Version=2017-03-12
&GroupName=TestGroup
&GroupDescription=test-group-desc
&SecurityGroupPolicySet.Egress.0.PolicyIndex=0
&SecurityGroupPolicySet.Egress.0.ServiceTemplate.ServiceId=ppm-f5n1f8da
&SecurityGroupPolicySet.Egress.0.AddressTemplate.AddressId=ipm-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.AddressTemplate.AddressId=ipm-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",
      "CreateTime": "2018-01-13 19:26:33"
    }
  }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
InvalidParameter.Coexist 参数不支持同时指定。
InvalidParameterValue 参数值不合法。
InvalidParameterValue.TooLong 无效参数值。参数值太长。
LimitExceeded 超过配额限制。
MissingParameter 参数缺失。请求没有带必选参数。
ResourceNotFound 资源不存在。
目录