深入了解大数据安全组件Apache Ranger

Posted 勇敢羊羊在飞奔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入了解大数据安全组件Apache Ranger相关的知识,希望对你有一定的参考价值。

深入了解大数据安全组件Apache Ranger

一、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)

服务作用
KDCKerberos的服务端程序,用于验证各个模块
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等

以上是关于深入了解大数据安全组件Apache Ranger的主要内容,如果未能解决你的问题,请参考以下文章

Apache Ranger安装配置以及和LDAP集成

大数据平台之权限管理组件 - Aapche Ranger

Apache ranger 简介原理安装部署

大数据权限管理工具 Apache Ranger 初识

Apache Ranger及Hive权限控制

数据治理:数据安全管理Ranger初步认识