作者:高--洁 | 来源:互联网 | 2023-07-21 17:09
导语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配置Audit log
Enable Ranger Plug-in
进入Ranger Plugin配置页面,打开需要使用Ranger进行安全控制的组件。例如hdfs,yarn,hive。