详解Apache Sentry->Ranger平滑升级方案

详解,apache,sentry,ranger,平滑,升级,方案 · 浏览次数 : 103

小编点评

**平滑解决Sentry到ranger升级过程中权限迁移问题** **背景** CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版,常常是许多客户建设IDC大数据平台中的首选。早期CDH版本只提供sentry的权限管理方案,后期新版本提供ranger作为替换方案,而CDH只有商业版本提供sentry升级ranger服务,开源社区版并未提供这样的能力。 **问题** 如何平滑解决sentry到ranger升级过程中的权限迁移问题? **解决方案** 1. 用户同步方案:从外部LDAP中读取用户组信息,并将其插入Ranger中。 2. 角色同步方案:通过用户、用户组同步后再进行角色同步。 3.策略同步分析:根据表权限类型,分解为ranger策略。 4. Ranger用户组、用户不区分大小写而sentry中如果存在大小写差异的用户组会导致同步失败,这种情况建议改造或者下线其中不规范的用户组命名。 **步骤** * 用户同步方案: * 从外部LDAP中读取用户组信息。 * 将用户组插入Ranger中。 * 角色同步方案: * 通过用户、用户组同步后再进行角色同步。 * 策略同步分析: * 根据表权限类型,分解为ranger策略。 * Ranger用户组、用户不区分大小写而sentry中如果存在大小写差异的用户组会导致同步失败,这种情况建议改造或者下线其中不规范的用户组命名。

正文

摘要:本文主要探讨如何平滑解决sentry到ranger升级过程中的权限迁移问题。

本文分享自华为云社区《【平滑上云】Apache Sentry->Ranger平滑升级方案》,作者: 啊喔YeYe 。

背景介绍

CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版,常常是许多客户建设IDC大数据平台中的首选。早期CDH版本只提供sentry的权限管理方案,后期新版本提供ranger作为替换方案,而CDH只有商业版本提供sentry升级ranger的服务,开源社区版并未提供这样的能力。本文主要探讨如何平滑解决sentry到ranger升级过程中的权限迁移问题。

Sentry权限介绍

Sentry是典型的RABC权限管理系统,通过用户-用户组-角色关联,最终通过role来进行赋权,一般只用于表级授权,存在三种权限类型:select/insert/all(*)。

sentry关键表分析

  • sentry_role: 角色列表
  • sentry_group;用户组列表
  • sentry_role_group_map;角色、用户映射关系表
  • sentry_db_privilege: 表权限信息表
  • sentry_role_db_privilege_map: 权限、角色映射关系表

举例

表bi_plus.data_xy_b_error_event赋予了XX用户select权限,数据模型如下:

Sentry->Ranger方案分解

Ranger基于策略policy的PBAC赋权策略,面向资源授权。转换sentry策略我们先需要解决用户、用户组、角色同步问题。

整体迁移策略

用户同步方案

Sentry不存在用户,一般来自于外部OpenLdap。Ranger本身支持外部LDAP同步,在华为云MRS 中通过配置usersync实例与LDPA对接即可实现

用户组同步方案

Sentry用户组如果来源于外部Ldap,参考用户同步方案同步用户组即可。如果没有外部LDAP,通过读取表sentry_group获取用户组插入Ranger中即可实现。

角色同步方案

角色同步稍比用户、用户组同步复杂需要自行开发工具支持。角色同步时要关联用户、用户组,因此需要先完成用户、用户组同步后再进行角色同步。

策略同步

  1. 分析sentry中hive表权限,对应每张表生成对应一条ranger策略,例如:库表:default.student生成策略名:default_student。
  2. 根据表权限类型,分解为:select、all(*)、insert对相关角色&用户&用户组进行分组,生成为ranger中策略的Condition内容

样例

表bi_plus.data_xy_b_error_event在sentry中实际只有对部分角色用户进行了select授权

对应生成的ranger策略为: bi_plus_data_xy_b_error_event

FAQ

  1. Sentry本身不存储用户信息,实际多个客户案例来看一般一个用户对应一个用户组且名称相同,我们基于这个策略进行同步。
  2. Ranger用户组、用户不区分大小写而sentry中如果存在大小写差异的用户组会导致同步失败,这种情况建议改造或者下线其中不规范的用户组命名。

使用华为云大数据产品,提供端到端迁移方案与技术支持。

 

点击关注,第一时间了解华为云新鲜技术~

与详解Apache Sentry->Ranger平滑升级方案相似的内容:

详解Apache Sentry->Ranger平滑升级方案

摘要:本文主要探讨如何平滑解决sentry到ranger升级过程中的权限迁移问题。 本文分享自华为云社区《【平滑上云】Apache Sentry->Ranger平滑升级方案》,作者: 啊喔YeYe 。 背景介绍 CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版,常常是许

理论+实战,详解Sharding Sphere-jdbc

摘要:Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品:ShardingSphere-Proxy和ShardingSphere-JDBC。 本文分享自华为云社区《看完这一篇,ShardingSphere-jdbc 实战再也不怕了》,作者:勇哥java实战分享

Apache的配置详解

目录httpd配置1. 工作模式1.1 Prefork 模式1.2 Worker 模式1.3. Event 模式总结1.4 调整工作模式2. httpd配置文件解析2.1 ServerRoot2.2 Listen2.3 Include2.4 User & Group2.5 ServerAdmin2.

[转帖]Nginx之proxy_redirect详解

今天在做nginx反向代理apache的时候出了一点点问题,原来后端apache用的端口是8080通过反向代理后,使用wireshark抓包发现location头域数值为http://192.168.1.154:8080/wuman/ 如果把这个返回给客户端肯定是不可以的,看起来别扭而且还暴露了ap

文件上传--php user.ini详解

文件上传 参考文档:https://www.php.net/manual/zh/configuration.file.per-user.php 如果你的 PHP 以模块化运行在 Apache 里,则用 .htaccess 文件有同样效果。 auto_prepend_file 表示在每个PHP脚本之前

万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践

文章贡献者 Authors 技术指导: 泰康人寿 数据架构资深专家工程师 王可 文章作者: 泰康人寿 数据研发工程师 田昕峣 摘要 Abstract 本文详细介绍了泰康人寿基于 Apache Hudi 构建湖仓一体分布式数据处理平台的技术选型方法、整体架构设计与实施、以及针对大健康领域的领域特征和公

DHorse的配置文件

首先看一下DHorse的配置文件,如下: # # 本软件遵守Apache开源许可协议2.0, # 详情见:http://www.apache.org/licenses/LICENSE-2.0 # # # Common # #服务端口,默认8100 #server.port: 8100 #系统数据文件

数据血缘系列(3)—— 数据血缘可视化之美

大家好,我是独孤风。在当今数据驱动的商业环境中,数据治理成为企业成功的关键因素之一,而数据血缘正是数据治理成功的一个关键。 本文我们详细探讨下数据血缘可视化是什么,该如何实现。并顺便对比一下Apache Atlas 、Datahub、Openmetadata、Marquez、SQLLineage、A

详解C#委托与事件

在C#中,委托是一种引用类型的数据类型,允许我们封装方法的引用。通过使用委托,我们可以将方法作为参数传递给其他方法,或者将多个方法组合在一起,从而实现更灵活的编程模式。委托类似于函数指针,但提供了类型安全和垃圾回收等现代语言特性。 基本概念 定义委托 定义委托需要指定它所代表的方法的原型,包括返回类

详解Web应用安全系列(8)不足的日志记录和监控

在Web安全领域,不足的日志记录和监控是一个重要的安全隐患,它可能导致攻击者能够更隐蔽地进行攻击,同时增加了攻击被检测和响应的难度。以下是对Web攻击中不足的日志记录和监控漏洞的详细介绍。 一、日志记录不足的问题 日志缺失或不完整 关键操作未记录:如用户登录、敏感数据访问、系统管理员操作等关键操作未