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