6.5 大数据方法论与实践指南-安全合规-账号体系
基于 Kerberos+Ranger 的大数据权限解决方案设计
一、账号体系与角色设计
1.1 个人账号设计
| 维度 | 规范说明 | 安全控制 |
| 命名规则 | 员工工号@REALM,如emp2023001@DATAPLATFORM.COM | 与企业 HR 系统工号严格绑定 |
| 生命周期 | 入职时创建,离职后 30 天内删除 | 与 HR 系统联动自动触发 |
| 认证方式 | Kerberos keytab(个人保管)+ 密码 | keytab 每 90 天强制轮换,权限 60 天未使用自动降级 |
| 适用场景 | 开发调试、测试任务执行、数据查询分析 | 仅限开发 / 测试环境使用 |
| 权限特点 | 基于个人角色的最小权限集合 | 需定期(每季度)确认权限必要性 |
点击图片可查看完整电子表格
1.2 团队账号设计
| 维度 | 规范说明 | 管理控制 |
| 命名规则 | 团队名-业务线-环境@REALM,如recmd-team-user-prod@DATAPLATFORM.COM | 体现团队归属、业务领域和环境属性 |
| 生命周期 | 团队成立时创建,团队解散后回收 | 需部门负责人审批 |
| 认证方式 | 仅 Kerberos keytab(团队共享) | 存储于 Vault,访问需多人审批,每 30 天自动轮换 |
| 适用场景 | 生产线上任务执行、定时调度作业 | 仅限生产环境使用 |
| 权限特点 | 仅包含线上任务必需的最小权限 | 权限变更需团队负责人 + 安全管理员双审批 |
点击图片可查看完整电子表格
1.3 角色体系设计
1.3.1 平台级角色(资源管控)
| 角色名称 | 核心权限 | 关联账号类型 | 典型用户 |
| 平台管理员 | 全平台配置管理、用户管理、权限分配 | 个人账号 | 系统管理员 |
| 资源管理员 | 队列 / Namespace 管理、资源分配 | 个人账号 | 运维工程师 |
| 开发资源用户 | 开发环境资源使用、测试任务提交 | 个人账号 | 开发 / 分析人员 |
| 生产资源用户 | 生产环境指定队列资源使用 | 团队账号 | 业务团队 |
| 安全审计员 | 全平台审计日志查看 | 个人账号 | 安全人员 |
点击图片可查看完整电子表格
1.3.2 数据级角色(数据访问)
| 角色名称 | 核心权限 | 关联账号类型 | 应用场景 |
| 数据管理员 | 数据资产创建、权限分配 | 个人账号 | 数据架构师 |
| 数据开发师 | 数据加工、转换、测试 | 个人账号 | 开发人员 |
| 数据分析师 | 数据查询、报表生成 | 个人账号 | 分析师 |
| 生产任务执行者 | 生产数据读写、线上任务执行 | 团队账号 | 自动化任务 |
| 数据集成专员 | 跨系统数据同步 | 个人 / 团队账号 | 集成工程师 |
点击图片可查看完整电子表格
1.3.3 角色权限矩阵
| 操作场景 | 平台管理员 | 资源管理员 | 开发资源用户 | 生产资源用户 | 数据管理员 | 数据开发师 | 生产任务执行者 |
| 创建用户 / 角色 | √ | × | × | × | × | × | × |
| 管理队列资源 | √ | √ | × | × | × | × | × |
| 提交测试任务 | √ | √ | √ | × | √ | √ | × |
| 提交线上任务 | √ | × | × | √ | × | × | √ |
| 分配数据权限 | √ | × | × | × | √ | × | × |
| 开发环境数据读写 | √ | × | √ | × | √ | √ | × |
| 生产环境数据读写 | √ | × | × | √ | √ | × | √ |
| 查看审计日志 | √ | × | × | × | × | × | × |
点击图片可查看完整电子表格
二、计算组件账号使用规范
2.1 Hive 任务
| Bash |
2.2 Spark 任务
| Bash |
2.3 Flink 任务
| Bash |
2.4 数据存储访问账号规范
| 数据存储 | 测试任务(开发环境) | 线上任务(生产环境) | Ranger 权限控制重点 |
| OSS/OBS | 个人账号 | 团队账号 | 桶级、路径级读写权限 |
| StarRocks | 个人账号 | 团队账号 | 库表级、列级查询权限 |
| Kafka | 个人账号(测试主题) | 团队账号(生产主题) | 主题级生产 / 消费权限 |
| HDFS | 个人账号(开发目录) | 团队账号(生产目录) | 目录级读写执行权限 |
点击图片可查看完整电子表格
三、离职交接流程与权限转移
3.1 交接流程 timeline
- 启动阶段(T-14 天):
- 员工提交离职申请,触发权限交接流程
- 部门负责人指定交接人和审核人
- 安全团队向离职员工发送《权限交接清单》
- 梳理阶段(T-10 天):
- 离职员工梳理个人权限清单和负责任务
- 记录所有访问的数据资产和系统资源
- 提交完整《权限交接清单》给交接人和审核人
- 转移阶段(T-7 天):
- 交接人确认需要继承的权限和任务
- 权限管理员执行权限转移操作
- 验证权限转移的完整性和正确性
- 迁移阶段(T-3 天):
- 将个人账号运行的任务全部迁移至团队账号
- 测试迁移后任务的正常运行
- 更新相关文档和配置信息
- 冻结阶段(T-1 天):
- 冻结离职员工个人账号(保留审计能力)
- 回收所有临时权限和特权
- 生成离职前 7 天操作审计报告
- 清理阶段(T+30 天):
- 彻底删除个人账号及所有凭证
- 清理个人目录和残留数据
- 归档审计日志至长期存储
3.2 权限转移技术实现
3.2.1 Kerberos 账号处理
| Bash |
3.2.2 Ranger 权限批量迁移
| Bash |
3.2.3 任务迁移至团队账号
以 Airflow 任务迁移为例:
| Python |
3.2.4 交接验证与确认
| Bash |
3.3 风险控制措施
- 权限冻结机制:
- 离职申请提交后立即冻结敏感数据访问权限
- 任务迁移完成前仅保留必要的只读权限
- 建立紧急冻结通道,可在 10 分钟内完全禁用账号
- 操作审计追溯:
- 自动收集离职前 30 天的所有操作日志
- 重点审计敏感数据访问、权限变更、批量数据下载行为
- 生成离职审计报告,由安全团队审核
- 多维度验证:
- 技术验证:通过脚本检查权限转移完整性
- 业务验证:由交接人确认核心功能可正常访问
- 安全验证:由安全团队确认无权限遗漏
- 应急处理预案:
- 准备权限快速恢复机制,应对交接遗漏
- 建立 7 天观察期,监控异常访问尝试
- 保留权限配置快照,可回溯历史权限状态
四、最佳实践总结
- 账号使用原则:
- 严格区分个人账号与团队账号的使用场景,禁止混用
- 线上任务必须使用团队账号,杜绝个人账号用于生产环境
- 定期(每季度)检查账号使用合规性,清理违规使用
- 权限管理实践:
- 坚持最小权限原则,仅授予完成工作必需的权限
- 实施权限有效期管理,临时权限自动过期
- 敏感权限采用多人审批和定期复核机制
- 流程保障措施:
- 自动化权限交接流程,减少人工操作风险
- 建立权限变更审计机制,所有操作可追溯
- 定期演练离职交接流程,优化交接效率
- 技术支撑体系:
- 实现 HR 系统与权限系统的自动联动
- 开发权限可视化工具,便于权限梳理和转移
- 构建权限风险预警系统,及时发现异常权限配置
通过上述方案,可实现大数据平台权限的全生命周期管理,明确个人账号与团队账号的使用边界,规范测试任务与线上任务的账号使用,同时通过标准化的离职交接流程,确保权限安全转移,最大限度降低人员变动带来的安全风险。
