# 生产基础设施一致性证据说明 ## 1. 目标与边界 `cmd/infrastructure-conformance`把同一发布候选在目标环境中的域名与TLS、OIDC、PostgreSQL、Redis、对象存储、网络隔离和监控证据形成`production-infrastructure-conformance-report-v1`。报告用于阻止“只部署了清单”或“本地Compose可用”被误登记为生产基础设施已经验收。 本地冒烟只输出`LOCAL_INFRASTRUCTURE/external_validation_required=true`。只有证据来源为`PRODUCTION`,环境为`STAGING`或`PRODUCTION`,七类组件、强制控制项、观测时间和三类引用全部完整时,才能输出`PRODUCTION_INFRASTRUCTURE/external_validation_required=false`。该报告不替代容量结论、恢复演练、密钥轮换或业务发布审批。 ## 2. 采集格式 输入使用`production-infrastructure-capture-v1`,顶层字段如下: | 字段 | 说明 | |---|---| | `evidence_source` | `LOCAL`或`PRODUCTION`;不能用自定义值弱化范围 | | `candidate_version`、`build_digest` | 与候选证据包完全一致的版本和不可变镜像摘要 | | `environment` | 本地为`LOCAL`;真实报告只能是`STAGING`或`PRODUCTION` | | `region_ref`、`cluster_ref` | 脱敏区域和集群引用,不填写管理凭据或地址中的密钥 | | `change_ticket_ref` | 本地演练引用或目标环境变更工单 | | `attested_by_ref`、`attested_at` | 平台复核人引用和复核时间 | | `collected_at` | 本批证据收集结束时间 | | `components` | 七类组件证据;同一类型只能出现一次 | 每个组件必须包含`component_type`、`resource_ref`、`status=VERIFIED`、`observed_at`、`verified_controls`、`probe_ref`、`configuration_ref`和`audit_ref`。引用可指向受控工单、云资源台账、脱敏命令输出或监控截图,不应包含令牌、连接口令、证书私钥、对象存储密钥或业务正文。 ## 3. 生产控制项 | 组件 | 必须验证的控制项 | |---|---| | `DOMAIN_TLS` | DNS已解析、TLS有效、证书到期受监控 | | `OIDC` | JWKS可用、TLS有效、客户组织映射已核对 | | `POSTGRES` | 私网、TLS、高可用、备份已配置、已监控 | | `REDIS` | 私网、TLS、高可用、可从权威状态重建、已监控 | | `OBJECT_STORE` | 私有访问、TLS、版本或保留策略、已监控 | | `NETWORK_ISOLATION` | 入口受限、出口受限、命名空间隔离 | | `MONITORING` | 指标已抓取、告警规则已加载、真实接收器已路由 | 控制项名称必须使用校验器定义值。额外控制项可以保留,但不能替代上表中的必需项。可用性、备份和高可用不能只用配置文件存在来证明,应关联目标资源状态或受控验证结果。 ## 4. 九项一致性检查 报告固定执行:采集模式、证据来源、候选身份、采集与候选绑定、环境身份、七类组件覆盖、生产控制项覆盖、观测时间线和证据引用九项检查。任一检查失败,结果为`FAIL`并保持外部待验。 `PRODUCTION_INFRASTRUCTURE`是证据包不可豁免门禁。索引标记为`VERIFIED`时,第一个文件必须是同候选的`PASS/PRODUCTION_INFRASTRUCTURE`报告;本地报告会被拒绝。清单中的`production_infrastructure_validation`汇总环境、区域、集群、七类组件、各组件控制项数量和未完成缺口。 ## 5. 生成命令 ```powershell go run ./cmd/infrastructure-conformance ` -capture E:\evidence\production-infrastructure-capture.json ` -candidate-version 0.63.0-rc.1 ` -build-digest sha256:<64位摘要> ` -output E:\evidence\production-infrastructure-report.json ``` 本地可执行: ```powershell .\scripts\smoke-infrastructure-conformance.ps1 ``` 该脚本只做API就绪、OIDC JWKS、PostgreSQL、Redis、MinIO、Prometheus和仓库网络/告警配置的一条纵向检查;它不修改业务数据、不执行压力测试,也不会把`PRODUCTION_INFRASTRUCTURE`改为通过。 ## 6. 现场执行顺序 1. 固定候选版本、镜像摘要、区域、集群和变更工单。 2. 对七类组件分别执行目标环境探针并保存脱敏输出、配置版本和云审计引用。 3. 由平台复核人确认观测发生在同一候选部署后,生成采集JSON。 4. 运行校验器,报告必须为`PASS/PRODUCTION_INFRASTRUCTURE`且`external_validation_required=false`。 5. 将报告作为该证据项第一个文件,再生成候选证据包并核对`coverage_complete=true`。 6. 继续完成独立的恢复、KMS、告警接收器、Safari和业务审批门禁;基础设施报告本身不放行生产。