Files
nexus/wiki/concepts/Policy-as-Code.md
2026-04-22 04:03:04 +08:00

2.0 KiB
Raw Blame History

title, type, tags, date
title type tags date
Policy as Code (PaC) concept
security
devops
compliance
automation
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

ITSMPaC支撑Security-and-Compliance

  • 变更合规 — 自动验证变更符合安全策略
  • 配置基线 — 确保配置项符合基线
  • 访问控制 — 自动执行最小权限原则
  • 审计自动化 — 生成合规报告

Sources