关于 huawei-cloud-waf-aad-rule-management
面向华为云运维人员的 WAF 与 AAD 管理技能,通过 hcloud CLI 查询防护配置、诊断规则和防护覆盖情况,并在确认后管理 WAF 规则。AAD 实例的创建和删除需通过控制台完成。
主要功能
- 01查询 WAF 实例、域名、策略和规则
- 02诊断 CNAME 接入状态与规则顺序
- 03检查 AAD 实例和 EIP 防护覆盖
- 04预览并创建 WAF 规则
- 05经明确确认后删除 WAF 规则
适用场景
- 01核实域名是否接入 WAF
- 02排查规则顺序导致的误拦截风险
- 03检查公网 EIP 的 AAD 防护覆盖
- 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.mdcli-installation-guide.mddataflow-diagram.mdiam-policies.mdrelated-commands.mdverification-method.mdscripts/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 安装)。
重要警告
| # | 警告 | 重要原因 |
|---|---|---|
| 1 | WAF 需要 CNAME 重定向 | DNS 必须指向 WAF 终端节点(CNAME),而不是源站服务器 IP。若 DNS 指向源站,WAF 防护将被完全绕过。 |
| 2 | Cloud WAF 需要高级版 / 独享实例 | 受保护的 WAF 域名仅适用于付费的 Cloud WAF 高级版 / 独享实例;免费层不支持所有规则类型和功能。 |
| 3 | AAD 标准版与企业版 | 标准版仅保护单个 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 并不存在。请勿编造此类命令;应使用本技能中的控制台操作指南。 |
前置条件
- 已安装 hcloud CLI (KooCLI) 7.2.12+。
- 安装和配置:参见
references/cli-installation-guide.md - 验证:
hcloud version
- 安装和配置:参见
- 身份验证——以下任一方式:
- 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 环境变量)进行配置,并在继续前 确认——凭据只从环境或用户自己的本地配置文件中读取(不得在任何位置硬编码)。
- AK/SK 环境变量(
- 区域和项目:WAF 操作需要
--project_id(路径参数)和--cli-region。 KooCLI 在省略--project_id时会自动使用已验证身份的配置文件中的默认项目(已在 KooCLI 7.2.12 上 验证),因此此技能中的命令示例会省略该参数;多项目账户可显式附加--project_id=<project_id>。 如需查看项目列表,请参见控制台 (我的凭据 → 项目)。 - 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。
- 读取/查询:
- AAD 套餐上下文:AAD 按区域划分(
cn-north-4、ap-southeast-1等)。在检查防护覆盖范围前,使用hcloud AAD ListPackage查看已购买的套餐。 skill-quality-cli——通过bash scripts/ensure_cli.sh确保已安装(幂等,已存在时会跳过)- 升级:手动运行
skill-quality-cli upgrade(不会自动升级) - 禁用遥测报告:设置
SKILL_QUALITY_REPORT=0
- 升级:手动运行
操作映射(17 项操作)
| R 级别 | 类别 | 操作 | 对应的 CLI 操作 |
|---|---|---|---|
| R3(只读,自动执行) | 查询 | huawei_list_waf_instances | WAF ListInstance、WAF ListCompositeHosts、WAF ShowCompositeHost |
| R3 | 查询 | huawei_list_waf_policies | WAF ListPolicy |
| R3 | 查询 | huawei_list_waf_custom_rules | WAF ListCustomRules |
| R3 | 查询 | huawei_list_waf_whiteblackip_rules | WAF ListWhiteblackipRule |
| R3 | 查询 | huawei_list_waf_cc_rules | WAF ListCcRules |
| R3 | 查询 | huawei_list_waf_geo_rules | WAF ListGeoipRule |
| R3 | 查询 | huawei_list_aad_instances | AAD ListInstance、AAD ListPackage |
| R3 | 诊断 | huawei_analyze_waf_cname_status | WAF ListCompositeHosts、WAF ShowCompositeHost |
| R3 | 诊断 | huawei_analyze_waf_rule_order | WAF ListCustomRules、WAF ListWhiteblackipRule、WAF ListCcRules、WAF ListGeoipRule |
| R3 | 诊断 | huawei_analyze_aad_protection | AAD ListInstance、AAD ListProtectedIp、AAD ListUnboundProtectedIp |
| R2(预览 + 确认) | 管理 | huawei_create_waf_custom_rule | WAF BatchCreateCustomRule |
| R2 | 管理 | huawei_create_waf_ip_blacklist_rule | WAF BatchCreateWhiteblackipRule |
| R2 | 管理 | huawei_create_waf_cc_rule | WAF BatchCreateCcRule |
| R2 | 管理 | huawei_create_waf_geo_rule | WAF BatchCreateGeoIpRule |
| R2 | 管理 | huawei_create_aad_instance | 仅控制台操作 — 无 CLI(见下方说明) |
| R1(预览 + 明确确认) | 删除 | huawei_delete_waf_rule | WAF 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 ... |
| 操作名称 | PascalCase | ListCompositeHosts、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