管理策略
了解如何在 InfraGuard 中发现、管理和更新策略。
列出策略
列出所有策略
查看所有可用的规则和包:
infraguard policy list
这将显示:
- 所有内置规则
- 所有合规包
- 自定义策略(如果有)
按云服务商筛选
目前,InfraGuard 支持阿里云策略。未来版本将支持其他云服务商。
策略详情
获取规则信息
查看特定规则的详细信息:
infraguard policy get rule:aliyun:ecs-instance-no-public-ip
输出包括:
- 规则 ID 和名称
- 严重性级别
- 描述
- 失败原因
- 建议
- 受影响的资源类型
获取包信息
查看合规包详情:
infraguard policy get pack:aliyun:mlps-level-3-pre-check-compliance-pack
输出包括:
- 包 ID 和名称
- 描述
- 包含的规则列表
更新策略
InfraGuard 包含嵌入式策略,但您也可以下载最新的策略库:
infraguard policy update
这将下载策略到 ~/.infraguard/policies/,优先于嵌入式策略。
清理策略
要从用户目录中删除已下载的策略:
infraguard policy clean
此命令:
- 删除
~/.infraguard/policies/中的所有策略 - 默认情况下提示确认
- 不影响嵌入式策略(它们仍然可用)
- 不影响
.infraguard/policies/中的工作区策略
强制清理(无需确认)
对于脚本或非交互式环境:
infraguard policy clean --force
# 或
infraguard policy clean -f
策略加载优先级
InfraGuard 按以下优先级(从高到低)从三个来源加载策略:
- 工作区本地策略:
.infraguard/policies/(相对于当前工作目录) - 用户本地策略:
~/.infraguard/policies/ - 嵌入式策略:内置到二进制文件中(后备)
同一 ID 的策略,高优先级来源会覆盖低优先级来源。这样可以实现:
- 项目专属策略:在
.infraguard/policies/中定义与项目一起版本控制的自定义规则 - 用户自定义:通过
~/.infraguard/policies/全局覆盖嵌入式策略 - 无缝后备:内置策略开箱即用
验证自定义策略
在使用自定义策略之前,请验证它们:
infraguard policy validate ./my-custom-rule.rego
这将检查:
- Rego 语法
- 必需的元数据(
rule_meta或pack_meta) - 正确的 deny 规则结构
验证选项
# 验证单个文件
infraguard policy validate rule.rego
# 验证目录
infraguard policy validate ./policies/
# 指定输出语言
infraguard policy validate rule.rego --lang zh
格式化策略
使用 OPA 格式化程序格式化您的策略文件:
# 显示格式化输出
infraguard policy format rule.rego
# 将更改写回文件
infraguard policy format rule.rego --write
# 显示更改差异
infraguard policy format rule.rego --diff
策略组织
内置策略
位于二进制文件中的:
policies/aliyun/rules/- 单个规则policies/aliyun/packs/- 合规包policies/aliyun/lib/- 辅助库
自定义策略
工作区本地策略(项目专属)
将项目专属策略存储在项目目录中:
.infraguard/policies/<provider>/rules/- 项目专属规则.infraguard/policies/<provider>/packs/- 项目专属包.infraguard/policies/<provider>/lib/- 项目专属辅助库
这些策略在项目目录内运行 InfraGuard 命令时会自动加载,可以与 IaC 模板一起进行版本控制。
用户本地策略(全局)
将全局自定义策略存储在用户主目录中:
~/.infraguard/policies/<provider>/rules/- 自定义规则~/.infraguard/policies/<provider>/packs/- 自定义包~/.infraguard/policies/<provider>/lib/- 自定义辅助库
常见合规包
安全和最佳实践
pack:aliyun:security-group-best-practice- 安全组配置pack:aliyun:resource-protection-best-practice- 资源保护pack:aliyun:multi-zone-architecture-best-practice- 高可用性
合规标准
pack:aliyun:mlps-level-2-pre-check-compliance-pack- MLPS 二级pack:aliyun:mlps-level-3-pre-check-compliance-pack- MLPS 三级pack:aliyun:iso-27001-compliance- ISO 27001pack:aliyun:pci-dss-compliance- PCI DSSpack:aliyun:soc2-audit-compliance- SOC 2
快速入门
pack:aliyun:quick-start-compliance-pack- 基本安全检查
提示
- 发现策略:使用
policy list探索可用策略 - 从小开始:从
quick-start-compliance-pack开始 - 先验证:在使用自定义策略之前始终验证它们
- 保持更新:定期运行
policy update获取最新规则