创建安全组和规则

最近更新时间:2024-09-12 02:31:26

我的收藏

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。

命令行工具

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 资源被锁定。