01

PART

Sentry概述

Apache Sentry是一个可以对Hadoop集群中的数据及元数据进行细粒度管理的权限管理系统。Sentry目前可以与ApacheHive,HiveMetastore / HCatalog,Apache Solr,Impala和HDFS(仅限于Hive表数据)等进行集成,对其数据进行权限管理。

02

PART

部署Sentry服务

1.在CDH集群添加Sentry服务

2.自定义Sentry角色分配

3.测试Sentry数据库连接(需提前为Sentry服务准备好数据库)

4.Sentry部署启动完成

03

PART

Hive启动Sentry权限管理

为Hive启动Sentry权限管理之后,可以使用Sentry对Hive中的表进行列级别的细粒度权限控制。需要说明的是,只有Hiveserver2支持Sentry插件,故若想对Hive中的表作权限管理,只能使用beeline客户端。对于Hive CLI,可将hive脚本的执行权限做出限定,只保留hive用户(Hive系统用户)对它的执行权限。

1.取消HiveServer2用户模拟

在hive配置项中搜索“HiveServer2 启用模拟”,取消勾选

2.在Hive配置项中搜索启用数据库中的存储通知,勾选。

3.在Hive配置项中搜索Sentry,勾选Sentry。

4.重启相关服务

04

PART

启用HDFS ACL与Sentry同步

启用HDFS ACL与Sentry同步之后,Sentry会将对Hive中数据库和表的访问权限同步映射到该表对应的HDFS的文件上。如不开启同步,则可能会出现,某个用户对Hive中的某张表无访问权限,但是对该表在HDFS上文件具有访问权限的问题,故推荐开启HDFS ACL与Sentry同步。需要说明的是,该同步只对Hive中的数据库和表在HDFS上的路径生效,HDFS其余路径的ACL不受影响。

1.在HDFS配置项中搜索启用访问控制列表,勾选。

2.在HDFS配置项中搜索Sentry,并做以下两项配置

1)勾选启用Sentry同步

2)填写Sentry 同步路径,此处应填写hive数仓根目录,默认为/user/hive/warehouse

05

PART

Sentry授权管理实操

1.Sentry基础概念

object:受保护的对象,例如Hive中的一张表test_table

privilege:对object的访问权限,例如对test_table的读权限

role:角色(privilege的集合),例如数仓开发人员(对test_tbl的读与写权限)

user:用户,例如张三

group:user的集合,例如大数据离线数仓开发组

2.Sentry使用

使用Sentry进行权限管理,可通过两种方式进行。一是使用在Hive中的授权语句进行授权,二是使用HUE中集成的Sentry插件进行可视化操作。

1)Sentry授权之HUE

(1)HUE集成Sentry

在HUE配置项中搜索Sentry,勾选Sentry。

(2)重启相关服务

(3)在HUE中创建Hive服务的系统用户,默认为hive,并赋予hive用户在HUE中使用Sentry插件的权限。使用hive用户登录,并使用hive用户为其他普通用户授权权限。

(4)打开Sentry插件

(5)初始状态任何用户对Hive中的表都没有任何权限,包括系统用户hive,故需要首先为hive用户赋予超级权限,即对所有库和表的所有权限。

(6)为普通用户分配权限

此处演示为,为test用户授予对test_db数据库下的test_table表的读权限。

需要注意的是,在使用HUE中的Sentry插件对普通授予Hive的访问权限时,需要保证Hiveserver2所在的服务器中,也要具有同名同组的系统用户。

(7)测试

使用test用户登录HUE,使用Hive Editor查询test_da.test_table,结果显示能够查询。

尝试往该表写入,结果显示没有权限。

2)Sentry授权之Hive语句

登录Beeline客户端,可通过以下授权语句进行授权操作。需要注意的是,当集群开启Kerberos之后,登录beeline客户端,需先经过Kerberos认证。例如,想以hive的身份登录beeline客户端,则需执行kinit hive/hive@EXAMPLE.COM命令,并输入密码,访客登录beeline客户端。关于Kerberos相关内容,可参考CDH6.3.2之Kerberos安全认证(二)

(1)创建Role

create role test_role;

(2)为role赋予privilege

GRANT select ON DATABASE test_db TO ROLE test_role;

(3)将role授予用户组

GRANT ROLE test_role TO GROUP test;

(4)查看权限授予情况

查看所有role(管理员)

SHOW ROLES;

查看指定用户组的role(管理员)

SHOW ROLE GRANT GROUP test;

查看当前认证用户的role

SHOW CURRENT ROLES;

查看指定ROLE的具体权限(管理员)

SHOW GRANT ROLE test_role;

扫码入群和大佬们一起讨论技术

该公众号开源为大家解决大数据企业级遇到的各种问题,也欢迎各位大佬积极加入开源共享(共同面对大数据领域各种老大难问题)

cdh用户权限_CDH6.3.2之Sentry权限管理(三)相关推荐

  1. cdh用户权限_0617-使用Sentry给Solr的collection赋予Query权限后查询异常分析

    作者:冉南阳 1.文档编写目的 Sentry在CDH平台中定位为统一的授权框架,即所有的组件都要受Sentry的管理,当然也是为了方便用户的操作,一个入口为所有数据相关进行授权.Solr作为CDH的关 ...

  2. 为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 4. 为CDH 5集群添加Kerberos身份验证 4.1 安装sentry 1.点击"操作",&qu ...

  3. cdh用户权限_CDH用户管理

    一 简介 CDH大数据集群安装和使用过程中,涉及到很多用户.根据用户性质分为服务用户和使用用户.服务用户是在搭建CDH集群中自动创建的,使用用户是在集群使用中管理员创建的.这些用户都是基于linux的 ...

  4. Hadoop Kerberos 认证下 Sentry 安装 + Sentry 权限设置使用

    目录 一.安装Sentry 1.MariaDB中创建sentry数据库 2.CDH中添加sentry 服务 3.hive配置 启动Sentry 4.Impala配置 启动Sentry 5.Hue配置 ...

  5. yii2 后台权限验证获取用户身份_前、后端分离权限控制设计与实现

    作者:佚名 来源:Web开发 简述 近几年随着react.angular.vue等前端框架兴起,前后端分离的架构迅速流行.但同时权限控制也带来了问题. 网上很多前.后端分离权限仅仅都仅仅在描述前端权限 ...

  6. 禁止用户对系统数据库表的SELECT权限

    由于数据库安全方面的考虑,想去掉某些用户对系统数据库表的SELECT权限,找了N久,原来在系统数据库下的角色中有public的角色,该角色的权限允许了对系统数据库表的SELECT权限,设为禁止即可.

  7. 【CyberSecurityLearning 30】Linux操作系统的用户和组、文件及目录权限

    Linux简介 Linux 发展历史 Linux系统诞生于1991年,由芬兰大学李纳斯(Linus Torvalds)和后来陆续加入的众多爱好者共同开发完成,是UNIX的分支. Linux是开源软件, ...

  8. SSRS:之为用户“NT AUTHORITY\NETWORK SERVICE”授予的权限不足,无法执行此操作。 (rsAccessDenied)...

    错误信息: 为用户"NT AUTHORITY\NETWORK SERVICE"授予的权限不足,无法执行此操作. (rsAccessDenied) 如图: 解决方案之检查顺序: 1. ...

  9. 给与用户建立dblink的权限_网络安全 之 NTFS安全权限

    NTFS安全权限 一.NTFS权限概述 1.通过设置NTFS权限,实现不同的用户访问不同的权限 2.分配了正确的访问权限后,用户才能访问其资源 3.设置权限防止资源被篡改.删除 二.文件系统概述 文件 ...

  10. 根据用户id查询菜单列表(菜单权限问题)

    根据用户id查询菜单列表(菜单权限问题): 最高级用户菜单效果图: 较低级别用户菜单效果图: SQL语句分析图: 根据用户id查询对应菜单(权限)SQL语句: SELECT * FROM user_r ...

最新文章

  1. Python+Dash快速web应用开发——基础概念篇
  2. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(自定义分组的颜色)实战
  3. 05 Python 并发编程(管道,事件,信号量,进程池)
  4. CentOS7 下配置 Nginx + PHP7 + MariaDB + ThinkPHP5.1
  5. 一致性哈希算法与Java实现
  6. BZOj #4771. 七彩树(主席树+dfn序+lca)
  7. c语言 数组扩容,数组的扩容
  8. android Activity runOnUiThread() 方法的使用
  9. Python 扩展知识:编程习惯
  10. c#利用泛型集合,为自己偷偷懒。
  11. ARMam3354linux系统开发,ARM板移植Linux系统启动(四)配置Kernel
  12. java怎么运行_java怎么运行
  13. 特征金字塔:FPN网络 - Pytorch实现
  14. 数据仓库系列之总线架构
  15. iOS使用UICollectionView只允许向左方向滑动,不允许向右方向滑动。
  16. ios+android备份短信恢复软件下载,iPhone备份短信教程:iOS短信导出技巧大全
  17. 有些微信朋友,每天喜欢发早安、图片给别人,这些人是什么心理?
  18. 牛客练习赛52 B Galahad (树状数组)
  19. 神秘国度的爱情故事 数据结构课设-广州大学
  20. STM32CubeMX Crystal/Ceramic Resontor

热门文章

  1. 斯坦福大学深度学习公开课cs231n学习笔记(8)神经网络学习过程中的检查事项和参数调优
  2. HOG特征提取算法解析
  3. ionic3 修改打包时 android sdk 路径
  4. Java Web J2EE下的两大框架SSH和SSM对比
  5. Python学习笔记(五)--Python数据类型-数字及字符串
  6. 关于UIColor这个类的一些不知道的事
  7. CSDN邀请您成为技术中心特约作者
  8. ubuntu下C语言编程的注意点
  9. 【WIN7安装Github遇到的问题】
  10. 【tf.keras.Model】构建模型小结(部分问题未解决)