2.1 KiB
2.1 KiB
title, type, tags, date
| title | type | tags | date | ||||
|---|---|---|---|---|---|---|---|
| Policy as Code (PaC) | concept |
|
2025-03-01 |
Definition
策略即代码(Policy as Code)是将安全、合规和运维策略编写为可执行代码的做法,通过自动化执行和持续验证替代人工审计和手动检查。
Core Concept
传统模式: PaC模式:
───────── ─────────
人工编写策略 → 文档化 → 人工检查 → 间歇性审计
↓
策略代码化 → 自动执行 → 持续验证 → 实时合规
Benefits
| 优势 | 描述 |
|---|---|
| 一致性 | 每次执行使用相同规则,消除人为错误 |
| 可版本控制 | 策略变更通过Git跟踪和审查 |
| 自动化 | CI/CD集成,持续验证 |
| 可测试 | 策略可单元测试和集成测试 |
| 审计友好 | 自动生成审计日志 |
Implementation Patterns
1. OPA (Open Policy Agent)
# OPA Rego策略示例
package kubernetes.admission
deny[msg] {
input.request.kind.kind == "Pod"
not input.request.object.spec.hostIPC
msg := "HostIPC is not allowed"
}
2. Terraform Sentinel
# Terraform策略即代码
policy "require-tags" {
enforcement_level = "advisory"
validate = func(resource) {
all resource.values.tags != undefined
}
}
3. In ITSM Context
在ITSM中,PaC支撑Security-and-Compliance:
- 变更合规 — 自动验证变更符合安全策略
- 配置基线 — 确保配置项符合基线
- 访问控制 — 自动执行最小权限原则
- 审计自动化 — 生成合规报告
Related Concepts
- Zero-Trust-Architecture — ZTA依赖PaC实现自动化
- Security-and-Compliance — PaC的核心应用场景
- Infrastructure-as-Code — IaC与PaC的协同
- DevSecOps — PaC在DevSecOps中的角色
Sources
- understanding-complete-itsm — Policy-as-Code在ITSM中的应用