CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具,您可以通过阿里云CLI实现自动化管理和维护Web 应用防火墙3.0。若您还不了解阿里云CLI,请参见什么是阿里云CLI。本文以调用DescribeVisitTopIp
接口查询发起请求次数最多的前10个IP为例,为您介绍使用阿里云CLI调用Web 应用防火墙3.0的操作步骤。
安装阿里云CLI
使用阿里云CLI前,您需要先安装阿里云CLI。阿里云CLI为用户提供了Windows、Linux和macOS三种操作系统下的安装服务,请根据您使用设备的操作系统选择对应的安装服务。
-
Windows:在Windows上安装阿里云CLI。
-
Linux:在Linux上安装阿里云CLI。
-
macOS:在macOS上安装阿里云CLI。
您也可使用阿里云提供的云命令行调试阿里云CLI命令。关于云命令行的更多信息,请参见什么是云命令行?。
配置阿里云CLI
重要
阿里云主账号拥有所有产品OpenAPI的管理和访问权限,风险很高。强烈建议您创建RAM身份,并依据最小化权限原则授予权限,使用RAM身份访问OpenAPI。
使用阿里云CLI之前,您需要在阿里云CLI中配置身份凭证、地域ID等信息。阿里云CLI支持多种身份凭证,详情请参见身份凭证类型。本文操作以AK类型凭证为例,具体操作步骤如下:
-
创建一个RAM用户,并创建AccessKey,以便后续配置身份凭证使用。具体操作,请参见创建RAM用户及创建AccessKey。
-
按需授予RAM用户产品权限策略,本文示例需授予RAM用户只读访问Web 应用防火墙3.0的权限
AliyunYundunWAFv3ReadOnlyAccess
。更多系统权限策略,请参见Web应用防火墙3.0系统权限策略参考。 -
获取并记录可用的地域ID,以便后续配置身份凭证使用。阿里云CLI将使用您指定的地域发起OpenAPI调用。可用地域请参见服务接入点。
说明
使用阿里云CLI过程中您可使用
--region
选项指定地域发起命令调用,该选项在使用时将忽略默认身份凭证配置及环境变量设置中的地域信息。详情请参见OpenAPI命令可用选项。 -
使用RAM用户的AccessKey配置AK类型凭证,配置文件命名为
AkProfile
。具体操作,请参见配置示例。
生成CLI命令示例
-
单击DescribeVisitTopIp调试地址,访问OpenAPI门户。
-
在参数配置中输入请求参数,单击CLI示例页签,查看生成的CLI示例。
-
复制CLI示例或在云命令行中快速执行:
调用OpenAPI
说明
-
阿里云CLI集成了Web 应用防火墙2.0 OpenAPI,若您需要调用Web 应用防火墙3.0 OpenAPI,需要在命令后添加
--force --version 2021-10-01
选项发起强制调用。更多详情请参见强制调用接口。 -
OpenAPI门户在生成Web 应用防火墙3.0 OpenAPI命令示例时会自动添加强制调用相关选项,无需手动更改。
-
更多可用OpenAPI信息,请参见API概览。
示例:查询发起请求次数最多的前10个IP
以下代码示例将为您展示如何使用阿里云CLI调用Web 应用防火墙3.0中的DescribeVisitTopIp
命令,查询发起请求次数最多的前10个IP。
-
执行命令。
aliyun waf-openapi DescribeVisitTopIp \ --region cn-hangzhou \ --RegionId 'cn-hangzhou' \ --StartTimestamp 1665331200 \ --EndTimestamp 1665386280 \ --InstanceId 'waf_cdnsdf3****' \ --version 2021-10-01 \ --method POST \ --force
-
输出结果。
{ "RequestId": "5D2B8DAE-A761-58CB-A68D-74989E4831DA", "TopIp": [ { "Area": "310000", "Ip": "1.1.XX.XX", "Isp": "AAA", "Count": 2622 } ] }
说明
如果调用Web 应用防火墙3.0 OpenAPI后返回错误,您需要根据返回的错误码提示检查传入的请求参数及其取值是否正确。