首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ranger 细粒度权限管控: EMR 数据安全方案完整配置指南

Ranger 细粒度权限管控: EMR 数据安全方案完整配置指南

原创
作者头像
gavin1024
发布2026-07-07 15:20:00
发布2026-07-07 15:20:00
300
举报

摘要

本文介绍腾讯云 EMR 如何基于 Apache Ranger 实现细粒度权限管控,涵盖 HDFS 、 Hive 、 HBase 等组件的权限配置方法,以及 COS 数据权限管控方案,帮助企业构建多层次的数据安全体系。

一、为什么需要细粒度权限管控

在大数据平台中,数据安全性是企业最关注的议题之一。随着数据规模和用户数量的增长,传统的文件权限控制已经无法满足复杂的数据访问需求。

1.1 传统权限管理的局限

Hadoop 生态系统中, HDFS 原生使用 POSIX 风格的权限模型,存在以下局限:

  • 只能控制用户或用户组对文件或目录的读、写、执行权限
  • 无法实现列级别、行级别的细粒度访问控制
  • 缺乏统一的权限管理界面,需要在每个组件中单独配置
  • 审计能力有限,难以追踪用户的访问行为

1.2 Ranger 提供的解决方案

Apache Ranger 是一个集中式的安全管理框架,为 Hadoop 生态系统提供全面的数据安全能力。它支持对 HDFS 、 Hive 、 HBase 、 YARN 、 Kafka 等组件进行细粒度的权限访问控制,并可以通过 Web UI 进行在线操作。

腾讯云 EMR 集成了 Ranger 组件,支持基于 Ranger 对本地及 COS 数据细粒度权限管控,帮助企业构建统一的数据安全体系。

二、 Ranger 权限管控核心概念

2.1 权限模型

Ranger 基于策略来抽象"用户-资源-权限"三者之间的关系。其权限模型包含三个核心要素:

  • 用户:由 User 或 Group 表示。 User 代表访问资源的用户, Group 代表用户所属的用户组。
  • 资源:不同组件对应的业务资源不同。例如 HDFS 的资源是文件路径, Hive 的资源是数据库、表、列, HBase 的资源是表、列族、列。
  • 权限:由 AllowACL 和 DenyACL 来表达,类似白名单和黑名单机制。 AllowACL 描述允许访问的情况, DenyACL 描述拒绝访问的情况。

2.2 支持细粒度权限的组件

Ranger 支持对以下组件进行细粒度权限控制:

组件

资源层级

权限类型

HDFS

文件路径

Read 、 Write 、 Execute

Hive

数据库、表、列

Select 、 Create 、 Update 、 Drop 、 Alter

HBase

表、列族、列

Read 、 Write 、 Create 、 Admin

YARN

队列

Submit-app 、 Admin-queue

Kafka

Topic

Publish 、 Consume

三、 EMR 中 Ranger 的配置流程

3.1 创建集群时启用 Ranger

在创建 EMR 集群时,需要在组件选择页面勾选 Ranger 组件。 Ranger 组件会安装在集群的 Master 节点上,提供 Web UI 管理界面。

创建集群时需要设置 Ranger 管理员密码,用于后续登录 Ranger 管理界面。

3.2 访问 Ranger 控制台

集群创建完成后,可以通过以下方式访问 Ranger Web UI :

  1. 在 EMR 控制台中,进入集群管理页面
  2. 找到对应的集群,在组件快捷入口中找到 Ranger 的快捷访问入口
  3. 单击快捷入口链接,进入 Ranger 登录页面
  4. 使用管理员账号( root )和创建集群时设置的密码登录

3.3 创建权限策略

登录 Ranger 控制台后,可以在"Service Manager"区域看到已注册的组件服务。单击组件名称下的权限插件名称,即可进入组件安全访问策略列表页面。

创建权限策略的步骤:

  1. 单击"Add New Policy"按钮,进入策略创建页面
  2. 填写策略名称、资源路径、描述等基本信息
  3. 在"Allow Conditions"区域设置允许访问的条件
  4. Select Role :授予的角色
  5. Select Group :授予的用户组
  6. Select User :授予的用户
  7. Permission :授权权限类型
  8. 单击"Save"按钮保存策略

策略创建完成后, Ranger 插件会定期从 Ranger Admin 拉取最新的策略更新,通常每隔 30 秒拉取一次。

四、 HDFS 权限管控配置

4.1 创建 HDFS 策略

在 Ranger 控制台中,进入 HDFS 组件的 service 页面,添加策略。需要配置的参数包括:

  • Policy Name:策略名称
  • Resource Path: HDFS 资源路径,可填写多个值,支持通配符"*"
  • recursive:是否递归,如果开启,则子目录也配置该策略
  • Description:策略描述
  • Allow Conditions:策略允许条件设置

4.2 权限类型说明

HDFS 策略支持以下权限类型:

  • Read:读取文件内容
  • Write:写入文件
  • Execute:执行文件(如可执行脚本)
  • Read/Write:读写权限
  • All:所有权限

4.3 验证权限

策略生效后,可以切换到对应的用户,使用 HDFS 命令行工具验证权限是否正常。例如:

  • 使用 hdfs dfs -ls /path 命令验证读权限
  • 使用 hdfs dfs -put localfile /path 命令验证写权限

五、 Hive 细粒度权限管控

5.1 列级别权限控制

Ranger 支持对 Hive 表进行列级别的权限控制。管理员可以为特定用户或角色设置对特定列的访问权限,保护敏感数据。

例如,可以设置财务报表中的薪资列仅对人力资源部门可见,而其他部门只能查看非敏感信息。

5.2 行级别过滤

Ranger 支持行级别的过滤功能。通过 WHERE 子句定义行级访问条件,用户可以仅访问符合条件的数据。

例如,可以设置销售角色仅能访问 region='华东' 的订单数据。

5.3 列级脱敏

Ranger 支持对敏感列应用脱敏规则。例如:

  • 将手机号列进行掩码处理,显示为 138****1234 格式
  • 将身份证列进行掩码处理,显示为 110101********1234 格式

六、 COS 数据权限管控

6.1 COS Ranger 权限体系

腾讯云对象存储 COS 支持通过 Ranger 进行权限管控。 COS Ranger Service 是整个权限体系的核心,负责集成 Ranger 的客户端,接收 Ranger client 的鉴权请求。

COS Ranger Service 支持一主多备的 HA 部署, DelegationToken 状态持久化到 HDFS ,通过 ZooKeeper 抢锁决定 Leader 身份。

6.2 配置 COS Ranger 服务

配置 COS Ranger 服务的步骤:

  1. 在 Ranger 控制台中,创建 COS 服务实例
  2. 配置服务实例名称(如 cos 或 cos_test )
  3. 设置 policy.grantrevoke.auth.users 参数,指定启动 COS Ranger Service 服务的用户名
  4. 添加 COS 权限策略,配置 bucket 、 path 、 user/group 、 permissions 等参数

6.3 COS 权限类型

COS 策略支持以下权限类型:

  • Read:读操作,对应于对象存储的 GET 、 HEAD 类操作
  • Write:写操作,对应于对象存储的 PUT 类等修改操作
  • Delete:删除操作,对应于对象存储的删除 Object 操作
  • List:遍历权限,对应于对象存储的 List Object 操作

七、 Ranger 与 Kerberos 的集成

7.1 认证与权限管控的结合

腾讯云 EMR 提供集群级别的 Kerberos 认证,保障集群访问安全。 Ranger 则提供细粒度的权限管控能力。两者结合可以构建完整的安全体系:

  • Kerberos 负责身份认证,确保只有合法用户能够访问集群
  • Ranger 负责权限管控,控制用户能够访问哪些资源、执行哪些操作

7.2 配置集成

在 EMR 集群中启用 Kerberos 认证后, Ranger 会自动集成 Kerberos 认证信息。用户在访问集群时,需要先通过 Kerberos 认证,然后 Ranger 会根据用户的身份进行权限检查。

八、最佳实践建议

8.1 权限设计原则

  • 遵循最小权限原则,只授予用户完成工作所需的最小权限
  • 使用用户组进行权限管理,避免为单个用户单独配置权限
  • 定期审查权限策略,及时清理不再需要的权限

8.2 策略配置建议

  • 使用通配符"*"简化权限配置,但要注意安全风险
  • 为敏感数据设置拒绝策略( Deny Policy ),优先级高于允许策略
  • 启用审计日志,记录用户的访问行为

8.3 高可用部署

对于生产环境,建议:

  • 部署多个 Ranger Admin 节点,避免单点故障
  • 配置 COS Ranger Service 的 HA 部署,确保权限服务的高可用
  • 定期备份 Ranger 策略配置

九、常见问题排查

9.1 权限策略不生效

可能的原因:

  • 策略配置错误,检查资源路径、用户、权限等配置是否正确
  • 策略尚未同步到插件,等待 30 秒左右,策略会自动同步
  • 插件未启用,检查组件是否启用了 Ranger 鉴权

9.2 用户无法访问数据

排查步骤:

  1. 检查用户是否存在于 Ranger 中
  2. 检查用户所属的用户组是否正确
  3. 检查权限策略是否授予了该用户或用户组相应的权限
  4. 检查是否存在拒绝策略覆盖了允许策略

了解更多产品详情:腾讯云 EMR 产品页

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要:
  • 一、为什么需要细粒度权限管控
    • 1.1 传统权限管理的局限
    • 1.2 Ranger 提供的解决方案
  • 二、 Ranger 权限管控核心概念
    • 2.1 权限模型
    • 2.2 支持细粒度权限的组件
  • 三、 EMR 中 Ranger 的配置流程
    • 3.1 创建集群时启用 Ranger
    • 3.2 访问 Ranger 控制台
    • 3.3 创建权限策略
  • 四、 HDFS 权限管控配置
    • 4.1 创建 HDFS 策略
    • 4.2 权限类型说明
    • 4.3 验证权限
  • 五、 Hive 细粒度权限管控
    • 5.1 列级别权限控制
    • 5.2 行级别过滤
    • 5.3 列级脱敏
  • 六、 COS 数据权限管控
    • 6.1 COS Ranger 权限体系
    • 6.2 配置 COS Ranger 服务
    • 6.3 COS 权限类型
  • 七、 Ranger 与 Kerberos 的集成
    • 7.1 认证与权限管控的结合
    • 7.2 配置集成
  • 八、最佳实践建议
    • 8.1 权限设计原则
    • 8.2 策略配置建议
    • 8.3 高可用部署
  • 九、常见问题排查
    • 9.1 权限策略不生效
    • 9.2 用户无法访问数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档