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 について

クラウド運用担当者向けの Huawei Cloud WAF・AAD 管理スキルです。hcloud CLI で保護設定を照会し、ルールや保護範囲を診断して、確認後に WAF ルールを管理します。AAD インスタンスの作成・削除はコンソールで行います。

主な機能

  1. 01WAF インスタンス、ドメイン、ポリシー、ルールの照会
  2. 02CNAME 接続状態とルール順序の診断
  3. 03AAD インスタンスと EIP 保護範囲の確認
  4. 04WAF ルールのプレビューと作成
  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 が表示された場合は、skill-quality-cli を呼び出す前に export PATH="$HOME/.local/bin:$PATH" を実行してください。

概要

このスキルは、検証済みの hcloud CLI(KooCLI 7.2.12)を介して、Huawei Cloud WAF(Web Application Firewall) および AAD(Anti-DDoS) の AI エージェント機能を提供します。「どのような 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 インスタンス管理 を参照してください。
  • ❌ DNS レコードの設定には対応していません(DNS プロバイダー側で設定してください)。また、EIP のバインド/バインド解除にも対応していません。

依存関係:skill-quality-cli を介して品質テレメトリが自動的に収集されます(未インストールの場合、scripts/ensure_cli.sh によってインストールされます)。

重要な警告

#警告重要な理由
1WAF には CNAME リダイレクトが必要ですDNS はオリジンサーバーの IP ではなく、WAF エンドポイント(CNAME) を指す必要があります。DNS がオリジンを指していると、WAF 保護が完全に迂回されます。
2Cloud WAF にはプレミアム/専有インスタンスが必要ですWAF の保護対象ドメインが機能するのは、有料の Cloud WAF(プレミアム/専有)インスタンスのみです。無料プランでは、すべてのルールタイプと機能を利用できません。
3AAD Standard と Enterprise の違いStandard が保護するのは 単一の IP/EIP のみです。Enterprise は ネットワークセグメント全体(网段) を保護します。誤ったパッケージを選択すると、保護されない IP が発生します。
4ルールの順序が重要ですWAF ポリシー内のルールは 上から下へ 評価されます。優先度が高い(priority の値が小さい)ルールほど先に適用されます。順序を誤ると、誤検知/検知漏れが発生します。
5ルール変更では、まずレポートモードを使用しますルールタイプ(カスタム、IP ブラックリスト、CC、地域)を変更する場合は、まずアクション 2(ログ記録/レポートのみモード)でデプロイして影響を確認し、検証後に 0(ブロック)/1(許可)へ切り替えてください。本番トラフィックをいきなりブロックしないでください。
6インターネットに公開されるアプリには WAF の使用が必須ですインターネットに公開されている Web アプリケーションは、すべて WAF の背後に配置する必要があります。DDoS 保護のため、パブリック EIP も AAD で保護する必要があります。
7AAD インスタンスの 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 で存在を確認してください。スキル/エージェントが認証情報を書き込むことはありません(スキル内またはいかなるスクリプト内でも 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> を明示的に追加できます。プロジェクトの一覧表示については、コンソールの My Credentials → Projects を参照してください。
  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>(Core Commands を参照)
  • 現在の保護状況を確認します: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> を明示的に追加できます。パラメーターの確認を参照してください)。

各コマンドは、次の 2 つの形式で示します。

  • hcloud ... コマンドのみ(標準 CLI 形式。ツールや自動テストで使用)、および
  • 品質レポート形式 skill-quality-cli run --skill-name ... -- <command>(実行時に必須の形式)。

⚠️ 必須:このスキルのすべての hcloud コマンドは、skill-quality-cli run --skill-name huawei-cloud-waf-aad-rule-management -- でラップする必要があります。hcloud のみを呼び出すことは固く禁止されています。 ⚠️ 必須:Agent/スクリプトが実行時にこの skill の hcloud コマンドを実行する場合は、必ず skill-quality-cli run でラップしてください。hcloud のみを直接呼び出すことは禁止されています(Core Commands に示す hcloud のみのコマンドは、ツールやテストパイプラインが抽出・検証するための標準 CLI 形式です。実際の実行では、必ず対応するラップ形式を使用してください)。

テスト可能性に関する規約(2026-09-17):業務パラメーターに依存しないクエリコマンドのみ、テストパイプラインが自動的に抽出して実行できるよう、hcloud のみのコマンド形式を示します(この種のコマンドは業務 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(業務パラメーター)に依存します。実際の policy_id は事前に ListPolicy を実行して取得してください。 品質レポート用のラッパー形式のみを提示し、自動実行はしません。

# 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 インスタンスの作成/購入(期間契約)コンソール:Security → 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 は My Credentials → Projects から取得してください。

パラメーターの検証(ツールパラメーターの安全性、必須):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(Huawei Cloud リソースの 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 BatchCreate(書き込み、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 ...
オペレーション名パスカルケース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 インストーラー(Core Commands の⚠️ 必須の注意事項を参照)

関連コマンド(補助)

# 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

コメント