帮你快速理解、总结文档立即下载
文档中心>API 中心>云防火墙>访问控制相关接口>新增互联网边界访问控制规则

新增互联网边界访问控制规则

最近更新时间:2026-07-27 01:26:16
我的收藏

1. 接口描述

接口请求域名: cfw.tencentcloudapi.com 。

新增一条或多条互联网边界访问控制规则。

默认接口请求频率限制:20次/秒。

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

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:AddAclRule。
Version String 公共参数,本接口取值:2019-09-04。
Region String 公共参数,此参数为可选参数。
Rules.N Array of CreateRuleItem 待添加的互联网边界规则列表,不能为空。每条规则均须满足方向、访问源和目的、动作、范围、协议端口及模板限制;整个请求还须满足规则配额和可生效规则数量限制。账号相关值必须来自只读查询:地址模板调用 DescribeAddressTemplateList,请求用 TemplateType=1 或 5 过滤,并确认返回项 Data[].Type 为 1 或 5;将 Data[].Uuid(mb_ 前缀)写入对应 Content,不要使用 Data[].TemplateId(ip-/dm- 前缀)。协议端口模板请求用 TemplateType=6 过滤,并将 Data[].TemplateId(pp- 前缀)写入 ParamTemplateId。资产实例调用 DescribeCfwAssets,解析返回结果后使用 assets[].instance_id;资产分组调用 DescribeResourceGroupNew,传 QueryType=resource、GroupId="0"、ShowType=all,解析返回结果后使用 GroupId;资源标签传 QueryType=tag,跳过“全部资产”根节点,以一级节点 GroupName 为 Key、所选二级子节点 GroupName 为 Value 构造 JSON,不要写入 GroupId。地域调用 DescribeAclRegInfo:Scope=serial 传 FwType=["SERIAL"],Scope=side 传 FwType=["BYPASS"],Scope=all 同时传两项,并使用 Data[].RegionCode。不得使用展示名称或自行拼接。覆盖导入的范围仅由首条规则的 Direction 决定。
CfwAiAgentOperationSource String

AI操作来源

枚举值:

  • console: 控制台来源值
  • wechat: 微信

示例值:console
From String 添加方式。省略或空字符串表示普通新增;insert_rule 表示指定位置新增;batch_import 表示非覆盖批量导入;batch_import_cover 表示覆盖导入,会删除首条规则 Direction 对应的现有可操作规则后再添加 Rules,添加失败时已删除的规则不会恢复,风险极高。覆盖范围仅由首条规则决定,调用方应确保 Rules 的 Direction 一致。仅支持上述取值。
示例值:batch_import

3. 输出参数

参数名称 类型 描述
RuleUuid Array of Integer 新增规则的 ID 列表,顺序与 Rules 一致。
示例值:[8888, 8889]
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 添加一条出站互联网边界观察规则

使用 RFC 5737 文档地址添加一条出站串行 TCP 观察规则;显式指定启用状态、生效范围、规则来源和末尾优先级。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "Rules": [
        {
            "SourceContent": "192.0.2.0/24",
            "SourceType": "net",
            "TargetContent": "198.51.100.10",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "true",
            "Description": "出站 TCP 观察示例",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100001
        ],
        "RequestId": "00000000-0000-4000-8000-000000000001"
    }
}

示例2 添加一条入站地域来源规则

添加一条入站串行 TCP 规则,来源使用地域 code;地域 code 应通过只读查询取得,示例中的 gd44 仅用于展示格式。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "Rules": [
        {
            "SourceContent": "gd44",
            "SourceType": "location",
            "TargetContent": "198.51.100.0/24",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "accept",
            "Port": "443",
            "Direction": 1,
            "OrderIndex": -1,
            "Enable": "true",
            "Description": "允许地域来源访问 HTTPS",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100002
        ],
        "RequestId": "00000000-0000-4000-8000-000000000002"
    }
}

示例3 插入一条旁路互联网边界规则

使用 insert_rule 在指定位置插入一条禁用的出站旁路规则;调用前使用 DescribeCfwRules,传 RuleType=border、Direction=0、ExpandNames=false,将目标位置对应的 rules[].sequence 写入 OrderIndex。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "From": "insert_rule",
    "Rules": [
        {
            "SourceContent": "192.0.2.0/24",
            "SourceType": "net",
            "TargetContent": "198.51.100.10",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": 3118,
            "Enable": "false",
            "Description": "插入旁路观察规则",
            "Scope": "side",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100003
        ],
        "RequestId": "00000000-0000-4000-8000-000000000003"
    }
}

示例4 在连续位置批量插入互联网边界规则

两条规则使用相同的 Direction,并按请求顺序将 OrderIndex 设置为连续位置 3 和 4。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "From": "insert_rule",
    "Rules": [
        {
            "SourceContent": "192.0.2.31",
            "SourceType": "net",
            "TargetContent": "198.51.100.31",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": 3,
            "Enable": "false",
            "Description": "连续位置批量插入示例一",
            "Scope": "serial",
            "RuleSource": 0
        },
        {
            "SourceContent": "192.0.2.32",
            "SourceType": "net",
            "TargetContent": "198.51.100.32",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "8443",
            "Direction": 0,
            "OrderIndex": 4,
            "Enable": "false",
            "Description": "连续位置批量插入示例二",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100008,
            100009
        ],
        "RequestId": "00000000-0000-4000-8000-000000000008"
    }
}

示例5 批量导入两条全局互联网边界规则

使用非覆盖的 batch_import 新增两条禁用的出站全局规则;该方式不会删除已有规则。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "From": "batch_import",
    "Rules": [
        {
            "SourceContent": "192.0.2.1",
            "SourceType": "net",
            "TargetContent": "198.51.100.31",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "批量全局规则一",
            "Scope": "all",
            "RuleSource": 0
        },
        {
            "SourceContent": "192.0.2.2",
            "SourceType": "net",
            "TargetContent": "198.51.100.32",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "8443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "批量全局规则二",
            "Scope": "all",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100004,
            100005
        ],
        "RequestId": "00000000-0000-4000-8000-000000000004"
    }
}

示例6 使用地址模板新增互联网边界规则

使用地址模板新增一条互联网边界规则。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "Rules": [
        {
            "SourceContent": "mb_xxxxx_xxxxx",
            "SourceType": "template",
            "TargetContent": "198.51.100.60",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "地址模板观察规则",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100006
        ],
        "RequestId": "00000000-0000-4000-8000-000000000005"
    }
}

示例7 使用资源标签新增互联网边界规则

调用 DescribeResourceGroupNew,传 QueryType=tag,以一级节点 GroupName 为 Key、所选二级子节点 GroupName 为 Value 构造访问源。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "Rules": [
        {
            "SourceContent": "{\"Key\":\"自动化测试\",\"Value\":\"autotest\"}",
            "SourceType": "tag",
            "TargetContent": "198.51.100.60",
            "TargetType": "net",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "资源标签观察规则",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100007
        ],
        "RequestId": "00000000-0000-4000-8000-000000000006"
    }
}

示例8 允许腾讯云来源访问指定资产

用户要求允许腾讯云来源访问指定资产时,先调用 DescribeCfwAssets,选择具有公网 IP 的目标资产并使用 assets[].instance_id;云厂商使用协议值 tencent,不要填写展示名称“腾讯云”。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "Rules": [
        {
            "SourceContent": "tencent",
            "SourceType": "vendor",
            "TargetContent": "ins-xxxxxxxx",
            "TargetType": "instance",
            "Protocol": "ANY",
            "RuleAction": "log",
            "Port": "-1/-1",
            "Direction": 1,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "观察腾讯云来源访问指定资产",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100010
        ],
        "RequestId": "00000000-0000-4000-8000-000000000010"
    }
}

示例9 添加 DNS 宽松和严格匹配规则

用户要求按域名解析结果控制出站访问时,可在同一方向批量添加两条规则:dnsparse 在 Host/SNI 匹配或目的 IP 属于当前 DNS 解析结果时命中,domainiptwoverify 要求两个条件同时满足。两条规则均使用查询或用户确认的精确域名,不使用单独的 *。

输入示例

POST / HTTP/1.1
Host: cfw.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddAclRule
<公共请求参数>

{
    "Rules": [
        {
            "SourceContent": "192.0.2.0/24",
            "SourceType": "net",
            "TargetContent": "example.com",
            "TargetType": "dnsparse",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "观察 DNS 宽松匹配流量",
            "Scope": "serial",
            "RuleSource": 0
        },
        {
            "SourceContent": "192.0.2.0/24",
            "SourceType": "net",
            "TargetContent": "example.org",
            "TargetType": "domainiptwoverify",
            "Protocol": "TCP",
            "RuleAction": "log",
            "Port": "443",
            "Direction": 0,
            "OrderIndex": -1,
            "Enable": "false",
            "Description": "观察 DNS 严格匹配流量",
            "Scope": "serial",
            "RuleSource": 0
        }
    ]
}

输出示例

{
    "Response": {
        "RuleUuid": [
            100011,
            100012
        ],
        "RequestId": "00000000-0000-4000-8000-000000000011"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

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

命令行工具

6. 错误码

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

错误码 描述
AuthFailure CAM签名/鉴权错误。
DryRunOperation DryRun 操作,代表请求将会是成功的,只是多传了 DryRun 参数。
FailedOperation 操作失败。
InternalError 内部错误。
InvalidParameter 参数错误。
InvalidParameterValue 参数取值错误。
LimitExceeded 超过配额限制。
MissingParameter 缺少参数错误。
OperationDenied 操作被拒绝。
RequestLimitExceeded 请求的次数超过了频率限制。
ResourceInUse 资源被占用。
ResourceInsufficient 资源不足。
ResourceNotFound 资源不存在。
ResourceUnavailable 资源不可用。
ResourcesSoldOut 资源售罄。
UnauthorizedOperation 未授权操作。
UnknownParameter 未知参数错误。
UnsupportedOperation 操作不支持。