CLI集成示例

阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具,您可以通过阿里云CLI实现自动化管理和维护Web 应用防火墙3.0。若您还不了解阿里云CLI,请参见什么是阿里云CLI。本文以调用DescribeVisitTopIp接口查询发起请求次数最多的前10IP为例,为您介绍使用阿里云CLI调用Web 应用防火墙3.0的操作步骤。

安装阿里云CLI

使用阿里云CLI前,您需要先安装阿里云CLI。阿里云CLI为用户提供了Windows、LinuxmacOS三种操作系统下的安装服务,请根据您使用设备的操作系统选择对应的安装服务。

您也可使用阿里云提供的云命令行调试阿里云CLI命令。关于云命令行的更多信息,请参见什么是云命令行?

配置阿里云CLI

重要

阿里云主账号拥有所有产品OpenAPI的管理和访问权限,风险很高。强烈建议您创建RAM身份,并依据最小化权限原则授予权限,使用RAM身份访问OpenAPI。

使用阿里云CLI之前,您需要在阿里云CLI中配置身份凭证、地域ID等信息。阿里云CLI支持多种身份凭证,详情请参见身份凭证类型。本文操作以AK类型凭证为例,具体操作步骤如下:

  1. 创建一个RAM用户,并创建AccessKey,以便后续配置身份凭证使用。具体操作,请参见创建RAM用户创建AccessKey

  2. 按需授予RAM用户产品权限策略,本文示例需授予RAM用户只读访问Web 应用防火墙3.0的权限AliyunYundunWAFv3ReadOnlyAccess。更多系统权限策略,请参见Web应用防火墙3.0系统权限策略参考

  3. 获取并记录可用的地域ID,以便后续配置身份凭证使用。阿里云CLI将使用您指定的地域发起OpenAPI调用。可用地域请参见服务接入点

    说明

    使用阿里云CLI过程中您可使用--region选项指定地域发起命令调用,该选项在使用时将忽略默认身份凭证配置及环境变量设置中的地域信息。详情请参见OpenAPI命令可用选项

  4. 使用RAM用户的AccessKey配置AK类型凭证,配置文件命名为AkProfile。具体操作,请参见配置示例

生成CLI命令示例

  1. 单击DescribeVisitTopIp调试地址,访问OpenAPI门户。

  2. 参数配置中输入请求参数,单击CLI示例页签,查看生成的CLI示例。

  3. 复制CLI示例或在云命令行中快速执行:

    • 单击运行命令image按钮,可唤出云命令行并快速完成命令调试。

    • 单击复制image按钮,将CLI示例复制到剪贴板中,可粘贴至本地Shell工具中运行。

      说明
      • 复制CLI示例到本地Shell工具中进行调试时请注意参数格式。关于阿里云CLI命令参数使用格式的详细信息,请参见参数格式说明

      • OpenAPI门户生成示例中会默认添加--region选项,复制命令到本地调用时阿里云CLI将忽略默认身份凭证配置及环境变量设置中的地域信息,优先使用指定的地域调用命令,您可根据需要对该选项进行删除或保留。

image

调用OpenAPI

说明
  • 阿里云CLI集成了Web 应用防火墙2.0 OpenAPI,若您需要调用Web 应用防火墙3.0 OpenAPI,需要在命令后添加--force --version 2021-10-01选项发起强制调用。更多详情请参见强制调用接口

  • OpenAPI门户在生成Web 应用防火墙3.0 OpenAPI命令示例时会自动添加强制调用相关选项,无需手动更改。

  • 更多可用OpenAPI信息,请参见API概览

示例:查询发起请求次数最多的前10IP

以下代码示例将为您展示如何使用阿里云CLI调用Web 应用防火墙3.0中的DescribeVisitTopIp命令,查询发起请求次数最多的前10IP。

  1. 执行命令。

    aliyun waf-openapi DescribeVisitTopIp \
      --region cn-hangzhou \
      --RegionId 'cn-hangzhou' \
      --StartTimestamp 1665331200 \
      --EndTimestamp 1665386280 \
      --InstanceId 'waf_cdnsdf3****' \
      --version 2021-10-01 \
      --method POST \
      --force
  2. 输出结果。

    {
      "RequestId": "5D2B8DAE-A761-58CB-A68D-74989E4831DA",
      "TopIp": [
        {
          "Area": "310000",
          "Ip": "1.1.XX.XX",
          "Isp": "AAA",
          "Count": 2622
        }
      ]
    }
    说明

    如果调用Web 应用防火墙3.0 OpenAPI后返回错误,您需要根据返回的错误码提示检查传入的请求参数及其取值是否正确。

    您也可以记录下调用返回的RequestIDSDK报错信息,通过阿里云OpenAPI诊断平台进行自助诊断。