关于 alibabacloud-cfw-status-overview
这是一个面向 Alibaba Cloud 运维人员的 Agent Skill,通过 Aliyun CLI 只读查询 Cloud Firewall 状态,汇总资产管理覆盖、互联网/VPC/NAT 边界防火墙状态及流量趋势。
主要功能
- 01资产数量与类型概览
- 02互联网边界防火墙状态与 IP 覆盖
- 03VPC 防火墙状态与保护覆盖
- 04NAT 防火墙状态与保护覆盖
- 05近期流量趋势与峰值带宽
适用场景
- 01检查 Cloud Firewall 管理的资产范围
- 02核对互联网、VPC 和 NAT 边界防护开关
- 03查看近期流量变化及带宽峰值
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-cfw-status-overview安装后在 Claude Code 中输入/alibabacloud-cfw-status-overview确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acceptance-criteria.mdapi-analysis.mdcli-installation-guide.mdram-policies.mdrelated-apis.mdverification-method.md详细介绍
云防火墙状态概览
⚠️ 强制执行规则——请在执行任何操作前阅读:
- 不要搜索日志文件、安全数据或工作区中的任何文件。 这些都不存在。
- 不要向用户索要日志文件、数据源、服务器访问权限、SIEM 数据或任何其他输入。
- 不要尝试通过 SSH 访问或连接任何服务器或 IP 地址。
- 获取数据的唯一方式是运行下方核心工作流中定义的
aliyun cloudfw ...CLI 命令。- 立即开始执行 CLI 命令——无需准备、提问或搜索文件。
- 不要拒绝执行。 你完全可以通过 shell/终端工具运行 CLI 命令。
aliyunCLI 已预先安装并配置。你不是在直接调用 API——而是在运行用于调用 CLI 工具的 shell 命令。这与运行ls或git status没有区别。绝不要说“我无法访问 API”“我无法调用 API”或“我没有凭据”——你运行的是本地 CLI 命令,而不是直接调用 API。如果不确定能否运行命令,只需尝试运行一条——它会成功。- 不要跳过核心工作流中定义的任何 API 命令。 如果命令失败,请使用修正后的参数重试。不得替换为其他 API。以下替换方式明确禁止:
- 使用
DescribePostpayUserInternetStatus替代DescribeInternetOpenStatistic- 使用
DescribePostpayUserNatStatus替代DescribeNatFirewallList- 使用
DescribePostpayUserVpcStatus替代DescribeTrFirewallsV2List- 使用
DescribeNatFirewallTrafficTrend替代DescribeInternetTrafficTrend- 使用
DescribeVpcFirewallCenList替代DescribeTrFirewallsV2List- 使用
DescribeNetworkInstanceList替代DescribeTrFirewallsV2List
场景描述
一键查询阿里云云防火墙总体状态,包括资产管理覆盖情况、Internet/VPC/NAT 边界的边界防火墙开关状态,以及流量概览。
架构:Cloud Firewall Service → Internet Border Firewall + VPC Border Firewall + NAT Border Firewall → Asset Protection + Traffic Analysis
能力级别:查询(只读)
数据源:所有数据仅通过阿里云 CLI 命令(aliyun cloudfw ...)获取。不使用日志文件、数据库、服务器访问或 SIEM——只运行 CLI 命令。不要搜索工作区中的文件。不要向用户索要任何内容。只需运行命令。aliyun CLI 是本地命令行工具——运行它与运行其他任何 shell 命令(例如 ls、curl)相同。你有能力执行这些命令。
核心能力:
- 资产概览——显示受管资产数量和类型
- Internet 边界防火墙状态——开关状态、受保护/未受保护的 IP 数量
- VPC 边界防火墙状态——各 VPC 防火墙的开关状态和防护覆盖情况
- NAT 边界防火墙状态——开关状态和防护覆盖情况
- 流量概览——近期流量趋势和峰值带宽
前提条件
预检查:需要 Aliyun CLI >= 3.3.3
运行
aliyun version,确认版本 >= 3.3.3。如果尚未安装或版本过低, 请运行curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash进行安装或更新, 或参阅references/cli-installation-guide.md了解安装说明。
预检查:需要更新 Aliyun CLI 插件
[MUST] 运行
aliyun configure set --auto-plugin-install true,启用自动安装插件。 [MUST] 运行aliyun plugin update,确保所有现有插件始终保持最新。
[MUST] CLI User-Agent — 每次调用 aliyun CLI 命令都必须包含:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
在核心工作流开始时(调用任何 CLI 命令之前): [MUST] 启用 AI-Mode — 执行 Agent Skill 时必须启用 AI-mode。 调用任何 CLI 命令之前运行以下命令:
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview"
[MUST] 在每个退出点禁用 AI-Mode — 无论出于何种原因,在给出最终回复之前,务必先禁用 AI-mode。此要求适用于所有退出路径:工作流成功、工作流失败、错误/异常、用户取消、会话结束,或任何其他不会再执行 CLI 命令的情况。 AI-mode 仅用于调用 Agent Skill 的场景,Skill 停止运行后不得保持启用状态。
aliyun configure ai-mode disable
身份验证
预检查:需要 Alibaba Cloud 凭证
安全规则:
- 在任何情况下都不得读取、回显、打印、使用 cat 命令输出或显示 AK/SK 值
- 以任何形式输出 AK/SK 值都绝对禁止,包括掩码、部分或脱敏形式(例如
LTAI5tXXX****)。日志、报告或对话输出中不得包含 AK ID 的前缀、后缀或任何子字符串。- 不得要求用户在对话或命令行中直接输入 AK/SK
- 不得使用
aliyun configure set设置字面凭证值- 只能使用
aliyun configure list检查凭证状态。报告结果时只能说“已配置凭证”或“未找到有效凭证”——不得引用凭证输出中的任何内容。aliyun configure list检查输出中是否存在有效配置(AK、STS 或 OAuth 身份)。
如果不存在有效配置,请在此处停止。
- 从 Alibaba Cloud 控制台 获取凭证
- 在本会话之外配置凭证(在终端中运行
aliyun configure,或在 shell 配置文件中设置环境变量)- 返回并在
aliyun configure list显示有效配置后重新运行
RAM 策略
[MUST] RAM 权限预检查: 执行任何命令之前,验证当前用户是否拥有所需权限。
- 使用
ram-permission-diagnoseSkill 获取当前用户的权限- 对照
references/ram-policies.md进行检查- 如果缺少任何权限,请中止并提示用户
最低所需权限——完整策略 JSON 请参阅 references/ram-policies.md。
也可以附加系统策略:AliyunYundunCloudFirewallReadOnlyAccess
参数确认
重要:参数确认——在执行任何命令或 API 调用之前, 请检查用户是否已在请求中提供必要参数。
- 如果用户的请求明确提及某个参数值(例如,“检查 cn-hangzhou 中的防火墙状态”表示 RegionId=cn-hangzhou),请直接使用该值,无需询问确认。
- 对于具有合理默认值的可选参数(PageSize、CurrentPage、时间范围),使用默认值,无需询问,除非用户另有说明。
- 不要再次询问用户已明确说明的参数。
| 参数名称 | 必填/可选 | 描述 | 默认值 |
|---|---|---|---|
| RegionId | 必填 | Cloud Firewall 的地域。仅有两个值:cn-hangzhou 表示中国大陆,ap-southeast-1 表示香港/海外。 | cn-hangzhou(直接使用,无需询问;仅当用户明确提到香港/海外/国际时才使用 ap-southeast-1) |
地域不匹配处理:如果用户指定的地域不是
cn-hangzhou或ap-southeast-1(例如cn-shenzhen、cn-beijing),你必须告知用户:“Cloud Firewall 仅支持两个地域:cn-hangzhou(中国大陆)和 ap-southeast-1(香港/海外)。你请求的地域 {user_region} 不受支持。将改用 cn-hangzhou(中国大陆),该地域覆盖所有中国大陆资源。” 不要在不告知用户的情况下默默回退。 | PageSize | 可选 | 分页 API 每页返回的项目数 | 10(直接使用,无需询问) | | CurrentPage | 可选 | 分页 API 的页码 | 1(直接使用,无需询问) | | StartTime | 可选 | 流量趋势查询的开始时间(Unix 时间戳,单位为秒) | 7 天前(直接使用,无需询问) | | EndTime | 可选 | 流量趋势查询的结束时间(Unix 时间戳,单位为秒) | 当前时间(直接使用,无需询问) |
错误处理与工作流韧性
关键:失败时继续。 如果任何单个 API 调用失败,请勿停止整个工作流。 记录该步骤的错误,然后继续下一步。呈现已成功收集的所有数据。
重试逻辑
对于每次 API 调用:
- 如果调用因暂时性错误失败(网络超时、限流
Throttling.User、ServiceUnavailable、HTTP 500/502/503),请最多重试 2 次,每次重试间隔 3 秒。 - 如果调用因永久性错误失败(例如
InvalidParameter、Forbidden、InvalidAccessKeyId),请勿重试。记录错误并继续。 - 所有重试均失败后,记录“[Step X] Failed: {error message}”,然后继续下一步。
服务未开通
如果 DescribeUserBuyVersion(步骤 1)返回的错误表明服务未开通(错误代码为 ErrorFirewallNotActivated,或类似“未购买/未激活”的消息):
- 告知用户:“此地域尚未开通 Cloud Firewall 服务。请前往 https://yundun.console.aliyun.com/?p=cfwnext 激活。”
- 跳过所有后续步骤,因为该服务不可用。
- 如果用户请求了多个地域,请继续处理下一个地域。
步骤独立性
工作流步骤具有以下依赖关系:
- 步骤 1(实例信息)必须先成功——如果服务未开通,则跳过其余步骤。
- 步骤 2–6 相互独立——任何一个步骤失败都不应阻止其他步骤执行。
- 在步骤 2 中,子步骤 2.1 和子步骤 2.2 相互独立。
- 在步骤 4 中,子步骤 4.1、4.2 和 4.3 相互独立。
- 在步骤 6 中,子步骤 6.1 和 6.2 相互独立。
部分结果
生成最终摘要报告时:
- 对于成功的步骤,正常显示收集到的数据。
- 对于失败的步骤,在相应部分显示“N/A(错误:{简要错误})”。
- 即使部分步骤失败,也始终生成摘要报告——部分数据总比没有数据好。
核心工作流
所有 API 调用均使用 Aliyun CLI cloudfw 插件。
地域:通过全局标志 --region {RegionId} 指定
上下文管理(必须)
关键:流量趋势 API 会产生大量输出。
DescribeInternetDropTrafficTrend和DescribeInternetTrafficTrend在查询 7 天数据时会返回数百个数据点,可能超出上下文窗口。这两个 API 的输出必须通过jq提取汇总值(数据点数量、最大值、平均值、时间范围)。jq筛选器已包含在下文的步骤 3.2 和步骤 6.2 中——必须完全按原样使用。其他 API 返回的数据适中,无需使用
jq筛选。
关键:立即执行,不要询问。 触发此技能后,立即从步骤 1 开始执行。 不要询问用户要调用哪些 API、执行哪些步骤或使用哪些数据源。 所有数据均来自下文定义的 Aliyun CLI 命令——直接运行即可。
强制要求:执行所有步骤。 必须尝试执行步骤 1 至步骤 6 的每一步(包括所有子步骤)。生成最终摘要报告前,请确认已尝试调用以下所有 API:
DescribeUserBuyVersionDescribeAssetStatisticDescribeAssetListDescribeInternetOpenStatisticDescribeInternetDropTrafficTrendDescribeTrFirewallsV2ListDescribeVpcFirewallCenListDescribeVpcFirewallListDescribeNatFirewallListDescribePostpayTrafficTotalDescribeInternetTrafficTrend如果尚未尝试调用其中任何一个,请在生成报告前立即执行。仅当步骤 1 表明服务未激活时,才允许跳过步骤。
时间参数
部分 API(步骤 3.2、步骤 6.2)需要 StartTime 和 EndTime 参数(Unix 秒级时间戳)。
获取时间戳的方法:运行 date +%s 获取当前时间戳,运行 date -d '7 days ago' +%s 获取 7 天前的时间戳。然后在 CLI 命令中直接使用返回的数字。
重要:不要在 CLI 命令中使用
$(date +%s)这类 Bash 变量替换——某些执行环境会阻止$(...)。应先分别运行date命令并记下返回值,然后将其作为字面数字填入--StartTime和--EndTime参数。
步骤 1:查询实例信息(云防火墙版本)
aliyun cloudfw describe-user-buy-version \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:Version(版本代码)、InstanceId、ExpireTime、IpNumber(最大受保护 IP 数量)、AclExtension(ACL 配额)。
版本代码与版本名称对应关系——API 返回的是数字代码。使用此表在报告中显示易读的版本名称:
| 版本代码 | 版本名称 |
|---|---|
| 1 | 高级版 (高级版) |
| 2 | 企业版 (企业版) |
| 3 | 旗舰版 (旗舰版) |
| 10 | 按量付费版 (按量付费版) |
如果返回的代码不在此表中,请报告为:"Unknown edition (code: {Version})"。
重要:请勿推断或臆造字段值。 如果任一关键响应字段(例如
AclExtension、IpNumber)在 JSON 响应中缺失(键不存在)或其值为 null,请在摘要中将其报告为 “N/A (not returned by API)”。但是,值 0 是有效值,不代表字段缺失——请报告为0。请勿根据版本类型的常识填写数值。只能使用 API 响应 JSON 中 明确提供 的值。请避免以下常见的臆造示例:
- 响应中没有
AclExtension→ 请勿写“ACL 规则上限为 10000”或任何其他猜测的数字。请写“N/A (not returned by API)”。- 响应中没有
IpNumber→ 请勿写“最大公网 IP 配额为 200”。请写“N/A (not returned by API)”。- 响应中没有任何字段 → 请勿根据版本类型推断(例如,“旗舰版最多支持 X”)。只能报告 API 实际返回的内容。
步骤 2:资产概览
2.1 查询资产统计信息
aliyun cloudfw describe-asset-statistic \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:资产总数、受保护数量、未受保护数量,以及按资源类型划分的数量(EIP、SLB、ECS 等)。
2.2 查询资产列表(分页)
aliyun cloudfw describe-asset-list \
--CurrentPage 1 \
--PageSize 10 \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:Assets[],包含 InternetAddress、IntranetAddress、ResourceType、ProtectStatus、RegionID、Name。
2.2.1 查询未受保护的资产
重要:当用户询问未受保护/未托管的资产、防火墙未覆盖的资产或防护缺口时,必须使用设为
"close"的Status筛选参数,仅查询未受保护的资产:
aliyun cloudfw describe-asset-list \
--CurrentPage 1 \
--PageSize 50 \
--Status close \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
查询未受保护资产时,使用 PageSize: "50" 以获取更多结果。如果响应中的 TotalCount 超过 PageSize,请递增 CurrentPage 并遍历所有页面,直到获取全部资产。
Status 请求参数的筛选值:
| 值 | 含义 |
|---|---|
close | 未受保护的资产(未启用防火墙) |
open | 受保护的资产(已启用防火墙) |
opening | 正在启用的资产 |
注意:请求参数使用
close(不带“d”),而响应字段ProtectStatus使用closed(带“d”)。筛选请求参数时请使用close,检查响应数据时请检查closed。
步骤 3:互联网边界防火墙状态
3.1 查询互联网暴露统计信息
重要:此步骤必须使用
DescribeInternetOpenStatistic。 请勿替换为DescribePostpayUserInternetStatus或其他 API。DescribePostpayUserInternetStatus仅检查开关状态,而DescribeInternetOpenStatistic提供暴露统计信息(公网 IP、开放端口、风险等级)。
aliyun cloudfw describe-internet-open-statistic \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:公网 IP 总数、开放端口数量、风险等级分布、近期暴露的资产。
3.2 查询互联网防御流量趋势
必需参数:
--StartTime、--EndTime、--SourceCode和--Direction都是必填项。缺少任何一项都会导致 HTTP 400 错误(例如ErrorDirectionError)。请先分别计算时间戳(参见“时间参数”部分),再将其作为数字字面值传入。--SourceCode必须严格为China或Other(区分大小写)。--Direction必须严格为in或out。
aliyun cloudfw describe-internet-drop-traffic-trend \
--StartTime {StartTime} \
--EndTime {EndTime} \
--SourceCode China \
--Direction in \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview \
| jq '{DataPoints: (.DataList // [] | length), MaxDropBps: ([.DataList[]?.DropBps // 0] | max), MaxDropPps: ([.DataList[]?.DropPps // 0] | max), FirstTime: (.DataList // [] | first | .Time), LastTime: (.DataList // [] | last | .Time)}'
SourceCode 的取值:China(中国大陆)、Other(海外)。
Direction 的取值:in(入站)、out(出站)。默认使用 in。
步骤 4:VPC 边界防火墙状态
4.1 查询 CEN 企业版(TR 防火墙)
此步骤必须使用
DescribeTrFirewallsV2List。 请勿替换为DescribeVpcFirewallCenList、DescribePostpayUserVpcStatus、DescribeNetworkInstanceList或任何其他 API。DescribeVpcFirewallCenList用于 CEN 基础版(步骤 4.2),不适用于 CEN 企业版 TR 防火墙。
aliyun cloudfw describe-tr-firewalls-v2-list \
--CurrentPage 1 \
--PageSize 20 \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:VpcTrFirewalls[],包含 FirewallSwitchStatus(opened/closed/opening/closing)、CenId、RegionNo、VpcId。
4.2 查询 CEN 基础版 VPC 防火墙
aliyun cloudfw describe-vpc-firewall-cen-list \
--CurrentPage 1 \
--PageSize 20 \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:VpcFirewalls[],包含 FirewallSwitchStatus、CenId、LocalVpc、PeerVpc。
4.3 查询高速通道 VPC 防火墙
aliyun cloudfw describe-vpc-firewall-list \
--CurrentPage 1 \
--PageSize 20 \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:VpcFirewalls[],包含 FirewallSwitchStatus、VpcFirewallId、LocalVpc、PeerVpc、Bandwidth。
步骤 5:NAT 边界防火墙状态
重要:此步骤必须使用
DescribeNatFirewallList。 请勿替换为DescribePostpayUserNatStatus或任何其他 API。DescribePostpayUserNatStatus仅检查开关状态,而DescribeNatFirewallList会提供 NAT 防火墙实例的详细信息。
aliyun cloudfw describe-nat-firewall-list \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
关键响应字段:NatFirewalls[],包含 ProxyStatus(configuring/normal/deleting)、NatGatewayId、NatGatewayName、VpcId、RegionId。
步骤 6:流量概览
6.1 查询总流量统计
aliyun cloudfw describe-postpay-traffic-total \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview
6.2 查询互联网流量趋势
此 API 必须分两步执行:
- 首次尝试必须包含
--TrafficType TotalTraffic。不得跳过此步骤。请严格按照下方所示执行命令。- 仅当首次尝试返回 HTTP 400 时,才在重试时省略
--TrafficType。- 不要直接执行重试命令。首次尝试时不得省略 TrafficType。
其他必需参数:
--StartTime、--EndTime、--SourceCode(规则与步骤 3.2 相同)。请勿改用DescribeNatFirewallTrafficTrend或任何其他 API。
# Step 1 - MUST run first (with TrafficType):
aliyun cloudfw describe-internet-traffic-trend \
--StartTime {StartTime} \
--EndTime {EndTime} \
--SourceCode China \
--TrafficType TotalTraffic \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview \
| jq '{DataPoints: (.DataList // [] | length), MaxBps: ([.DataList[]?.TotalBps // 0] | max), AvgBps: (([.DataList[]?.TotalBps // 0] | add) / ([.DataList // [] | length] | if . == 0 then 1 else . end)), FirstTime: (.DataList // [] | first | .Time), LastTime: (.DataList // [] | last | .Time)}'
仅当且只有当上述命令返回 HTTP 400 时,才省略 --TrafficType 并重试:
# Step 2 - ONLY run if Step 1 returned HTTP 400:
aliyun cloudfw describe-internet-traffic-trend \
--StartTime {StartTime} \
--EndTime {EndTime} \
--SourceCode China \
--region {RegionId} \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cfw-status-overview \
| jq '{DataPoints: (.DataList // [] | length), MaxBps: ([.DataList[]?.TotalBps // 0] | max), AvgBps: (([.DataList[]?.TotalBps // 0] | add) / ([.DataList // [] | length] | if . == 0 then 1 else . end)), FirstTime: (.DataList // [] | first | .Time), LastTime: (.DataList // [] | last | .Time)}'
TrafficType 的取值(支持时):TotalTraffic、InTraffic、OutTraffic。
**流量趋势数据验证:**收到流量趋势响应后,请检查数据点数量及其时间跨度。如果响应包含的数据点少于 10 个,或第一个与最后一个数据点之间的时间跨度不到 1 天,请在报告中添加说明:"注意:流量趋势数据较为稀疏(共 {N} 个数据点,覆盖 {timespan})。这可能表示查询时段内没有受保护资产或流量极少。7 天趋势可能无法充分代表实际情况。" 如果实际数据点覆盖的时间跨度明显更短,请勿声称数据覆盖了 7 天。
输出摘要格式
收集完所有数据后,生成摘要报告。即使某些步骤失败,也始终生成此报告——对于无法完成的步骤,将值替换为“N/A”。
============================================
Cloud Firewall Status Overview Report
============================================
1. Instance Info
- Edition: {Version}
- Expiry: {ExpireTime}
- Max Protected IPs: {IpNumber or "N/A (not in API response)"}
2. Asset Overview
- Total Assets: {TotalCount}
- Protected: {ProtectedCount} ({ProtectedRate}%)
- Unprotected: {UnprotectedCount}
- By Type: EIP({eip}), SLB({slb}), ECS({ecs}), ENI({eni})
3. Internet Border Firewall
- Protected IPs: {protectedIpCount}
- Unprotected IPs: {unprotectedIpCount}
- Protection Rate: {protectionRate}%
4. VPC Border Firewall
- CEN Enterprise (TR): {trCount} total, {trOpened} opened
- CEN Basic: {cenCount} total, {cenOpened} opened
- Express Connect: {ecCount} total, {ecOpened} opened
5. NAT Border Firewall
- Total: {natCount}
- Normal: {natNormal}
- Configuring: {natConfiguring}
6. Traffic Overview (Last 7 Days)
- Total Traffic: {totalTraffic}
- Peak Bandwidth: {peakBandwidth}
- Blocked Requests: {blockedCount}
[Steps with errors (if any)]
- {Step X}: {error message}
============================================
注意:对于任何失败的步骤,在该部分的数据字段中显示“N/A (error: {brief error})”,并在底部部分列出所有错误。
重要:错误报告准确性。摘要报告必须准确反映执行期间遇到的所有错误,包括通过重试解决的错误。对于重试后成功的调用,请报告为:“Step X: {API name} initially failed with {error code/message}, succeeded on retry {N}”。如果执行期间任何调用曾返回错误,请勿声称“所有 API 调用均已成功完成”。错误部分应按以下类别列出遇到的所有错误:
- 通过重试解决:重试后最终成功的错误
- 未解决:所有重试后仍然存在的错误
成功验证
详细验证步骤请参阅 references/verification-method.md。
快速验证:如果所有 CLI 命令都返回有效的 JSON 响应,且没有错误代码,则表示技能执行成功。
API 和命令表
API 表和命令映射请以 references/related-apis.md 为唯一事实来源。
最佳实践
- 失败后继续——如果任何步骤(2-6)失败,记录错误并继续。始终根据已收集的数据生成摘要。
- 使用分页——常规查询默认 PageSize=10,筛选查询(例如,未受保护的资产)默认 PageSize=50。
- 选择时间范围——默认查询最近 7 天。分别运行
date命令,然后将返回值作为字面数字用于--StartTime/--EndTime。请勿在 CLI 命令中使用$(...)。 - 关注区域——Cloud Firewall 仅有两个区域:
cn-hangzhou(中国大陆)和ap-southeast-1(香港/海外)。默认使用cn-hangzhou。 - 安全——绝不暴露、记录、回显或显示 AK/SK 值。
参考链接
| 参考资料 | 说明 |
|---|---|
| references/related-apis.md | 包含参数的完整 API 表 |
| references/ram-policies.md | 所需的 RAM 权限和策略 JSON |
| references/verification-method.md | 分步验证命令 |
| references/acceptance-criteria.md | 正确/错误的使用模式 |
| references/cli-installation-guide.md | Aliyun CLI 安装指南 |