SuperAPI AI 工具集

wa-guardrails

部署与运维

查看项目

更新于 10-15 12:48

技能介绍

用途

wa-guardrails 用于生成预防性和检测性控制(guardrails),使工作负载长期保持 Well-Architected。与评估类技能(发现缺口)或修复类技能(一次性修复某个具体问题)不同,防护护栏把最佳实践代码化,使不合规的变更在 CI、部署时以及账户中持续被自动阻断或标记。

主要能力

该技能产出可直接提交的控制文件,包括 Config 规则、SCP、CI 策略检查、告警。每项控制都关联到其所执行的 WA Question/BP ID,并注明该控制是预防性(阻止不良变更)还是检测性(事后标记)。

工作流程分为以下步骤:

  1. 收集上下文:询问工作负载名称与代码包/目录、IaC 方言(CDK 及其语言、CloudFormation、Terraform、SAM 或混合)、控制来源(先前的框架审查或评估输出、具体关注点,或“扫描并提出”)、可用的执行点(CI 流水线、AWS Organizations/SCP、AWS Config、账户级管理)、优先支柱(可选,默认 Security 与 Reliability)。若处于代码库中,可直接进行并推断 IaC 方言与 CI 系统。

  2. 发现要执行的内容:路径 A(首选)从先前评估中解析发现项、支柱、严重性、证据与引用的 Best Practice ID,将每个 High/Critical 发现转化为候选护栏;路径 B 独立扫描,分析 IaC 并识别实际使用的可控配置(存储加密、公共访问、IAM 范围、多可用区、备份、日志、TLS、标签),映射到相关 WA Best Practice。产出候选控制列表,记录支柱、WA Question/BP ID、适用资源类型、当前状态与合适执行点。

  3. 为每项控制选择预防性或检测性:优先预防性。可在部署前于 IaC 中捕获 → CI 策略检查(最强且最便宜);必须组织范围阻断 → SCP 或权限边界;仅在活动资源上可观察 → AWS Config 规则(检测性);持续可靠性/成本/性能信号 → CloudWatch 指标加告警。若无法用可用执行点执行,应明确说明。

  4. 生成控制:以工作负载现有方言和约定生成可直接提交的代码。每项控制必须引用 WA Question/BP ID、标注预防性或检测性、包含一行说明其阻断或标记什么及为何重要。覆盖范围按需包括 Security(如 s3-bucket-server-side-encryption-enabled、s3-bucket-public-read-prohibited、iam-policy-no-statements-with-admin-access 等 Config 规则;拒绝创建未加密资源或禁用 CloudTrail 的 SCP;对非 Web 端口开放 0.0.0.0/0 安全组在 synth 失败的 CDK Aspect)、Reliability(rds-multi-az-support、dynamodb-pitr-enabled、db-instance-backup-enabled;要求有状态资源 DeletionProtection 的 cfn-guard 规则;DLQ 深度告警)、Operational Excellence(要求标签的 CI 检查、日志保留的 Config 规则、防止 IaC 之外手工变更的 SCP)、Cost(实例类型或容量模式白名单 CI 检查、预算/异常告警)、Performance/Sustainability(优先 Graviton/托管服务的 CI 检查)。

  5. 生成护栏计划:输出结构化交付物,包括摘要(IaC 方言、使用的执行点、来源、生成的控制数量与类型)、按支柱的控制(控制名、类型、执行点、阻断/标记说明、文件路径与代码片段)、覆盖缺口、上线计划(先以警告/日志模式运行,清洁后再提升为阻断)、验证方法与未覆盖项。

  6. 可选提供治理引导文档:作为机器执行控制的补充,可生成人类与智能体可读的治理文档(如 .kiro/steering/、CLAUDE.md、.cursor/rules/),包含自动执行项、非自动执行的约定,以及变更提出或审查时的固定指令,每条陈述关联 WA Question/BP ID,并保持精简。

  7. 可选后续:生成 CI 工作流接线、治理引导文档、为检测性 Config 规则添加自动修复(附安全审查)、修复当前违规、将控制从警告模式收紧为阻断模式。

使用方式

按上述步骤交互:提供工作负载上下文、选择控制来源、确定可用执行点,技能将生成对应方言的即用控制代码;可选择生成治理文档与后续工作流。

适用场景

希望将 Well-Architected 最佳实践固化到 CI、部署与账户持续检查中的团队;已有评估结果并希望防止同类缺口再次出现;需要将安全、可靠性、运维、成本、性能/可持续性等标准以代码控制与治理文档双重形式落地的场景。

限制

不应为用户没有的执行点生成控制,而应说明不可执行及所需条件。预防性控制应先在警告/日志模式上线,第一天就阻断或 Deny SCP 可能破坏现有流水线。自动修复具有破坏性,仅在用户明确要求时生成并附安全与回滚说明。控制不宜过度生成,应聚焦高价值集合。需尊重工作负载现有方言与约定,不混合范式。治理引导文档只作补充,不能替代机器执行的控制。校准指导包括:优先预防性、每项控制关联 WA BP ID 以保持可追溯、避免噪声规则被静音。