Ranger 介绍

Ranger为Hadoop集群提供了全面数据和服务的安全保证。Ranger提供了以授权,认证,审计和数据保护为核心的中央安全管理策略来满足企业对安全的要求。

Ranger可以对Hadoop生态的组件如Hive,Hbase进行细粒度的数据访问控制。在Ranger的控制台,管理用户可以通过配置策略,轻松的控制用户访问HDFS的文件夹、文件,Hive、HBase的数据库、表、字段的权限。这些策略可以针对不同的用户和组进行设置,同时可以与Hadoop权限进行无缝对接。

安全问题

  • 合规安全: 法律法规、安全体系、安全标准、行业安全;

  • 基础安全: 物理环境安全、网络安全、系统安全、传输安全;

  • 服务安全: 数据清洗、数据检测、用户认证、行为审计、搜索治理、访问授权、权限分割;

  • 数据安全: 数据传输加密、底层数据加密、数据访问授权、数据销毁;

  • 操作安全: 安全运维、数据备份、灾难恢复、业务连续性。

概念&技术

  • ACL(Access Control List): ACL即Access Control List 主要的目的是提供传统的Owner、Group、Others的Read、Write、Execute权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行R,W,X的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。

  • LDAP(Lightweight Directory Acess Protocol)/AD(Active Directory): LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、WEB链结、JPEG图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP 之上的访问协议—LDAP。

  • Kerberos(KDC): Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(Ticket-Granting Ticket)访问多个服务,即SSO(Single Sign On)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全。Kerberos集成起来比较复杂,配置繁琐。用户权限的修改,机器的减容扩容,会造成证书要重新生成,再分发证书,重启hadoop,且需要解决单点和自身问题。

  • Knox: Apache Knox Gateway 项目的目的是为了简化和标准化发布和实现安全的 Hadoop 集群,拓展了Hadoop的安全边界,通过集中式的 REST APIs 访问服务,通过Apache Shiro(LDAP做数据源)为Hadoop相关项目的认证、授权(Service Level)和审计提供服务,它目前支持的服务有YARN、WebHDFS、WebHCat/Templeton、Oozie、HBase/Stargate、Hive (via WebHCat/JDBC),对终端用户屏蔽了主机及端口等信息,代码侵入性强,一旦Knox服务出现问题,很难回退。

  • Atlas: Apache Atlas 是一个可伸缩和可扩展的核心功能治理服务。企业可以利用它高效的管理 Hadoop 以及整个企业数据生态的集成。核心功能包括:数据分类、集中审计、搜索、安全和策略引擎。

Ranger 介绍

Ranger 架构

Ranger + Knox 架构

  • Administration

中央管理和一致的安全,为整个集群设置策略。

  • Authentication/Perimeter Security

认证服务。

  • Authorization

授权服务。

  • Audit

基于 Solr,提供审计服务。

  • Data Protection

数据保护,通过Ranger KMS组件。

WHAT RANGER DOES

Ranger可以对Hadoop生态的组件如Hive,Hbase进行细粒度的数据访问控制。在Ranger的控制台,管理用户可以通过配置策略,轻松的控制用户访问HDFS的文件夹、文件,Hive、HBase的数据库、表、字段的权限。这些策略可以针对不同的用户和组进行设置,同时可以与Hadoop权限进行无缝对接。

管理用户也可以使用Ranger来管理审计跟踪和政策分析对环境的更深层次的控制。该解决方案还提供了一个选项委托某些数据的管理与其他组拥有者,具有安全集中数据所有权的目的。

Ranger策略包括两个主要部分:资源,如HDFS文件/目录,Hive数据库/表/列,HBase的表/列族/列;规则,类似用户/组,访问类型和定制的条件下,对于该访问应被允许规范。

Ranger目前支持授权,认证,审核,数据对以下组件加密和安全管理:HDFS、YARN、Hive、HBase、Storm、Knox、Solr、Kafka。

  • HDFS: folder/file(recursive) - Read/Write/Execute

  • Hive: Database/Table/Column/UDF - Select/Update/Create/Drop/Alter/Index/Lock/All

  • HBase: Table/Column-family/Column - Read/Write/Create/Admin

  • Knox: Topology/Service - IP Address Range/Allow

  • Storm: Topology - Submit Topology/File upload/Get Nimbus Conf/Get Cluster info/File Download/Kill Topology/Rebalance/Activate/Deactivate/Get Topology Conf/Get Topology/Get User Topology/Get Topology Info/Upload New Credential

  • YARN: Queue - Submit-job/Admin-queue

  • Solr: Collection - Querry/Update/Others/Solr Admin

  • Kafka: Topic - Publish/Consume/Configure/Describe/Kafka Admin

HOW RANGER WORKS

RANGER是分散式架构,有下列内部组件:

  • Ranger Portal: 安全管理中心界面,用户可以创建和更新策略,然后将其存储在策略数据库。每个组件轮询这些策略以规则。还包括发送从HDFS插件用于存储或在关系数据库中收集的审核数据的审计服务器的内插件。

  • Ranger Plugins: 插件是轻量级的Java程序,嵌入群集每个组件的进程中。当用户请求通过该组件,这些插件拦截请求并评估其对安全策略。还插件收集来自用户的请求数据,并按照一个单独的线程来将此数据发送回服务器的审核。

  • User Group Sync: Ranger提供了一个用户同步工具从Unix或LDAP或AD用户和组。用户或组信息存储下来,并用于策略的定义。

  • Ranger KMS(Key Management Service)

    HDFS的静态数据加密,对读取和写入HDFS实现了端到端加密的数据。端到端加密意味着只通过客户端对数据进行加密和解密。HDFS本身没有访问加密数据的键。

    静态数据加密的加密方式有如下几种:AES/CTR/NoPadding - 128/256

    HDFS静态数据加密涉及以下几方面内容:

    1. 加密密钥:一个新的水平的访问保护,除了标准HDFS权限。
    2. HDFS加密区:一个特殊的HDFS目录中所有的数据都是加密的编写,并解密阅读。
    3. 每个加密区与一个加密密钥创建时指定的区域。
    4. 每个文件有一个独特的加密密钥,称为 “Data Encryption Key” (DEK)。
    5. HDFS没有DEKs。HDFS只看到一串加密字节。
    6. HDFS存储 “Encrypted Data Encryption Keys” (EDEKs)作为文件的元数据的一部分NameNode。
    7. 客户端解密EDEK和使用相关的DEK来加密和解密数据读写操作。

相关问题

网络,DWZ,防火墙,SSL,高可用,服务治理,挖掘分析,实时监控、分析,机器学习,用户系统集成,应用接口开发与对接(按阶段)