指令类型:
创建、删除角色:
CREATE ROLE sentry_all;
droop role admin_role;
 
角色授权/撤销权限:
数据库级别角色授权
GRANT ALL ON DATABASE default TO ROLE bd;
表级别角色授权
GRANT SELECT ON table sentry_test TO ROLE sentry_insert;
字段级别授权
GRANT select(columnName) ON table sentry_test TO ROLE sentry_insert;
Sentry的权限(privilege),常见就是两种,一种是select,一种是all;尽管有一种insert,但是如果仅仅是单独赋权限insert仍然无法成功赋写权限;
 
用户授权
GRANT ROLE sentry_all TO GROUP hive;
REVOKE ROLE sentry_all FROM GROUP bd;
注意,这个group一定是linux用户组(不需要是hdfs用户);
 
展示类指令
展示角色的权限:
show grant role write;
展示绑定到用户的角色:
SHOW ROLE GRANT GROUP bd;
 
脚手架
sentry默认管理员是hive
具有最大的权限;创建角色、授权等都要在这个角色下;
如果想要增加管理员在sentry的sentry.service.admin.group配置项中增加;
 
采用beeline方式登录hive:
beeline -u"jdbc:hive2://slave1:10000" -n solr
-u代表url,-n代表name,用户之意;不需要密码,只要指定用户即可(上面介绍了,这个用户必须要当前机器linux用户组;估计是要做本地用户(权限)映射;
或者:
>beeline(回车)
>!connect jdbc:hive2://localhost:10000/ solr(回车)
(然后会要求输入密码,不用管,直接回车跳过即可)
 
hive插入数据:
insert into sentry_test values('i','j');
 
 
碰到的异常
1. 启动服务建表失败
Query for candidates of org.apache.sentry.provider.db.service.model.MSentryVersion and subclasses resulted in no possible candidates Required table missing : "`SENTRY_VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables" org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : "`SENTRY_VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"
 
需要在hive中配置datanucleus.autoCreateSchema设置为true;重启YARN服务后好了;
 
2. hive认证失败
hive.server2.authentication can't be none in non-testing mode
在CDH的Hive的Config中搜索“sentry-site“,添加
name:sentry.hive.testing.mode
value:true
即可;
测试:!connect jdbc:hive2://localhost:10000/ user
show roles;
将会看到异常:
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.SentryGrantRevokeTask. SentryAccessDeniedException: Access denied to root (state=08S01,code=1)
切换到!connect jdbc:hive2://localhost:10000/ hive hive,再执行show roles即可;这是因为hive用户是在sentry的管理用户组中。
3. hue里面有一点比较混淆,就是你如果设置完权限后,并不能马上再页面中显示出来,如果刷新仍然无法获得新的权限下面的内容,就点击一下左侧区域的刷新按钮;就会体现出来当前权限。
4. impala权限问题

  java.sql.SQLException: [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000,errorMessage:AuthorizationException: User '' does not have privileges to execute 'SELECT' on: default.test), Query: select * from test limit 100000. Query: select * from test limit 100000 Parameters: []
  Impala采用Sentry之后,impala爆此异常,后来取消sentry授权,问题解决。
 
Sentry的架构综述
Sentry的配置说明
 

Sentry入门的更多相关文章

  1. 前端错误监控,sentry入门配置详细教程

    一.前言 最近经理说要把公司项目结合sentry用起来,然后组长不想做,老员工也不想做,分配任务就这么分配给我了,很荣幸接锅,摸索了几天,了解了一些基本配置,深一点的玩法可能还得实践一段时间,这里对于 ...

  2. 【转】Sentry 入门实战

    Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题.它主要专注于持续集成.提高效率并且提升用户体验.Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在 ...

  3. Sentry 企业级数据安全解决方案 - Relay 入门

    内容整理自官方开发文档 Sentry Relay 通过提供作为应用程序和 sentry.io 之间中间层的独立服务来提供企业级数据安全性. Relay 专门设计用于: 在将个人身份信息 (PII) 发 ...

  4. 05-Vue入门系列之Vue实例详解与生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  5. Laravel 4 系列入门教程(一)

    默认条件 本文默认你已经有配置完善的PHP+MySQL运行环境,懂得PHP网站运行的基础知识.跟随本教程走完一遍,你将会得到一个基础的包含登录的简单blog系统,并将学会如何使用一些强大的Larave ...

  6. django-rest-framework快速入门

    前言:第一次接触django-rest-framework是在实习的时候.当时也不懂,看到视图用类方法写的感觉很牛逼的样子.因为官网是英文的,这对我的学习还是有一点的阻力的,所以当时也没怎么学.真是太 ...

  7. Expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. Vue入门系列(五)Vue实例详解与生命周期

    Vue官网: https://cn.vuejs.org/v2/guide/forms.html#基础用法 [入门系列] (一)  http://www.cnblogs.com/gdsblog/p/78 ...

  9. 【转帖】Kafka入门介绍

    Kafka入门介绍 https://www.cnblogs.com/swordfall/p/8251700.html 最近在看hdoop的hdfs 以及看了下kafka的底层存储,发现分布式的技术基本 ...

随机推荐

  1. STM32系列第15篇--灵活的静态存储控制器FSMC

    源: STM32系列第15篇--灵活的静态存储控制器FSMC

  2. OLTP和OLAP浅析

    数据库设计的一个根基就是要弄清楚数据库的类型.   当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing在线事务处理,联机事务处理).联 ...

  3. iOS开发过程中常见错误问题及解决方案

    错误原因:ld: x duplicate symbol for architecture x86_64 clang: error: linker command failed with exit co ...

  4. vRO 添加已有磁盘到VM

    在vRO实现将已有虚拟机磁盘添加到另外的虚拟机上,以为vRA发布Oracle/SQL集群做准备: // 脚本需要两个输入 vm_obj和diskPathSystem.log("Attempt ...

  5. Kafaka高可用集群环境搭建

    zk集群环境搭建:https://www.cnblogs.com/toov5/p/9897868.html 三台主机每台的Java版本1.8 下面kafka集群的搭建:  3台虚拟机均进行以下操作:  ...

  6. 生成 (web): 找不到目标 .NET Framework 版本的引用程序集;请确保已安装这些程序集或选择有效的目标版本。

    刚刚还好好的,不知道修改什么了,突然出现如下错误: Default.aspx(36): 生成 (web): 找不到目标 .NET Framework 版本的引用程序集:请确保已安装这些程序集或选择有效 ...

  7. java assert的使用并深入解析Java的assertion

    java assert的使用并深入解析Java的assertion 分类: java2012-12-05 13:32 2020人阅读 评论(0) 收藏 举报 原文出处:http://blog.csdn ...

  8. 格点多边形面积公式(Pick定理)的一个形象解释(转)

    Pick定理:如果一个简单多边形(以下称为“多边形”)的每个顶点都是直角坐标平面上的格点,则称该多边形为格点多边形.若一个面积为S的格点多边形,其边界上有a个格点,内部有b个格点,则S=a/2+b-1 ...

  9. HTTP Status 500:报错Unsupported major.minor version 51.0(unable to load class XXX)

    这个是jdk版本和JRE不匹配导致的. 报错信息: 问题详解:(待填) 处理: 1.检查jdk和jre版本是否匹配 ——打开命令行界面(cmd),分别输入java -version 和javac -v ...

  10. 解决Pycharm中matplotlib画图出错问题(AttributeError: module 'matplotlib' has no attribute 'verbose')

    最近在Linux中使用pycharm过程中使用matplotlib无法画图,总是提示错误 /usr/bin/python3. /home/leo/PycharmProjects/untitled1/E ...