首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0742-什么是Apache Ranger - 2

0742-什么是Apache Ranger - 2

作者头像
Fayson
发布2020-02-10 10:17:16
1.2K0
发布2020-02-10 10:17:16
举报
文章被收录于专栏:Hadoop实操Hadoop实操

作者:Eric Lin (林晨辉), Cloudera高级售后技术支持工程师。毕业于Monash大学计算机科学, Sir John Monash的奖学金获得者。曾就业于数据收集公司如Hitwise(现为Experian的子公司)和Effective Measure,担任高级工程师,负责设计,开发和管理用于采集, 处理和报告网络数据的平台(基于PHP,Java和CDH)。现任职Cloudera, 担任高级售后技术支持工程师,主要擅长解决在CDH生态系统中出现的各种疑难杂症。

在上一篇文章中,我快速介绍了Ranger提供的主要功能,Ranger和Sentry的主要区别,以及Cloudera在新产品CDP中选择Ranger而不是Sentry的主要原因。具体可以参考上一篇文章《0741-什么是Apache Ranger - 1》。

在这第二篇文章中,我会介绍Ranger的一些基础架构,组成整个Ranger产品的其它部件。

首先我们看一下Ranger内部的所有部件:

  • Ranger Admin Server/Portal
  • Ranger Policy Server
  • Ranger Plugins
  • Ranger User/Group Sync
  • Ranger Tag Sync
  • Ranger Audit Server

下面这张架构图展示了每个部件之间的关系:

以下我们看看每个部件的更多细节。

Ranger Admin Server/Portal

  • 安全管理的集中接口
  • 管理员可以
    • 定义repositories
    • 创建和更新策略
    • 管理Ranger用户/组
    • 定义审计策略
    • 查看审计事件
  • 运行在Tomcat服务中
  • 提供Ranger API

Ranger Policy Server

  • 允许管理员定义/更新策略细节
  • 允许管理员指定哪些用户是代理管理员,谁可以访问修改策略
  • 策略可以分为不同的安全区域
    • 一种资源只能分配给一个安全区域
    • 如果资源匹配,则仅检查已定义区域中的策略
    • 如果没有资源匹配,则将使用默认区域(无名称)下的策略
  • 同时支持allow和deny策略
    • 拒绝策略会先于允许前检查
  • 策略适用于用户或组

Ranger User/Group Sync

  • 同步程序会拉取用户和用户组,它支持从以下源同步用户/组:
    • Unix
    • LDAP
    • AD
  • 用户/组信息存储在Ranger管理策略数据库中,并用于策略定义

Ranger Plugins

  • 安装在Hadoop组件中的轻量级的Java组件,比如安装到HDFS或Hive中。
  • 定期从Admin Server提取策略并本地缓存
  • 充当授权模块并根据安全策略评估用户请求
    • 如果未找到策略,则回退使用HDFS ACLs,同时拒绝所有其他组件的访问
  • 触发审计数据存储请求(同时发送到HDFS和Solr)

Ranger Audit Server

  • 通过策略配置审计(用户指定是否需要启用审计,如果适用此策略)
  • 默认情况下,审计数据存储在HDFS和Solr中
    • Solr中的数据将用于在Ranger admin UI中显示审计数据
    • HDFS中的数据作为备份,不会被使用(就我目前的了解)
    • 从0.5开始不再支持审计数据存储在DB中
  • 支持审计日志摘要(Audit Log Summarisation)
    • 从Apache Ranger0.5开始
    • 在定义的期间内,只有时间戳不同的相似日志将汇总到单个审计条目中,以避免大量审计日志
    • 默认为5秒

Ranger Tag Sync

  • 从Apache Ranger 0.6开始
  • 它将资源分类与访问授权分开
  • 只要资源附加了相同的标签,就可以将一个标签策略应用于多个组件
    • 帮助减少Ranger中所需的策略数量
  • 需要Apache Atlas来管理元数据(Hive数据库/表,HDFS路径,Kafka Topic和标签/分类等)
  • 基于事件
    • Hive等中的任何更改都会将事件发送到Kafka topic(ATLAS_HOOK),然后Atlas将获取更改
    • Atlas中的任何更改都会将事件发送到Kafka topic(ATLAS_ENTITIES),然后Ranger Tag Sync将获取更改
  • 标签策略将在基于资源的策略之前进行评估

如你所见,Ranger内部还包括很多其它部件,根据本文的描述应该能让你对Ranger的整体功能有一个清晰的了解。

原文参考:

https://www.ericlin.me/2020/01/introduction-to-apache-ranger-part-ii/
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档