热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheRanger安装配置以及和LDAP集成

导语Ranger是Hadoop平台的集中式安全管理框架,能够为hadoop平台组件提供细粒度的访问控制。通过Ranger,Hadoop管理员能够轻松地管理各种安全策略,包括:访问文

导语

Ranger是Hadoop平台的集中式安全管理框架,能够为hadoop平台组件提供细粒度的访问控制。通过Ranger, Hadoop管理员能够轻松地管理各种安全策略,包括:访问文件/文件夹,数据库,Hive表,列, Hbase, YARN等。此外,Ranger还能进行审计管理,以及策略分析,从而为Hadoop环境的深层次分析提供支持。
目前,Ranger支持对以下的Hadoop组件:HDFS, HBase, Hive, Yarn, Knox, Storm, Solr, Kafka。
本文主要介绍如何在Ambari环境下安装Ranger,如何配置Ranger使之与LDAP集成,如何通过配置Ranger策略完成访问控制。

1. Ranger介绍

Apache Ranger目前是Apache下的顶级项目,目的是通过制定策略(policies)实现对Hadoop组件的集中式安全管理。用户可以通过Ranager实现对集群中数据的安全访问。
Ranger由三个模块组成:

  • Ranger portal: 提供给用户进行安全管理的界面

  • Ranger plugin: 嵌入在需要安全控制的组件进程中,提供两种功能:从Ranger server中把用户配置的安全策略拉取到本地,当用户访问请求到来时,根据安全策略判断该用户是否有权限访问;从本地将用户访问的纪录返回给Ranger服务进行审计。

  • User group sync: 提供从OS, LDAP, Active Directory拉取用户和用户组的功能。同步到的用户和用户组能够展示在Ranger portal中

2. HDP2.4 Ambari环境下安装Ranger

安装前置条件

  • 必须已经使用Ambari部署Hadoop集群
    使用Ambari安装Ranger只能在安装Hadoop之后使用add service的方式将Ranger安装在集群中。因为在使用Ambari部署Hadoop集群时,在service列表中没有Ranger。

  • 集群中已经安装了数据库
    目前Ranger支持mysql, oracle, postgres, mssql, sqlanywhere等。建议在Ambari环境下使用Ambari server 安装的postgres数据库。

  • 在Ambari server上执行
    ambari-server setup –jdbc-db={database-type} –jdbc-driver={/jdbc/driver/path}
    其中database-type为所用的数据库类型,/jdbc/driver/path为jdbc driver路径。
    步骤为:

    • 检查/usr/share/java目录下是否有postgres jdbc driver文件 /usr/share/java/postgresql-jdbc.jar。如果没有,从postgres安装目录下拷贝至此目录。

    • 执行
      ambari-server setup –jdbc-db=postgres –jdbc-driver=/usr/share/java/postgresql-jdbc.jar

安装Ranger

  • 打开Ambari,在Actions下点击Add Service,在打开的服务列表里,勾选Ranger,点击next

  • 在安装配置页面,Ranger Admin下,

    • DB FLAVOR 选择POSTGRES
    • Ranger DB host 选择Postgres安装的主机名
    • Ranger DB password 输入Postgres DB的密码
    • DBA username改为postgres, DBA password输入密码
    • JDBC connect string 例如: jdbc:postgresql://ochadoop06.novalocal:5432/postgres

    配置完成后,点击Test Connection。如果返回没有权限,一般是因为在postgres的配置里面没有把该机器的访问权限配置。
    需要在安装postgres的机器上配置/var/lib/pgsql/data/pg_hba.conf,增加需要访问的机器权限,例如:host all postgres 192.168.1.11/24 ident
    然后重启postgres.

  • 在Ranger User Info配置下,主要是配置是否从LDAP读取用户组,此项配置可以在安装完成后再进行配置。

  • 在Ranger Audit配置下,主要对Ranger audit log的存放位置进行配置。

    • 如果集群中已经安装了Solr,可以打开Solr选项,ranger.audit.solr.urls为solr core的地址,例如:http://ochadoop06.novalocal:8983/solr/ranger_audits
      ranger.audit.solr.username 使用默认,ranger.audit.solr.password输入创建密码。

    • 打开HDFS配置,Ranger audit log可以自动保存在HDFS中以便长期保存。Destination HDFS Directory为HDFS保存的地址,例如:hdfs://ochadoop06.novalocal:8020/ranger/audit

    • 打开DB配置,把audit log保存在DB中.

3. Ranger配置

Ranger配置LDAP

Ranger用来获取用户和组的模块叫做User group sync,可以配置获取Unix,LDAP或者AD的用户和组。

  • Ranger User Info配置

    打开Ambari Ranger配置页面里的Ranger User Info选项。

    • Enable User Sync 置为 Yes
    • Sync Source 选择 LDAP/AD

    打开Cmmon Configs

    • LDAP/AD URL,输入LDAP URL。例如:ldap://192.168.1.15:389
    • Bind Anonymous 置为 No
    • Bind User,输入LDAP的管理员用户。例如:cn=root,dc=asiainfo,dc=com
    • Bind User Password,输入上面LDAP的管理员密码。

    打开User Configs

    • Username Attribute,输入cn
    • User Object Class,这个根据LDAP配置决定,一般可以配为person,user,或者posixAccount。
    • User Search Base,输入ou=People,dc=asiainfo,dc=com
    • User Search Filter,输入cn=*
    • User Search Scope,输入sub
    • User Group Name Attribute,输入memberof。这个根据LDAP配置决定,一般需要LDAP支持memberof属性。
    • Group User Map Sync,置为Yes。

    打开Group Configs

    • Enable Group Sync,置为Yes。
    • Group Member Attribute,输入 memberUid。
    • Group Name Attribute,输入 cn。
    • Group Object Class,输入posixGroup。这个根据LDAP配置决定,需要查看LDAP的group object class。一般为group或者posixGroup。
    • Group Search Base,输入ou=Group,dc=asiainfo,dc=com
    • Group Search Filter,输入cn=*
  • Advanced配置

    Ranger Settings

    • Authentication method,选择LDAP

    LDAP Settings

    • ranger.ldap.base.dn,设为LDAP的dn,例如:dc=asiainfo,dc=com
    • ranger.ldap.group.roleattribute,设为cn
    • ranger.ldap.user.dnpattern,设为uid={0},ou=People,dc=asiainfo,dc=com,其中ou=People,dc=asiainfo,dc=com为LDAP 的用户类别。
  • 根据上述配置好后,使用Ambari重启Ranger,打开Ranger界面。在Settings下的的Users/Groups可以查看到已经同步到的LDAP用户和用户组。如果用户和用户组没有同步到,应该是配置的有问题,可以通过Ranger提供的LDAP检查工具进行检查。

    • 进入工具目录,/usr/hdp/current/ranger-usersync/ldaptool
    • 配置conf/input.properties,其中的参数根据Ambari上配置的Ranger LDAP配置。
    • 执行./run.sh -r groups -i conf/input.properties 获取用户组信息,-r users返回用户信息,-r all 返回用户和用户组信息。返回的结果在output/ ldapConfigCheck.log中。

Ranger配置Audit log

  • Ranger Audit配置
    打开Ambari Ranger Configs下的Ranger Audit,

    • Audit to DB,置为Yes。设置Data base 密码。这样的目的是使Ranger将log存放在DB中。
  • ranger.audit.source.type

    打开Advanced下的Advanced ranger-admin-site,将ranger.audit.source.type设为db。这样的目的是Ranger Admin从DB读取audit log。

Enable Ranger Plug-in

进入Ranger Plugin配置页面,打开需要使用Ranger进行安全控制的组件。例如hdfs,yarn,hive。


推荐阅读
  • 大数据技术原理与应用:大数据处理架构Hadoop生态圈
    Hadoop生态圈概述Hadoop简介什么是Apachehadoop?ApacheHadoop项目是以可靠、可扩展和分布式计算为目的而发展而来的开源软件ApacheHadoop软件 ... [详细]
  • hadoop完全分布式搭建
    原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave ... [详细]
  • HortonworksDataPlatform3.0.0版本,基本上集成Hadoop社区生态最新版本 ... [详细]
  • Ambari实战1:Ambari使用场景及介绍
    本篇文章主要讲解Ambari的一些基础知识,让大家对Ambari有一个潜意识的认识。什么是Ambari?ApacheAmbari是一种基于We ... [详细]
  • Ranger、LLAP管理SparkSQL权限配置
    概述之前一直使用ranger管理hive的用户权限,现在系统要集成SparkSQL(thriftserver),但是在ranger下并没有SparkSQL的相关的插件,通过搜集HO ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文介绍了如何使用Hive分析用户最长连续登录天数的方法。首先对数据进行排序,然后计算相邻日期之间的差值,接着按用户ID分组并累加连续登录天数,最后求出每个用户的最大连续登录天数。此外,还探讨了该方法在其他领域的应用,如股票市场中最大连续涨停天数的分析。 ... [详细]
  • Hadoop + Spark安装(三) —— 调hadoop
    ***************************测试hadoop及问题跟进***************************执行以下语句报错datahadoop-2.9. ... [详细]
  • 【原创】七、Hadoop 2.5.2+zookeeper高可用部署
    一、原理(四大要点)(1)保证元数据一致(edits)namenode(fsimage edits)a、NFSb、journalnodec、zk(2)只有一台namenode对外提 ... [详细]
  • 1、概述hdfs文件系统主要设计为了存储大文件的文件系统;如果有个TB级别的文件,我们该怎么存储呢?分布式文件系统未出现的时候࿰ ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • Hadoop 2.6.0 HDFS Rack Awareness(机架感知)原理与配置步骤详解
    Hadoop2.6.0HDFSRackAwareness(机架感知)原理与配置步骤详解前言:  多副本前提下,在访问HadoopHDFS集群时,访问速度直接受到Datanode选取 ... [详细]
author-avatar
高--洁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有