mcpField
H
huawei-cloud-waf-aad-rule-management

huawei-cloud-waf-aad-rule-management

github.com/huaweicloud安全5954 次安装2 天前更新
代码仓库

关于 huawei-cloud-waf-aad-rule-management

面向华为云运维人员的 WAF 与 AAD 管理技能,通过 hcloud CLI 查询防护配置、诊断规则和防护覆盖情况,并在确认后管理 WAF 规则。AAD 实例的创建和删除需通过控制台完成。

主要功能

  1. 01查询 WAF 实例、域名、策略和规则
  2. 02诊断 CNAME 接入状态与规则顺序
  3. 03检查 AAD 实例和 EIP 防护覆盖
  4. 04预览并创建 WAF 规则
  5. 05经明确确认后删除 WAF 规则

适用场景

  1. 01核实域名是否接入 WAF
  2. 02排查规则顺序导致的误拦截风险
  3. 03检查公网 EIP 的 AAD 防护覆盖
  4. 04按流程新增或删除 WAF 规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-waf-aad-rule-management

安装后在 Claude Code 中输入/huawei-cloud-waf-aad-rule-management确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acceptance-criteria.md
cli-installation-guide.md
dataflow-diagram.md
iam-policies.md
related-commands.md
verification-method.md
scripts/
ensure_cli.sh

详细介绍

Huawei Cloud WAF / AAD 技能 (huawei-cloud-waf-aad-rule-management)

第一步:安装 skill-quality-cli(幂等,已安装则跳过)

source scripts/ensure_cli.sh

脚本会自动检测 skill-quality-cli 是否可用(通过 PATH 和 CLI 安装目录双通道检测)。已安装即可直接使用;未安装时不会执行任何运行时下载,只会提示按照 references/cli-installation-guide.md 中的「安装 skill-quality-cli(固定版本 v1.1.6,SHA256 校验)」手动安装(固定版本 + SHA256 校验,禁止未经校验的运行时下载)。CLI 缺失或网络不可用时会跳过质量上报,不会阻塞业务执行。 使用 source 执行可让 CLI 安装目录自动加入当前会话的 PATH;若环境不支持 source,则改用 bash scripts/ensure_cli.sh。之后若命令报 command not found,先执行 export PATH="$HOME/.local/bin:$PATH",再调用 skill-quality-cli。

概述

此技能通过经过验证的 hcloud CLI(KooCLI 7.2.12),提供用于 Huawei Cloud WAF(Web 应用防火墙) 和 AAD(Anti-DDoS) 的 AI Agent 能力。它帮助用户了解“已配置哪些 Web/DDoS 防护”、“网站是否确实接入了 WAF”、“规则是否安全且顺序是否正确”,以及“每个公网 EIP 是否都受到 Anti-DDoS 保护”。

范围界定:

  • ✅ 查询(R3,只读,自动执行):WAF 实例、受保护的域名(复合主机名)、策略、自定义规则、IP 黑白名单规则、CC 规则、地理规则;AAD 实例和套餐。
  • ✅ 诊断(R3,只读,自动执行):CNAME 接入状态、规则顺序和误报风险、AAD EIP 防护覆盖情况。
  • ✅ 管理(R2,预览 + 确认):创建 WAF 自定义 / IP 黑名单 / CC / 地理规则。
  • ✅ 管理(R1,预览 + 明确确认):删除 WAF 规则(自定义 / 黑白名单 / CC / 地理规则)。
  • ❌ 不通过 CLI 创建或删除 AAD 实例——hcloud AAD 没有 CreateInstance / DeleteInstance(已验证:KooCLI 返回 [USE_ERROR] Operation ... is not supported)。AAD 套餐购买(购买)和退订(退订)仅支持通过控制台进行(包周期)操作;请参阅 AAD instance management。
  • ❌ 不配置 DNS 记录(请在 DNS 服务商处操作),也不绑定 / 解绑 EIP。

依赖项:通过 skill-quality-cli 自动收集质量遥测数据(若缺失,则由 scripts/ensure_cli.sh 安装)。

重要警告

#警告重要原因
1WAF 需要 CNAME 重定向DNS 必须指向 WAF 终端节点(CNAME),而不是源站服务器 IP。若 DNS 指向源站,WAF 防护将被完全绕过。
2Cloud WAF 需要高级版 / 独享实例受保护的 WAF 域名仅适用于付费的 Cloud WAF 高级版 / 独享实例;免费层不支持所有规则类型和功能。
3AAD 标准版与企业版标准版仅保护单个 IP/EIP;企业版保护整个网段。选择错误的套餐会导致部分 IP 未受保护。
4规则顺序很重要在 WAF 策略中,规则按从上到下的顺序评估。优先级较高(priority 值较小)且排列靠前的规则会先应用;顺序错误会导致误报 / 漏报。
5规则变更默认先使用仅报告模式对于规则类型的变更(自定义、IP 黑名单、CC、地理规则),首次部署时应将 action 设为 2(日志 / 仅报告模式)以验证影响;验证通过后再切换为 0(拦截)/ 1(放行)——切勿盲目拦截生产流量。
6面向公网的应用必须使用 WAF任何暴露于互联网的 Web 应用都必须接入 WAF。公网 EIP 也应由 AAD 提供 DDoS 防护。
7切勿捏造 AAD 实例 CLI 命令hcloud AAD CreateInstance / DeleteInstance 并不存在。请勿编造此类命令;应使用本技能中的控制台操作指南。

前置条件

  1. 已安装 hcloud CLI (KooCLI) 7.2.12+。
    • 安装和配置:参见 references/cli-installation-guide.md
    • 验证:hcloud version
  2. 身份验证——以下任一方式:
    • AK/SK 环境变量(HUAWEICLOUD_SDK_AK、HUAWEICLOUD_SDK_SK,或 HUAWEI_ACCESS_KEY / HUAWEI_SECRET_KEY);或
    • 本地 hcloud 配置文件(由用户管理):使用 hcloud configure list 检查是否存在;该 技能/Agent 绝不会写入凭据(禁止在技能内或任何脚本中运行 hcloud configure set)。如果未配置 配置文件,请要求用户自行运行 hcloud configure init(或导出 AK/SK 环境变量)进行配置,并在继续前 确认——凭据只从环境或用户自己的本地配置文件中读取(不得在任何位置硬编码)。
  3. 区域和项目:WAF 操作需要 --project_id(路径参数)和 --cli-region。 KooCLI 在省略 --project_id 时会自动使用已验证身份的配置文件中的默认项目(已在 KooCLI 7.2.12 上 验证),因此此技能中的命令示例会省略该参数;多项目账户可显式附加 --project_id=<project_id>。 如需查看项目列表,请参见控制台 (我的凭据 → 项目)。
  4. IAM 权限(遵循最小权限原则,参见 references/iam-policies.md):
    • 读取/查询:waf:instance:list、waf:host:list、waf:policy:list、waf:rule:list、 antiddos:instance:list、antiddos:ip:list、antiddos:package:list 和 eps:*:get。
    • 写入(创建/删除规则):waf:rule:create、waf:rule:delete。
  5. AAD 套餐上下文:AAD 按区域划分(cn-north-4、ap-southeast-1 等)。在检查防护覆盖范围前,使用 hcloud AAD ListPackage 查看已购买的套餐。
  6. skill-quality-cli——通过 bash scripts/ensure_cli.sh 确保已安装(幂等,已存在时会跳过)
    • 升级:手动运行 skill-quality-cli upgrade(不会自动升级)
    • 禁用遥测报告:设置 SKILL_QUALITY_REPORT=0

操作映射(17 项操作)

R 级别类别操作对应的 CLI 操作
R3(只读,自动执行)查询huawei_list_waf_instancesWAF ListInstance、WAF ListCompositeHosts、WAF ShowCompositeHost
R3查询huawei_list_waf_policiesWAF ListPolicy
R3查询huawei_list_waf_custom_rulesWAF ListCustomRules
R3查询huawei_list_waf_whiteblackip_rulesWAF ListWhiteblackipRule
R3查询huawei_list_waf_cc_rulesWAF ListCcRules
R3查询huawei_list_waf_geo_rulesWAF ListGeoipRule
R3查询huawei_list_aad_instancesAAD ListInstance、AAD ListPackage
R3诊断huawei_analyze_waf_cname_statusWAF ListCompositeHosts、WAF ShowCompositeHost
R3诊断huawei_analyze_waf_rule_orderWAF ListCustomRules、WAF ListWhiteblackipRule、WAF ListCcRules、WAF ListGeoipRule
R3诊断huawei_analyze_aad_protectionAAD ListInstance、AAD ListProtectedIp、AAD ListUnboundProtectedIp
R2(预览 + 确认)管理huawei_create_waf_custom_ruleWAF BatchCreateCustomRule
R2管理huawei_create_waf_ip_blacklist_ruleWAF BatchCreateWhiteblackipRule
R2管理huawei_create_waf_cc_ruleWAF BatchCreateCcRule
R2管理huawei_create_waf_geo_ruleWAF BatchCreateGeoIpRule
R2管理huawei_create_aad_instance仅控制台操作 — 无 CLI(见下方说明)
R1(预览 + 明确确认)删除huawei_delete_waf_ruleWAF DeleteCustomRule / DeleteWhiteBlackIpRule / DeleteCcRule / DeleteGeoipRule
R1(预览 + 明确确认)删除huawei_delete_aad_instance仅控制台操作 — 无 CLI(见下方说明)

AAD 实例创建/删除(强制限制): hcloud AAD 不支持 CreateInstance 或 DeleteInstance(已在 KooCLI 7.2.12 上验证:[USE_ERROR]Operation CreateInstance is not supported.)。AAD 实例需在控制台购买包周期套餐:控制台 → 安全 → Anti-DDoS → Anti-DDoS Instance → Purchase instance;如需删除,可通过 Anti-DDoS Instance → More → Unsubscribe 退订。huawei_create_aad_instance 和 huawei_delete_aad_instance 不得路由到任何虚构的 CLI 命令。应改为:

  • 查看已购买的套餐:hcloud AAD ListPackage --cli-region=<region>(见核心命令)
  • 检查当前防护范围:hcloud AAD ListInstance + hcloud AAD ListProtectedIp

工作流

1. Identify context -> region (--cli-region), project_id (--project_id), and the resource to act on
   (WAF instance/host, policy, rule type; or AAD package/EIP)
2. Query phase (R3, auto)   -> list WAF instances/hosts/policies/rules or AAD instances/packages
3. Diagnose phase (R3, auto)
   a. CNAME status  -> ListCompositeHosts, then ShowCompositeHost for each protected domain:
      check cname + protocol/access-status; warn if DNS does not point to the WAF endpoint
   b. Rule order    -> list rules of the target policy, order by priority; flag
      block rules sitting above log/allow rules or conflicting conditions (false-positive risk)
   c. AAD coverage  -> ListInstance, then ListProtectedIp per instance; ListUnboundProtectedIp to
      find unbound public IPs; warn for Standard package (single IP) vs Enterprise (网段)
4. Manage phase (R2/R1, requires confirmation)
   a. CREATE (R2): build the rule intent (policy_id, rule type, action, conditions), PREVIEW the
      exact CLI command + parameters to the user, wait for explicit confirmation, then execute.
      New rules default to action=2 (log/report) first unless the user explicitly requests block.
   b. DELETE (R1): list the exact rule to delete (type + rule_id), PREVIEW the command, wait for
      EXPLICIT confirmation ("yes, delete"), then execute.
5. Output -> structured JSON result + readable summary (quality telemetry is reported automatically via the `skill-quality-cli run` wrapper)

核心命令

以下所有命令均已通过 KooCLI 7.2.12 验证(hcloud <service> <Operation> --help);参数名称逐字取自 CLI 元数据。每条命令都必须包含 --cli-region。对于 WAF,--project_id 是 API 的路径参数;若省略,KooCLI 会自动使用已认证配置文件的默认项目,因此下方示例中省略了该参数(多项目账户可显式追加 --project_id=<project_id>——参见参数确认)。

每条命令都以两种形式展示:

  • 裸 hcloud ... 命令(规范的 CLI 形式,供工具和自动化测试使用);以及
  • 质量报告形式 skill-quality-cli run --skill-name ... -- <command>(运行时强制使用的执行形式)。

⚠️ 强制要求:此 skill 中的每条 hcloud 命令都必须使用 skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- 包裹——严格禁止裸调 hcloud。 ⚠️ 强制要求:Agent/脚本运行时执行本 skill 的任何 hcloud 命令,必须用 skill-quality-cli run 包裹,禁止裸调 hcloud(Core Commands 中展示的裸命令仅为规范化 CLI 形式,供工具/测试流水线提取与校验;实际执行一律使用其上方对应的包裹形式)。

可测试性约定(2026-09-17):仅「无业务参数依赖」的查询命令给出裸命令形式,供测试流水线 自动提取并执行(此类命令不传业务 ID 即可真实查询)。依赖 --policy_id / --host_id / --package_id 等业务参数的查询,以及全部写操作(R2/R1),只给出 skill-quality-cli run 包裹形式——它们需要真实资源 ID 或显式确认,测试流水线不应自动执行。

1. WAF — 实例与受保护域名(R3)
# Dedicated WAF instances
hcloud WAF ListInstance --cli-region={region}   # 分页参数为--page/--pagesize, 该接口不支持--limit
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListInstance --cli-region={region}

# Protected domain names (composite hosts) + CNAME onboarding status
hcloud WAF ListCompositeHosts --cli-region={region}   # 分页参数为--page/--pagesize, 该接口不支持--limit
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListCompositeHosts --cli-region={region}

# Detail of one protected domain (CNAME, protocol, protection status) — needs --host_id (业务参数)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ShowCompositeHost --cli-region={region} --host_id={host_id}
2. WAF — 策略(R3)
# WAF policies of the current account
hcloud WAF ListPolicy --cli-region={region}   # 分页参数为--page/--pagesize, 该接口不支持--limit
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListPolicy --cli-region={region}

3. WAF — 规则查询(R3)

以下规则查询均依赖 --policy_id(业务参数,需先通过 ListPolicy 获取真实的 policy_id), 仅提供质量上报包裹形式,不会自动执行。

# Custom / precise protection rules of one policy
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListCustomRules --cli-region={region} --policy_id={policy_id}

# IP blacklist / whitelist rules
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListWhiteblackipRule --cli-region={region} --policy_id={policy_id}

# CC (rate limiting) rules
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListCcRules --cli-region={region} --policy_id={policy_id}

# Geo (regional blocking) rules
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ListGeoipRule --cli-region={region} --policy_id={policy_id}
4. WAF — 创建规则(R2,预览 + 确认)
# Custom (precise protection) rule — action.category: block|pass|log
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF BatchCreateCustomRule --cli-region={region} --policy_ids.1={policy_id} --name={rule_name} --priority={priority} --action.category=log --time=false --conditions.1.category=url --conditions.1.logic_operation=contain --conditions.1.contents.1=/admin

# IP blacklist rule (white=0 block / 1 allow / 2 log)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF BatchCreateWhiteblackipRule --cli-region={region} --policy_ids.1={policy_id} --name={rule_name} --white=0 --addr=42.123.120.66

# CC (rate limiting) rule — mode=0 standard / 1 advanced; tag_type=ip|cookie|header|other|...
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF BatchCreateCcRule --cli-region={region} --policy_ids.1={policy_id} --name={rule_name} --mode=0 --limit_num=100 --limit_period=60 --tag_type=ip --action.category=log --conditions.1.category=url --conditions.1.logic_operation=contain --conditions.1.contents.1=/

# Geo rule (geoip from ShowPolicyGeoipMap; white=0 block / 1 allow / 2 log)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF BatchCreateGeoIpRule --cli-region={region} --policy_ids.1={policy_id} --geoip={geoip} --white=0

5. WAF — 删除规则(R1,预览 + 明确确认)
# Delete a custom rule (rule_id from ListCustomRules)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF DeleteCustomRule --cli-region={region} --policy_id={policy_id} --rule_id={rule_id}

# Delete an IP black/white list rule (rule_id from ListWhiteblackipRule)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF DeleteWhiteBlackIpRule --cli-region={region} --policy_id={policy_id} --rule_id={rule_id}

# Delete a CC rule (rule_id from ListCcRules)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF DeleteCcRule --cli-region={region} --policy_id={policy_id} --rule_id={rule_id}

# Delete a geo rule (rule_id from ListGeoipRule)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF DeleteGeoipRule --cli-region={region} --policy_id={policy_id} --rule_id={rule_id}

6. AAD — 实例与防护查询(R3)
# AAD instances (NOTE: only --cli-region is required; AAD is region-based)
hcloud AAD ListInstance --cli-region={region}   # 该接口不支持--limit
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud AAD ListInstance --cli-region={region}

# Anti-DDoS packages (套餐) — the ONLY supported AAD "package" management entry point
hcloud AAD ListPackage --cli-region={region}   # 该接口不支持--limit
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud AAD ListPackage --cli-region={region}

# EIPs currently protected by a package/policy (optional filters: --package_id={package_id}, --policy_id={policy_id})
hcloud AAD ListProtectedIp --cli-region={region}   # 可选分页参数为--limit/--offset
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud AAD ListProtectedIp --cli-region={region}

# Unbound protected IPs of a package — key input for huawei_analyze_aad_protection;
# needs --package_id (业务参数), wrapper-only (not auto-executed)
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud AAD ListUnboundProtectedIp --cli-region={region} --package_id={package_id}
AAD 实例管理(仅限控制台)

hcloud AAD 不支持 CreateInstance / DeleteInstance(已验证:[USE_ERROR] Operation CreateInstance is not supported.)。请勿为这些操作编造 CLI 命令。

意图支持的路径
创建 / 购买 AAD 实例(包周期)控制台:安全 → Anti-DDoS → Anti-DDoS Instance → Purchase Anti-DDoS Instance;选择 Standard(单 IP)或 Enterprise(整个网段)套餐
删除 / 退订 AAD 实例控制台:Anti-DDoS Instance → 选择实例 → More → Unsubscribe(退订)
购买后验证套餐hcloud AAD ListPackage --cli-region={region}
验证防护覆盖范围(备用诊断路径)hcloud AAD ListInstance + hcloud AAD ListProtectedIp + hcloud AAD ListUnboundProtectedIp

参数确认

以下所有参数名称均已根据 hcloud <service> <Operation> --help(KooCLI 7.2.12)验证。 {region} / {project_id} 是上下文值;可从我的凭证 → 项目获取项目 ID。

参数校验(工具参数安全,强制):在拼装 hcloud 命令前,必须校验所有动作参数;非法输入应直接拒绝并向用户说明,禁止将未经校验的参数传入命令执行:

  • 枚举类参数逐一按白名单比对:--action.category ∈ {block, pass, log, captcha, dynamic_block}、--white ∈ {0,1,2}、--mode ∈ {0,1}、--tag_type ∈ {ip, cookie, header, other, policy, domain, url}、--ip_type ∈ {v4, v6, any}、--time_mode ∈ {permanent, customize}、--logic_operation ∈ {contain, not_contain, equal, not_equal, begin_with, not_begin_with, end_with, not_end_with};
  • 数值/格式类参数进行类型和范围校验:--priority(整数,0–65535)、--limit_num(1–2147483647)、--limit_period(1–3600)、--addr(合法 IPv4/IPv6/CIDR)、--policy_id/--rule_id/--host_id/--project_id(华为云资源 UUID 格式);
  • 所有来自用户输入的参数值都必须先校验再使用;对于白名单之外或格式非法的值,一律拒绝。
WAF 列表 / 显示(查询,R3)
命令必需参数可选参数
ListCompositeHosts--cli-region、--project_id--enterprise_project_id、--hostname、--is_https、--page、--pagesize、--policyname、--protect_status、--waf_type
ListInstance--cli-region、--project_id--enterprise_project_id、--instancename、--page、--pagesize
ShowCompositeHost--cli-region、--project_id、--host_id--enterprise_project_id
ListPolicy--cli-region、--project_id--enterprise_project_id、--name、--page、--pagesize
ListCustomRules--cli-region、--project_id、--policy_id--enterprise_project_id、--limit、--offset、--page、--pagesize
ListWhiteblackipRule--cli-region、--project_id、--policy_id--enterprise_project_id、--name、--page、--pagesize
ListCcRules--cli-region、--project_id、--policy_id--category、--enterprise_project_id、--limit、--name、--offset、--page、--pagesize、--status、--tag_type
ListGeoipRule--cli-region、--project_id、--policy_id--enterprise_project_id、--page、--pagesize
WAF 批量创建(写入,R2 — 可索引数组参数使用 .N 后缀)
命令必填参数关键可选参数
BatchCreateCustomRule--cli-region、--project_id、--policy_ids.N、--name、--priority、--action.category(block|pass|log)、--time(bool)--conditions.N.category、--conditions.N.contents.N、--conditions.N.index、--conditions.N.logic_operation、--conditions.N.value_list_id、--action.followed_action_id、--description、--enterprise_project_id、--start、--terminal
BatchCreateWhiteblackipRule--cli-region、--project_id、--policy_ids.N、--name、--white(0 阻止 / 1 允许 / 2 记录)--addr(IP 或 CIDR)、--description、--enterprise_project_id、--ip_group_id、--policyids.N、--start、--terminal、--time_mode(permanent|customize)
BatchCreateCcRule--cli-region、--project_id、--policy_ids.N、--name、--mode(0 标准 / 1 高级)、--limit_num(1–2147483647)、--limit_period(1–3600 秒)、--tag_type(ip|cookie|header|other|policy|domain|url)、--action.category(captcha|block|log|dynamic_block)、--conditions.N.category、--conditions.N.logic_operation--action.detail.response.content、--action.detail.response.content_type、--cc_priority、--conditions.N.contents.N、--conditions.N.index、--conditions.N.value_list_id、--description、--domain_aggregation、--enterprise_project_id、--lock_time、--priority、--region_aggregation、--tag_index、--unlock_num
BatchCreateGeoIpRule--cli-region、--project_id、--policy_ids.N、--geoip、--white(0 阻止 / 1 允许 / 2 记录)--description、--enterprise_project_id、--ip_type(v4|v6|any)、--name
WAF 删除(写入,R1)
命令必填参数可选参数
DeleteCustomRule / DeleteWhiteBlackIpRule / DeleteCcRule / DeleteGeoipRule--cli-region、--project_id、--policy_id、--rule_id--enterprise_project_id
AAD(查询,R3)
命令必填参数可选参数
ListInstance--cli-region—
ListPackage--cli-region—
ListProtectedIp--cli-region--ip、--limit、--offset、--package_id、--policy_id、--tag
ListUnboundProtectedIp--cli-region、--package_id--limit、--offset

AAD 的 CreateInstance / DeleteInstance:CLI 中不存在——请参阅上文仅限控制台的 部分。切勿猜测或编造它们的参数。

KooCLI 命令格式标准

通用调用格式为 hcloud <service> <Operation> --cli-region=<region> [--key=value ...] — 这只是格式说明:<...> 和 [--key=value] 均为占位符,不可原样执行。

功能描述示例
服务名称WAF、AAD(根据 KooCLI 7.2.12 元数据检测得出)hcloud WAF ...
操作名称PascalCaseListCompositeHosts、BatchCreateCcRule
区域参数--cli-region=<value>(必填;省略时使用配置文件中的值)--cli-region=cn-north-4
项目 ID--project_id=<value>(WAF 必填)--project_id=a1b2...
简单参数--key=value--policy_id=p1
带索引的参数(数组)--key.N=valueN--policy_ids.1=pol1、--conditions.1.contents.1=/admin

参考文档

  • references/cli-installation-guide.md — KooCLI 安装、AK/SK 和配置文件身份验证
  • references/iam-policies.md — 用于 WAF/AAD 读写的最小权限 IAM 策略
  • references/verification-method.md — 如何验证此技能(只读检查、试运行、确认流程)
  • references/dataflow-diagram.md — Mermaid 数据流图(查询 / 诊断 / 管理)
  • references/acceptance-criteria.md — 与 17 项操作对应的验收标准
  • references/related-commands.md — 辅助命令(ShowPolicyGeoipMap、EPS、DNS/EIP 上下文)
  • scripts/ensure_cli.sh — 幂等的 skill-quality-cli 安装程序(参见核心命令中的 ⚠️ 强制说明)

相关命令(辅助)

# Query supported geo regions for geo rules (source of {geoip} values)
hcloud WAF ShowPolicyGeoipMap --cli-region={region}   # 无分页参数, 不支持--limit
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud WAF ShowPolicyGeoipMap --cli-region={region}

# Confirm the authenticated profile / region
hcloud configure list   # 本地配置查看, 无--limit参数
skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- hcloud configure list

评论

支持 Markdown