Ranger 和 Ranger Audit 审计功能模块介绍

目录

一、Ranger 介绍

1、Ranger概念

2、权限模型

二、Ranger Aduit审计功能模块详解

1、Ambari 中 Ranger config

2、Ranger Audit 功能模块介绍


一、Ranger 介绍

1、Ranger概念

Ranger 使用了一种基于属性的方法定义和强制实施安全策略。当与 Apache Hadoop 的数据治理解决方案和元数据仓储组件Apache Atlas一起使用时,它可以定义一种基于标签的安全服务,通过使用标签对文件和数据资产进行分类,并控制用户和用户组对一系列标签的访问。

Ranger 的总体架构如下图所示,主要由以下三个组件构成:

  • AdminServer: 以RESTFUL形式提供策略的增删改查接口,同时内置一个Web管理页面。
  • AgentPlugin: 嵌入到各系统执行流程中,定期从AdminServer拉取策略,根据策略执行访问决策树,并且定期记录访问审计。插件的实现原理将在后文详细介绍。
  • UserSync: 定期从LDAP/File中加载用户,上报给AdminServer。

ranger针对组件内的权限 ,比如HDFS的读写执行,Hive和Hbase的读写更新,yarn的队列资源使用权、任务提交权限,目前ranger支持 hdfs,hive,hbase,kafka,yarn等组件,针对于组和用户对资源的访问权限进行细粒度的控制。

  • user: Ranger自己管理的用户,分为 internal 和 external,前者为Ranger自己的用户,例如admin;后者为linux或者LDAP的用户,在操作系统/LDAP里新增用户后会同步到Ranger
  • group: Ranger自己管理的用户组,也有内外之分,与user类似,设置与LDAP同步后会将LDAP的组同步过来,该组为外部组;如果是Ranger自己的用户新增的组,则为internal组。
  • Service: 即授权管理服务,每个组件可以设置多个Service。
  • Policy: 每个Service中可以有多条Policy,组件不同,Policy授权模型不同。

Ranger主要提供如下特性:

  • 基于策略(Policy-based)的访问权限模型
  • 通用的策略同步与决策逻辑,方便控制插件的扩展接入
  • 内置常见系统(如HDFS、YARN、HBase等12个)的控制插件,且可扩展
  • 内置基于LDAP、File、Unix的用户同步机制,且可扩展
  • 统一的中心化的管理界面,包括策略管理、审计查看、插件管理等

2、权限模型

访问权限无非是定义了”用户-资源-权限“这三者间的关系,Ranger基于策略来抽象这种关系,进而延伸出自己的权限模型。”用户-资源-权限”的含义详解:

  • 用户:由User或Group来表达,User代表访问资源的用户,Group代表用户所属的用户组。
  • 资源:由Resource来表达,不同的组件对应的业务资源是不一样的,比如HDFS的File Path,HBase的Table。
  • 权限:由(AllowACL, DenyACL)来表达,类似白名单和黑名单机制,AllowACL用来描述允许访问的情况,DenyACL用来描述拒绝访问的情况。不同的组件对应的权限也是不一样的。

二、Ranger Aduit审计功能模块详解

1、Ambari 中 Ranger config

1.Ranger Admin

说明:Ranger Amin  使用 mysql 存放 admin 的元数据信息

2.Ranger User Info

说明:下图是Ambari 中 Ranger的 config之 Ranger user info , Ranger 支持从UNIX、FILE、LDAP同步用户信息,LINUX平台创建好用户后会同步到Ranger,默认是从操作系统同步的,反之 Ranger创建的用户不能同步到操作系统。

3.Ranger Plugin 

4.Ranger Audit

Ranger Audit: Ranger 审计功能  , Ranger 的审计日志存储在HDFS的路径。审计功能模块可以帮助我们更好的管理集群组件,例如 HDFS、HBase、Hive 等数据资源的访问在使用 Ranger 控制的同时也可以很好地监控、查询用户的历史操作,做到有证可查。

Audit log  在 HDFS中的存储路径

5.Ranger Tagsync 

Aparche Atlas 数据治理项目,该项目用于管理共享元数据、数据分级、审计、安全性以及数据保护等方面,努力与Apache Ranger整合,用于数据权限控制策略。

2、Ranger Audit 功能模块介绍

1.Audit Access

说明:对 kangll 用户创建的 policy ,在没有创建policy 之前  kangll 用户对集群组件的操作也是被记录的,不过权限不允许而已。Kangll 用户在 Hive中 执行了查询操作,而且这个权限的执行结果是被允许的。  

说明:Kangll 用户在 Ranger 审计功能模块的操作记录,针对kangll 用户对 HDFS 下的 /kangll 文件夹的写操作是被允许的。 

 2.Audit Admin

说明:Ranger Admin 用户的 操作记录,就是 我们 登录时候所用的用户

 3.Audit Login Sessions

4.Audit Plugins

5.Audit Plugin Status

6.Audit User Sync

图中可以看到,Ranger 默认每分钟 会从 默认的 Unix 操作系统同步 用户,拿到这个用户 ,这个用户对集群组件的操作就可以在 Access 中 看到了。

参考链接:https://www.jianshu.com/p/d0bf6e77bb8f

猜你喜欢

转载自blog.csdn.net/qq_35995514/article/details/107227468