← 返回索引
安全工程 DevOps Uber

Superuser Gateway: Uber 的特权命令执行保护系统

来源: Uber Engineering Blog | 发布时间: 2026-02-26

核心亮点

  • 问题: 手动执行特权命令(如 rm -rchmod -R)可能导致生产数据灾难
  • 方案: 用 GitHub PR 流程替代直接执行,强制同行评审 + 自动验证
  • 效果: 2025年底已完成全员迁移,已执行数百次安全操作

背景问题

  • 无保护: 工程师直接持有超级用户凭证,无命令级 guardrail
  • 审计困难: 日志记录的是超级用户主体,而非实际执行者
  • 无同行评审: 单点错误无监督

架构组成

  1. superuser-cli: CLI 工具,工程师通过它提交命令
  2. Git 仓库: 存储命令请求,自动生成 PR
  3. CI 验证: 语法检查、权限验证、影响评估
  4. 后端服务: 执行已批准的命令,从不本地存储凭证

验证机制

  • 语法验证: 检查命令格式是否合法
  • 权限检查: 验证用户是否有权执行该操作
  • 影响评估: 对删除操作,估算影响文件数量并自动评论到 PR

开发者体验

工程师仍然写相同的 HDFS 命令,但通过 superuser-cli cmd "命令" 提交。提交后生成 PR,评审方式与普通 GitHub PR 完全相同。

设计决策: 选择 Git-backed 流程而非数据库,是因为 Git 提供了成熟的评审体验、CI 集成和历史追溯能力。

扩展与未来

  • 扩展到其他特权系统访问
  • 更深入的静态分析,自动标记潜在错误
  • AI 辅助评审,加速审查延迟

原文链接 →