用途
Sentry Policy Guardrails 是一个组织级治理框架,用于防止多个服务之间出现 Sentry 配置漂移。它通过一个共享 npm 包(@company/sentry-config)封装 Sentry.init(),强制执行 PII 脱敏、命名规范、标签标准以及按服务等级设置的追踪采样率上限。
主要能力
- 强制 PII 脱敏(不可绕过):移除敏感请求头(authorization、cookie、set-cookie、x-api-key、x-auth-token、x-csrf-token),并对信用卡号、邮箱和 SSN 进行脱敏。
- 受管控的初始化:校验服务名(小写 kebab-case,3-40 字符,字母开头)、校验环境(production、staging、development、canary、sandbox),注入 service、team、tier、deployment、region 标签。
- 按服务等级限制追踪采样率:critical 0.5、standard 0.2、internal 0.05。
- 强制 beforeSend 链:脱敏始终先于自定义逻辑运行。
- CI 合规检查:阻止硬编码 DSN、sendDefaultPii 为 true 以及直接调用 Sentry.init()。
- 每月漂移审计:检查数据脱敏器、IP 脱敏、敏感字段和命名合规性。
- 按团队成本配额:每周检查错误和事务用量预算。
使用方式
- 构建共享配置包 @company/sentry-config,包装 Sentry.init() 并设置不可协商的默认值。
- 在服务中通过两行代码接入:导入 initSentry 并传入 serviceName、dsn、version 和 tags。
- 在每个服务仓库添加 GitHub Actions 工作流,在 PR 时阻止策略违规。
- 运行月度漂移审计和每周成本配额检查,可安排为 cron 任务。
适用场景
- 需要跨多服务标准化 Sentry 配置的组织。
- 需要满足 SOC 2、GDPR、HIPAA 等合规要求的团队。
- 需要按团队进行成本治理和预算控制的工程组织。
限制
- 需要内部 npm registry(如 GitHub Packages、Artifactory 等)。
- 需要 SENTRY_AUTH_TOKEN 并具备 org:read 和 project:read 权限。
- 需要预先定义团队结构和项目归属。
- 目标服务需安装 @sentry/node v8+。
- 具体收费、价格和平台支持情况暂未提供。