すべてのプロダクト
Search
ドキュメントセンター

Web Application Firewall:OpenAPI サンプルコードの使用

最終更新日:Jan 22, 2026

このトピックでは、Web Application Firewall を OpenAPI で使用する方法について説明します。

OpenAPI ドキュメントの表示

API の概要には、CNAME レコードの詳細を照会するための OpenAPI 操作が DescribeDomainDetail であることが記載されています。このドキュメントを読んで、この操作を呼び出すために必要なパラメーターと権限を理解してください。

RAM ユーザーの作成と権限付与

ID

この操作は、Alibaba Cloud アカウント、Resource Access Management (RAM) ユーザー、または RAM ロールを使用して呼び出すことができます。これらの ID の違いの詳細については、「ID、認証情報、および権限付与」をご参照ください。この例では、RAM ユーザー を使用して操作を呼び出します。

RAM コンソールにログインし、API アクセス用の RAM ユーザーを作成して、AccessKey 情報を保存します。詳細については、「RAM ユーザーの作成」をご参照ください。

権限の付与

  1. RAM ユーザーリストに移動します。対象の RAM ユーザーの 操作 列で、[権限の追加] をクリックします。

  2. [アクセスポリシー] セクションで、検索ボックスにキーワード WAF を入力し、AliyunYundunWAFv3FullAccess ポリシーを選択します。

    説明

    WAF のシステムポリシーは次のとおりです。

    • AliyunYundunWAFv3FullAccess:WAF 3.0 の完全な管理権限を付与します。

    • AliyunYundunWAFv3ReadOnlyAccess:WAF 3.0 の読み取り専用権限を付与します。

  3. [OK] をクリックして権限付与を完了します。

認証情報

RAM ユーザーを作成すると、デフォルトで AccessKey が生成されます。この AccessKey を使用できます。または、RAM ユーザー の詳細ページで 認証管理 タブに移動し、[AccessKey の作成] をクリックして新しい AccessKey を作成することもできます。詳細については、「AccessKey の作成」をご参照ください。

OpenAPI 操作の呼び出し

このトピックでは、Python を例として、OpenAPI 操作を呼び出す方法について説明します。

Python 環境の準備

  1. Python をダウンロードしてインストールできます。

    Python 3 のダウンロードについては、Python 3 をご参照ください。

  2. Python のバージョンを確認します。

    • Linux および macOS システム

      ターミナルを開き、python --version コマンドを実行します。

    • Windows システム

      • Python のインストールパスで、python.exe をダブルクリックします。

      • コマンドプロンプトを開きます。

        Win+R を押して [ファイル名を指定して実行] ダイアログボックスを開きます。python と入力し、[OK] をクリックします。

環境変数の設定

環境変数の設定方法の詳細については、「Linux、macOS、および Windows システムでの環境変数の設定」をご参照ください。

依存関係をインストールする

pip install alibabacloud_waf_openapi20211001==2.0.2

サンプルコードをダウンロードする

  1. OpenAPI Portal では、DescribeDomainDetail API に、その呼び出し URL を使用してアクセスできます。

  2. InstanceId リクエストパラメーターを waf_v3prepaid_public_cn-uqm3bmw**** に、Domain リクエストパラメーターを srtest.****.top に設定します。次に、[呼び出し開始] をクリックします。

  3. [SDK サンプル] タブをクリックし、次に [Python] タブをクリックします。

    以下は Python の SDK サンプルコードです。

  4. [プロジェクト全体のダウンロード] をクリックして、サンプルコードパッケージをダウンロードします。

  5. お使いのコンピューターでサンプルコードパッケージを展開し、alibabacloud_sample フォルダーに移動します。

コードの実行

次のコマンドを実行します。

python sample.py

次の出力が返されます。

{
  "Status": 1,
  "ResourceManagerResourceGroupId": "rg-acfmyqfktarf2ha",
  "RequestId": "7072AAC6-C786-5861-88A6-C18626244BD1",
  "CertDetail": {
    "EndTime": 1971038823000,
    "Sans": [
      "*.wafqax.top"
    ],
    "StartTime": 1655678823000,
    "Id": "9853636-cn-hangzhou",
    "Name": "auto_****_all",
    "CommonName": "srtest.****.top"
  },
  "Listen": {
    "ProtectionResource": "share",
    "HttpsPorts": [
      443
    ],
    "TLSVersion": "tlsv1",
    "Http2Enabled": false,
    "CertId": "*cn-hangzhou",
    "CipherSuite": 1,
    "EnableTLSv3": false,
    "IPv6Enabled": false,
    "XffHeaderMode": 1,
    "HttpPorts": [
      80
    ]
  },
  "Redirect": {
    "ConnectTimeout": 5,
    "Keepalive": true,
    "SniEnabled": false,
    "ReadTimeout": 120,
    "KeepaliveTimeout": 15,
    "Backends": [
      {
        "Backend": "39.98.XX.XX"
      },
      {
        "Backend": "39.98.XX.XX"
      }
    ],
    "FocusHttpBackend": false,
    "WriteTimeout": 120,
    "AllBackends": [
      "39.98.XX.XX"
    ],
    "Retry": true,
    "KeepaliveRequests": 1000,
    "Loadbalance": "iphash"
  },
  "Domain": "srtest.****.top",
  "Cname": "*.yundunwaf3.com"
}