文档章节

使用Apache Sentry的Presto

hblt-j
 hblt-j
发布于 02/13 15:08
字数 1404
阅读 164
收藏 0

 

概观

Apache Sentry是一个基于角色的粒度授权模块,适用于Hadoop。Sentry提供了对经过身份验证的用户和应用程序(如Presto)的数据控制和强制执行精确级别权限的功能。

Presto Enterprise与Apache Sentry集成,强制在Hive对象上授予相同和现有的权限。Presto将强制分配给Hive数据库,表,列和视图的权限。如果用户没有查询对象的权限,则查询将失败并返回错误。

Presto Enterprise仅可从Staburst获得。有关Presto Enterprise和Apache Sentry集成的更多信息或获得免费试用版,请联系hello @ starburstdata 。com

在你开始之前

在使用Apache Sentry配置Presto之前,请验证以下先决条件:

  • 安装了Apache Sentry和Hive的Cloudera Enterprise 5.12+。
  • Presto Coordinator和Presto Workers具有相应的网络访问权限,可与Apache Sentry Service进行通信。通常这是端口8038。
  • 如果LDAP用于组映射,则Presto Coordinator和Presto Workers具有相应的网络访问权限以与LDAP服务器通信。通常这是端口636或389。

如果您是Apache Sentry的新手,Cloudera提供了安装和配置Apache Sentry的优秀文档:

建筑

当查询提交给Presto时,Presto会解析并分析查询,以了解用户访问特定对象所需的权限。Presto与Apache Sentry Service通信以确定请求是否有效。如果请求有效,则查询继续执行。如果请求无效,则会向用户返回错误。

缓存还用于提高性能并减少对Sentry服务的请求数。

使用Apache Sentry配置Presto

Apache Sentry配置

与Hive,Impala,Spark和Hue一样,您必须为Presto创建一个名为Admin的Admin Group presto。您可以通过Cloudera Manager执行此操作,也可以通过sentry.service.admin.groupsentry-site.xml文件中添加属性来手动执行此操作 。Presto进程的用户应属于该组。此外,您必须普雷斯托用户添加(从sentry.client-principal)以sentry.service.allow.connectsentry-site.xml

有关其他信息,请参阅Cloudera文档:

Apache Sentry的Presto配置

必须配置Starburst Presto Enterprise才能使Presto与Apache Sentry服务进行通信。要启用,请在Hive连接器配置中设置以下属性。

hive.security =哨兵

为Presto启用Apache Sentry后,还需要其他必需和可选属性才能进一步配置。您还可以在Apache Sentry Based Authorization中查看配置属性的完整列表。

组映射

Sentry管理角色权限和角色到用户组关联。Sentry不管理用户到用户组关联。因此,需要将使用Sentry的任何应用程序配置为能够确定用户的组。在Presto中,该sentry.group-mapping属性指定如何确定用户组。默认情况下,它设置为HADOOP_DEFAULT。有关其他可能的值,请参阅基于Apache Sentry的授权

有关Cloudera文档的更多信息,请参阅:

注意

可能需要重用现有sentry-site.xml配置,而不是在Hive连接器配置中设置新配置。要让Presto使用XML配置文件,请设置sentry.config.resources 为配置文件的文件位置sentry-site.xml

使用HADOOP_DEFAULT组映射并sentry.config.resources设置,并且提供的文件包含值时hadoop.security.group.mapping,将使用配置的用户组映射。如果未设置,sentry.config.resources Presto将使用Hadoop的默认行为,即从本地操作系统检索用户组。同样,在使用LDAP组映射并使用sentry.config.resources属性提供Hadoop配置文件时 ,您可以避免在Hive连接器配置中设置LDAP组映射属性。

授权信息

可以通过查询以下表来访问Sentry授权信息:

  • information_schema.roles- 返回有关所有现有角色的信息(相当于)SHOW ROLES
  • information_schema.applicable_roles - 返回授予当前用户的角色
  • information_schema.enabled_roles- 返回当前用户当前正在使用的角色列表(相当于)SHOW CURRENT USER
  • information_schema.table_privileges - 根据当前启用的角色返回授予用户的所有表权限

高速缓存

对远程过程调用Apache Sentry以及同步LDAP组有一些延迟。Presto包含一个缓存机制,以便后续调用可以在进行远程调用之前查看缓存。有关缓存属性及其默认值,请参阅基于Apache Sentry的授权。根据您的使用情况,您可能希望增加或减少默认ttl值。

故障排除

  • 如果你得到例外, 那么你需要确保使用正确。GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)sentry.service-principal
  • 如果你得到一个SentryAccessDeniedException则例外确保您的设置用户sentry.admin-user 属于上市任何团体sentry.service.admin.groupsentry-site.xml
  • 如果普雷斯托不能够连接到基于Kerberos的哨兵,你会得到一个异常 确保您添加的普雷斯托用户(从)以在。另外,确保字母外壳匹配。Peer indicated failure: Problem with callback handlersentry.client-principalsentry.service.allow.connectsentry-site
  • 确保您的sentry.server价值是正确的。它不是IP或主机名。它是Sentry中的服务器对象名称。

限制

Presto仅强制执行A​​pache Sentry策略。Presto不支持在Sentry中修改授权策略。这包括CREATE ROLE,GRANT或REVOKE等命令。如果您需要修改角色和权限,则必须通过其他工具(如Apache Hive或Hue)完成。Sentry Policy Files也不受支持。

本文转载自:https://docs.starburstdata.com/latest/security/sentry.html

hblt-j
粉丝 24
博文 218
码字总数 73000
作品 0
海淀
架构师
私信 提问
Apache Sentry实战之旅(一)—— Impala+Sentry整合

默认是以这个超级用户运行服务,执行和操作的,要实现不同用户之间细粒度的权限控制,需要与整合。是下的一个开源项目,它基于的授权模型实现了权限控制,与它整合以后,就能实现不同用户之间...

九州暮云
07/07
143
0
Hadoop Sentry 学习

什么是Sentry? Sentry 是Cloudera 公司发布的一个Hadoop开源组件,它提供细粒度基于角色的安全控制 Sentry下的数据访问和授权 通过引进Sentry,Hadoop目前可在以下方面满足企业和政府用户的...

幽芒
2014/08/06
3.8K
0
Apache Sentry 1.5.0 发布

Apache Sentry 是一个加强的细粒度的基于角色的授权系统,针对存储在 Hadoop 集群中的数据和元数据。 Apache Sentry 1.5.0 发布,此版本更新内容如下: 新特性 [SENTRY-74] - Add column-lev...

oschina
2015/04/16
1K
0
Apache Sentry 1.4.0-incubating 发布

Apache Sentry 是一个加强的细粒度的基于角色的授权系统,针对存储在 Hadoop 集群中的数据和元数据。 Apache Sentry 1.4.0-incubating 发布,此版本现已提供下载,更多内容请看发行说明。 **...

oschina
2014/08/20
1K
0
接入sentry-让你的错误别再裸奔

前言 前端项目目前发现错误的方法有哪些呢? 测试同学测出来。 缺点:现在浏览器版本、手机机型太多,兼容性问题很难测完全。另外有些项目流程非常长和复杂,测试同学不能确保每次都能覆盖1...

眉芳
08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos7 安装zabbix-agent

rpm -i https://repo.zabbix.com/zabbix/4.2/rhel/6/x86_64/zabbix-release-4.2-2.el6.noarch.rpm 可以到https://repo.zabbix.com/zabbix找到对应的版本 yum install zabbix-agent -y 出现E......

abowu
昨天
8
0
文本编辑器GNU nano 4.4 发布

GNU nano 4.4 "Hagelslag" 更新日志: 启动时,光标可以放在第一个或最后一个出现位置 字符串前面带有+/string 或 +?string的字符串。 发生自动硬包装时((--breaklonglines),任何前导引号...

linuxCool
昨天
7
0
你知道字节序吗

字节序 最近在调一个自定义报文的接口时,本来以为挺简单的,发现踩了好几个坑,其中一个比较“刻骨铭心”的问题就是数据的字节序问题。 背景 自定义报文,调用接口,服务端报文解析失败 iO...

杭城小刘
昨天
3
0
设计模式之依赖倒置原则

方法

东风破2019
昨天
6
0
关于如何通过模拟器完成模拟步数提升傻瓜式解决方案(囧)

因为对Android开发不太了解,也没去问朋友所以误打误撞找到的一个提升步数的解决方案,当然只是针对某安APP运动RUN的解决方式吧。 对Android不太了解,所以找了很多的解决方案来看看能不能破...

华山猛男
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部