Apache Ranger系列六:Submarine Spark Security Plugin安装(0.6.0版本)
参考 https://submarine.apache.org/zh-cn/docs/0.6.0/userDocs/submarine-security/spark-security/
从ranger的github地址https://github.com/apache/ranger中可以发现当前ranger并没有提供专门的Ranger Spark插件。
当然我们还可以通过Ranger HDFS插件做存储级别的权限控制,但是这种方式不利于做更细粒度(表,字段)的权限控制或者data masking的。
submarine-spark-security 支持基于标准SQL方式的Spark鉴权,包括:
- Table/Column级别的鉴权;(注:Database级别的鉴权功能没有问题,但有两点地方需要注意:1需要提前配置spark_catalog的权限;2可以use没有权限的库,但是后续鉴权会报错)
- Row级别的过滤;
- Data masking
编译
git clone -b release-0.6.0-RC0 https://github.com/apache/submarine
mvn clean package -Dmaven.javadoc.skip=true -DskipTests -pl :submarine-spark-security -Pspark-3.0 -Pranger-2.1
支持的版本如下:
Spark: -Pspark-2.3, -Pspark-2.4, -Pspark-3.0
Ranger: -Pranger-1.2, -Pranger-2.0
直接看代码,-Pranger-2.1是已经支持了的
下面介绍下两个配置文件
ranger-spark-security.xml
<configuration>
<property>
<name>ranger.plugin.spark.policy.rest.url</name>
<value>ranger admin address like http://ranger-admin.org:6080 可以配置多个,用逗号','隔开</value>
</property>
<property>
<name>ranger.plugin.spark.service.name</name>
<value>a ranger hive service name</value>
</property>
<property>
<name>ranger.plugin.spark.policy.cache.dir</name>
<value>./a ranger hive service name/policycache</value>
</property>
<property>
<name>ranger.plugin.spark.policy.pollIntervalMs</name>
<value>5000适当调整一下</value>
</property>
<property>
<name>ranger.plugin.spark.policy.source.impl</name>
<value>org.apache.ranger.admin.client.RangerAdminRESTClient</value>
</property>
</configuration>
ranger-spark-audit.xml (审计的相关配置)
官网虽然提供了模版,最好可以将ranger-hive-plugin安装后的ranger-hive-audit.xml改个名字ranger-spark-audit.xml
安装
sudo sed -i '$aspark.yarn.stagingDir /user/ranger/spark/staging' /etc/spark/conf/spark-defaults.conf
sudo sed -i '$aspark.sql.extensions=org.apache.submarine.spark.security.api.RangerSparkSQLExtension' /etc/spark/conf/spark-defaults.conf sudo sed -i "s|# livy.impersonation.enabled true|livy.impersonation.enabled true|g" /etc/livy/conf/livy.conf sudo cp submarine-spark-security-0.6.0.jar /usr/lib/spark/jars/
sudo cp ranger-spark-audit.xml /usr/lib/spark/conf/
sudo cp ranger-spark-security.xml /usr/lib/spark/conf/ sudo systemctl restart livy-server.service
Apache Ranger系列六:Submarine Spark Security Plugin安装(0.6.0版本)的更多相关文章
- 小白学习Spark系列六:Spark调参优化
前几节介绍了下常用的函数和常踩的坑以及如何打包程序,现在来说下如何调参优化.当我们开发完一个项目,测试完成后,就要提交到服务器上运行,但运行不稳定,老是抛出如下异常,这就很纳闷了呀,明明测试上没问题, ...
- Apache Kafka系列(六)客制化Serializer和Deserializer
已经迁移,请移步:http://www.itrensheng.com/archives/apache-kafka-repartition
- Spark 系列(十六)—— Spark Streaming 整合 Kafka
一.版本说明 Spark 针对 Kafka 的不同版本,提供了两套整合方案:spark-streaming-kafka-0-8 和 spark-streaming-kafka-0-10,其主要区别如下 ...
- apache ignite系列(六): 服务网格
简介 服务网格本质上还是远程方法调用(RPC),而在ignite中注册的服务本质体现还是以cache的形式存在,集群中的节点可以相互调用部署在其它节点上的服务,而且ignite集群会负责部署服务的 ...
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- Apache Shiro系列之五,概述 —— 配置
Shiro设计的初衷就是可以运行于任何环境:无论是简单的命令行应用程序还是复杂的企业集群应用.由于运行环境的多样性,所以有多种配置机制可用于配置,本节我们将介绍Shiro内核支持的这几种配置机制. ...
- ActiveMQ(5.10.0) - Building a custom security plug-in
If none of any built-in security mechanisms works for you, you can always build your own. Though the ...
- Apache Ranger对HDFS的访问权限控制的原理分析(一)
介绍 Aapche Ranger是以插件的形式集成到HDFS中,由Ranger Admin管理访问策略,Ranger插件定期轮询Admin更新策略到本地,并根据策略信息进行用户访问权限的判定.Rang ...
- Spark学习之路 (六)Spark Transformation和Action
Transformation算子 基本的初始化 java static SparkConf conf = null; static JavaSparkContext sc = null; static ...
随机推荐
- maven(web)项目,不自动出现overlays的上级web项目
不自动出现overlays目录,如下: 上面选择一项, 最后部署至tomcat或是其他中间件上面,overlays的上关联的上级项目就会出现
- jquery的网络引用地址
http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min ...
- holiday09
第九天 ping # 检测目标主机是否连接正常 $ ping IP地址 # 检测本地网卡工作正常 $ ping 127.0.0.1 ping 一般用于检测当前计算机到目标计算机之间的网络 是否通畅,数 ...
- AJAX-动力节点
AJAX(Asynchronous Javascript And Xml) 传统请求及缺点 传统的请求都有哪些? 直接在浏览器地址栏上输入URL. 点击超链接 提交form表单 使用JS代码发送请求 ...
- NIO基本介绍
同步和异步,同步指的是应用程序会直接参与IO读写操作,用阻塞或者长轮询的方式来获取数据.异步指的是IO交给操作系统,完成IO读写后通知程序,程序直接拿走数据. BIO:同步阻塞式IO,服务器实现模式为 ...
- rdlc报表需要显示的时间格式
[仅取当前时间的年月日]=FormatDateTime(System.DateTime.Now.ToLongDateString().ToString()) [仅取数据库保存的时间的年月日]=form ...
- 重写mybatis-plus的saveUpdate方法
重写mybatis-plus的saveUpdate方法 1.问题出现 同步外部数据的时候,如果需要同步逻辑删除的数据,mybatis-plus的saveOrUpdate||saveOrUpdateBa ...
- PTA1002 写出这个数 (20 分)
1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 1 ...
- Oracle “ORA-12154: TNS: 无法解析指定的连接标识符”错误------网络摘录
相信使用过Oracle数据库的人一定碰到过"ORA-12154: TNS: 无法解析指定的连接标识符"错误,我在此做一个小小的总结. 在程序中连接Oracle数据库的方式与其他常用 ...
- Java流程控制1
Scanner对象 java.util.Scanner 通过Scanner类来获取用户输入 next()和nextline()来获取输入的字符串,读取前我们一般需要使用hasnext()和hasnex ...