用途:该技能面向 Prowler 合规框架的全生命周期管理,包括新建框架、与上游标准(CIS、FINOS CCC、CSA CCM、NIST、ENS 等)同步、向现有框架添加需求、将通用框架扩展到新提供商、把检查映射到合规控制项、添加 ConfigRequirements 护栏,以及以云审计员视角审查现有映射。也可用于修复 JSON 问题(重复 ID、空 Version、错误 Section、过期检查引用、FamilyName 不一致等),并排查某发现为何未出现在预期合规框架下。
主要能力:Prowler 支持两种 JSON schema。通用(universal)schema 位于 prowler/compliance/<framework>.json,单文件可覆盖任意数量提供商,键名小写,属性 schema 通过 attributes_metadata 在 JSON 内声明并在加载时校验,表格/CSV/OCSF 输出由 outputs.table_config 数据驱动,无需改 Python;护栏字段为 config_requirements。旧版(legacy)schema 位于 prowler/compliance/<provider>/<framework><version><provider>.json,每文件仅一个提供商,键名首字母大写,属性由 compliance_models.py 中的 Pydantic 类定义,输出需 formatter 包与注册,护栏字段为 ConfigRequirements。加载时旧版会经 adapt_legacy_to_universal() 适配为通用模型。
使用方式:新框架默认用通用 schema;仅当扩展现有旧版家族(如 CIS 新版本、ENS 新提供商)时才用旧版,以保持家族一致。CLI 通过 prowler aws --compliance cis_7.0_aws 调用,框架键即 JSON 文件名。
限制:通用加载器遇错为宽松跳过,旧版加载器为 fail-fast。PDF 报告目前仅 prowler_threatscore、ens、nis2、csa_ccm、cis 支持。未注册的 UI 框架自动回退到通用映射器。具体版本与文件数量等细节以仓库实际为准。