作者:楼高
本节详细介绍企业级大数据架构中的第六部分,数据授权和审计管理
1.Ranger简介
Apache Ranger是一款被设计成全面掌管Hadoop生态系统的数据安全管理框架,为Hadoop生态系统众多组件提供一个统一的数据授权和管理界面,
管理员只需要对接一个Ranger管理系统,就可以对整个Hadoop生态系统进行数据管理,数据授权和审计。
2.安装Ranger和Ranger KMS
需要先创建ranger库
CREATE DATABASE ranger DEFAULT CHARACTER SET utf8;CREATE USER 'ranger'@'localhost' IDENTIFIED BY 'hdp123456';GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'localhost';CREATE USER 'ranger'@'%' IDENTIFIED BY 'hdp123456';GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%';GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
需要先创建rangerkms库
CREATE DATABASE rangerkms DEFAULT CHARACTER SET utf8;CREATE USER 'rangerkms'@'localhost' IDENTIFIED BY 'hdp123456';GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'localhost';CREATE USER 'rangerkms'@'%' IDENTIFIED BY 'hdp123456';GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'%';GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
下面以Ambari安装组件为例:
3.FAQ
(1)测试联通性时报Access denied for user
Root用户没有权限导致的
给root用户添加权限后测试通过
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hdp123456'
Access denied for user 'root'@'%' to database 'rangerkms' ErrorCode: 1044
(2)登录mysql查看权限
mysql> SELECT host,user,authentication_string,Grant_priv,Super_priv FROM mysql.user;
可以看到授权的权限没有打开,修复下
打开权限
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
4.Ranger配置
4.1 HDFS配置
4.1.1在ranger中选择开启要开ranger相对于的组件
4.1.2选择对应组件添加相关配置
4.1.3参数配置
4.1.4测试联通性之后保存
参数说明
参数 | 说明 |
---|---|
Service Name | 自定义 |
Username | 自定义 |
Password | 自定义 |
Namenode URL | 非高可用集群:hdfs://emr-header-1:9000 |
高可用集群:hdfs://emr-header-1:8020 | |
Authorization Enabled | 标准集群选择No;高安全集群选择Yes |
Authentication Type | Simple:表示标准集群 |
Kerberos:表示高安全集群 | |
dfs.datanode.kerberos.principal | 标准集群时不填写;高安全集群时填写hdfs/_HOST@EMR.${id}.com |
dfs.namenode.kerberos.principal | |
dfs.secondary.namenode.kerberos.principal | |
Add New Configurations |
说明 您可以登录服务器执行hostname命令,hostname中的数字即为${id}。
Namenode URL参数查看
4.1.5权限配置示例
例如,授予test用户/user/foo路径的Write和Execute权限。
a.进入Ranger UI页面
b.在Ranger UI页面,单击配置好的hdp-hadoop。
c.单击右上角的Add New Policy。
d.配置相关参数。
e.单击Add。
f.单击Add。
参数 | 说明 |
---|---|
Policy Name | 策略名称,可以自定义。 |
Resoure Path | 资源路径。 |
recursive | 子目录或文件是否集成权限。 |
Select Group | 指定添加此策略的用户组。 |
Select User | 指定添加此策略的用户。 |
Permissions | 选择授予的权限。 |
添加Policy后,实现了对test用户的授权。test用户即可访问/user/foo的HDFS路径。
说明 添加、删除或修改Policy后,需要等待约一分钟至授权生效。
更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw