Apache Ranger 的架构是怎样的?

前言

本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见大数据技术体系


概览

首先,让我们列出Ranger中的所有组件:

  • Ranger 管理服务器/门户(Ranger Admin Server/Portal)
  • Ranger 策略服务器(Ranger Policy Server)
  • Ranger 插件(Ranger Plugins)
  • Ranger 用户/组同步(Ranger User/Group Sync)
  • Ranger 标签同步(Ranger Tag Sync)
  • Ranger 审计服务器(Ranger Audit Server)

以下是一个不错的架构图,显示了每个组件之间的关系:

Apache Ranger 的架构是怎样的?_第1张图片


现在,让我们更详细地了解每个组件的作用。

Ranger 管理服务器/门户

  • 安全管理的中央接口
  • 管理员用户可以
    • 定义存储库
    • 创建和更新政策
    • 管理 Ranger 用户/组
    • 定义审计政策
    • 查看审计活动
  • 它运行嵌入式Tomcat服务器
  • 提供 Ranger API

Ranger 策略服务器

  • 允许管理员用户定义/更新策略详细信息
  • 允许管理员用户指定哪些用户是委托管理员,他们可以访问修改策略
  • 政策可以分为不同的安全区
    • 一个资源只能分配给一个安全区
    • 如果资源匹配,只会检查定义区域中的策略
    • 如果没有匹配资源,将使用默认区域(无名称)下的策略
  • 支持允许和拒绝政策
    • 在允许之前,将检查拒绝策略
  • 策略可以适用于用户或组级别

Ranger用户/组同步

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

Ranger 插件

  • 轻量级 Java 程序将安装在 Hadoop 组件中,如 HDFS 或 Hive
  • 定期从管理服务器中提取策略并在本地缓存
  • 作为授权模块,并根据安全策略评估用户请求
  • 如果没有找到策略,HDFS 请求将回退到 HDFS ACL,所有其他组件的访问将被拒绝
  • 触发审计数据存储请求(HDFS和Solr)

Ranger 审计服务器

  • 审计是通过策略配置的(如果适用此策略,用户指定是否需要启用审计)
  • 默认情况下,审计存储在 HDFS 和 Solr 中
    • Solr 中的数据将用于在 Ranger 管理 UI 中显示审计数据
    • HDFS 中的数据作为备份,不会使用
    • 自 0.5 以来,不再支持 DB 中的审计
  • 支持审计日志汇总
    • 自 Apache Ranger 0.5
    • 定义期限内仅因时间戳而差异的类似日志将被汇总到单个审计条目中,以避免大量审计日志
    • 默认为 5 秒

Ranger 标签同步

  • 自 Apache Ranger 0.6 开始
  • 它将资源分类与访问授权分开
  • 只要资源附加相同的标签,就可以有一个标签策略应用于多个组件
    • 有助于减少 Ranger 所需的策略数量
    • 需要 Apache Atlas 管理元数据(Hive DB/Tables、HDFS 路径、Kafka 主题和标签/分类等)
  • 基于事件
    • Hive 等中的任何更改都将向 Kafka 主题(ATLAS_HOOK)发送事件,然后 Atlas 将接收更改
    • Atlas 中的任何更改都将向 Kafka 主题(ATLAS_ENTITIES)发送事件,然后 Ranger Tag Sync 将接收更改
  • 在基于资源的策略之前,将对标签策略进行评估

关于 Apache Atlas 请参考我的博客——Apache Atlas 是什么?

你可能感兴趣的:(大数据技术体系,apache,hadoop,架构,Ranger,Atlas)