码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
深入了解大数据安全组件Apache Ranger
深入了解大
数据安全
组件Apache Ranger
一、Ranger基本架构
二、工作过程
三、Ranger核心特性
四、大数据安全方案
1.Kerberos
2.Apache Sentry
一、
Ranger
基本架构
Ranger UserSync:定期将Unix系统或LDAP或Active Directory中的用户/组同步到RangerAdmin中。也可用作RangerAdmin的身份验证服务器,以使用linux用户/密码登陆到RangerAdmin。
Ranger Admin Server:用于管理安全策略、用户/组的UI门户并提供Rest Server。一般简称Ranger Admin。
AgentPlugin:插件是嵌入到Hadoop各个组件的轻量级java程序。插件定期从AdminServer拉取策略,存储在本地文件中。当用户访问Hadoop组件时,插件会拦截请求根据策略进行安全评估,并且定期发送数据到审计服务器做记录。
Ranger KMS:对hadoop KMS的策略管理和密钥管理
二、工作过程
整个工作过程如下:
三、Ranger核心特性
集中安全管理,在中央UI或使用REST API管理所有与安全相关的任务。
精细授权,使用Hadoop组件/工具执行特定动作或操作,并通过集中管理工具进行管理。
标准化所支持的Hadoop组件的授权方法。
增强了对不同授权方法的支持:基于角色的访问控制,基于属性的访问控制,基于Tag的访问控制。
在所支持的Hadoop组件中集中审计用户访问和管理操作(与安全相关)
支持和kerberos的集成
四、大数据安全方案
业界比较常见的大数据安全方案主要有三种:
Kerberos(业界比较常用的方案)
Apache Sentry
Apache Ranger
1.Kerberos
Kerberos是一种基于对称密钥的身份认证协议,它作为一个独立的第三方的身份认证服务,可以为其他服务提供身份认证功能,且支持SSO(即客户端身份认证后,可以访问多个服务如HBase/HDFS)
服务
作用
KDC
Kerberos的服务端程序,用于验证各个模块
Client
需要访问服务的用户,KDC和Service会对用户的身份进行认证
Service
集成了Kerberos的服务,如HDFS/YARN/HBase等
Kerberos协议过程主要有三个阶段:
第一个阶段:Client向KDC申请TGT(Ticket Granting Ticket,认购权)
第二个阶段:Client通过获得的TGT向KDC申请用于访问Service的Ticket
第三个阶段:Client用返回的Ticket访问 Service
优点:
服务认证,防止broker datanode regionserver等组件冒充加入集群
解决了服务端到服务端的认证,也解决了客户端到服务端的认证
缺点:
kerberos为了安全性试验临时ticket,认证信息会失效,用户多数情况下重新认证繁琐
kerberos只能控制你访问或者拒绝访问一个服务,不能控制到很细的粒度,比如hdfs的某一个路径,hive的某一个表,对用户级别上的认证并没有实现(需要配合LDAP)
总结:
Kerberos更专注的是通用的认证解决方案,但是对授权以及其他安全方面的管理功能并不擅长,例如细粒度权限、审计等
2.Apache Sentry
Apache Sentry是Hadoop之上的基于角色的细粒度授权模块。
Sentry为在Hadoop集群上运行的经过身份验证的用户和应用程序提供数据访问授权。
目前Sentry已经支持Apache Hive、Apache Solr、Apache Kafka、Apache Impala和HDFS。
Sentry是基于角色的,所以在使用Sentry时需要创建Role,然后通过Role映射到OS或者AD中的Group,然后再映射到访问Hadoop的最终用户。
可以使用Sentry来限制用户对DB、TABLE、COLUMN或URI的访问,权限设定可以通过Hive或Impala的命令行接口执行Sentry相关命令来实现。
优点:
Sentry支持细粒度的hdfs元数据访问控制,对hive支持列级别的访问控制
Sentry通过基于角色的授权简化了管理,将访问同一数据集的不同特权级别授予多个角色
Sentry提供了一个统一平台方便管理
Sentry支持集成kerberos
缺点:
组件只支持hive、hdfs、impala,不支持hbase、yarn、kafka、storm等
相关阅读:
滴滴 OrangeFS 数据湖存储关键技术揭秘!
k8s笔记 | StatefulSet 有状态
代码模版-实现重置按钮清空表单数据,vue+elementUI
深入浅出的算法设计与分析技巧解读(软件设计师笔记)
y86.第四章 Prometheus大厂监控体系及实战 -- prometheus存储(十七)
ROS服务(Service)通信:通信模型、Hello World与拓展
推荐一款管理系统专用低代码工具,一天开发一个系统不是梦
sql 统计新客户
一起Talk Android吧(第四百一十二回:Math类常用方法介绍)
【经验分享】Ubuntu如何设置swap交换
原文地址:https://blog.csdn.net/zhengzaifeidelushang/article/details/127806268
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号