Ranger学习

目录

各种安全组件对比

常见大数据权限方案:
1、Kerberos(开源常用方案,业界比较常用的方案)
2、Apache Sentry(Cloudera 选用的方案,CDH 版本中集成,CDP 中已经换成了Ranger)
3、Apache Ranger(Hortonworks 选用的方案,HDP 发行版中集成)

kerberos:
Kerberos 是一种基于对称密钥的身份认证协议,它作为一个独立的第三方的身份认证服务,可以为其
它服务提供身份认证功能,且支持 SSO(即客户端身份认证后,可以访问多个服务如 HBase/HDFS 等)。 就是找kerberos置换token, 拿到token后就能干其他事情了。
Ranger学习
Kerberos 协议过程主要有三个阶段:

  1. 第一个阶段 Client 向 KDC 申请 TGT(Ticket Granting Ticket,认购权)
  2. 第二个阶段 Client 通过获得的 TGT 向 KDC 申请用于访问 Service 的 Ticket
  3. 第三个阶段 Client 用返 回的 Ticket 访问 Service
    优点:
    1、服务认证,防止 broker datanode regionserver 等组件冒充加入集群
    2、解决了服务端到服务端的认证,也解决了客户端到服务端的认证
    缺点:
    1、kerberos 为了安全性使用临时 ticket,认证信息会失效,用户多数情况下重新认证繁琐
    2、kerberos 只能控制你访问或者拒绝访问一个服务,不能控制到很细的粒度,比如 HDFS 的某一个路
    径,Hive 的某一个表,对用户级别上的认证并没有实现(需要配合LDAP)
    总结:
    Kerberos 更专注的是通用的认证解决方案,但是它对授权以及其他安全方面的管理功能并不擅长、例如细粒
    度权限、审计等。往往跟 Ranger 或者 Sentry 结合使用各取所长。

Apache Sentry:
Apache Sentry 是 Hadoop 之上的基于角色的细粒度授权模块。它为在 Hadoop 集群(特别是CDH)
上运行的经过身份验证的用户和应用程序提供数据访问授权。目前 Sentry 已支持 Apache Hive,
Apache Solr,Apache Kafka,Apache Impala 和 HDFS (仅限于 Hive 表的 HDFS 数据权限同步)。
Ranger学习
优点:
1、Sentry 支持细粒度的 HDFS 元数据访问控制,对 hive 支持列级别的访问控制
2、Sentry 通过基于角色的授权简化了管理,将访问同一数据集的不同特权级别授予多个角色
3、Sentry 提供了一个统一平台方便管理
4、Sentry 支持集成 Kerberos
缺点:
1、组件只支持 hive,hdfs,impala
2、不支持 hbase,yarn,kafka,storm 等

Sentry VS Ranger
Ranger学习
Ranger学习

概述

Apache Ranger 是 Hadoop 平台上操作、监控、管理数据安全的集中式安全管理框架。Ranger 的愿景是在 Apache Hadoop 生态系统中提供全面的安全性。
目前,Apache Ranger 支持以下 Apache 项目的细粒度授权和审计:
Apache Hadoop/HDFS
Apache Hadoop/YARN
Apache Hive
Apache HBase
Apache Storm
Apache Knox
Apache Solr
Apache Kafka
Apache Nifi

Ranger 通过访问控制策略提供了一套标准的授权方法,改变了 Hadoop 上各个组件各自为政分散管理权限的现状。
作为标准,Ranger 提供了集中式的组件,用于审计用户的访问行为和管理组件间的安全交互行为。

Ranger架构

Ranger学习
Ranger学习

工作过程

Ranger学习

Ranger核心特性

1、集中安全管理,在* UI 或使用 REST API 管理所有与安全相关的任务。
2、精细授权,使用 Hadoop 组件/工具执行特定动作或操作,并通过集中管理工具进行管理。
3、标准化所支持 Hadoop 组件的授权方法。
4、增强了对不同授权方法的支持:基于角色的访问控制,基于属性的访问控制,基于 Tag 的访问控制(需结
合Atlas)等
5、在所支持的 Hadoop 组件中集中审计用户访问和管理操作(与安全相关)
6、支持和 Kerberos 的集成

上一篇:Sentry 监控 - Snuba 数据中台架构(SnQL 查询语言简介)


下一篇:Sentry 监控 - Snuba 数据中台架构(编写和测试 Snuba 查询)