
目录
[一、Ranger KMS介绍](#一、Ranger KMS介绍)
一、Ranger KMS介绍
Ranger KMS是把数据存储入后台数据库中。通过Ranger Admin可以集中化管理KMS服务。
Ranger KMS有三个优点
- l Key management
Ranger admin 提供了创建,更新,删除密钥的Web UI 和APIs。在调试API的时候需要提供Ranger admin的用用户名和密码。 - l Access control policies
通过Ranger Admin可以对KMS进行访问控制,通过设置访问策略来限制用户访问。 - l Audit
Ranger Admin可以跟踪访问输出审计日志。
二、KMS基于Ranger插件安装
创建rangerkms库
sql
CREATE DATABASE rangerkms DEFAULT CHARACTER SET utf8;
CREATE USER 'rangerkms'@'localhost' IDENTIFIED BY 'Winner@123456';
GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'localhost';
CREATE USER 'rangerkms'@'%' IDENTIFIED BY 'Winner@123456';
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;
选择 Ranger KMS安装

配置和测试数据库连接

数据库测试通过

安装

安装完成

可以看到服务启动完成


添加测试用户winner_spark 的HDFS权限

"winner_kms"策略中配置winner_spark用户操作HDFS的权限

使用keyadmin 用户登录ranger ,选择"Access Manger"

Add New policy

创建名为"winner_kms_key"的kms 策略,并选择用户为 "winner_spark"

"winner_kms_key"策略添加完成

Encryption中选择"winner_kms"服务,选择 "Add New Key"

Key Name: WINNER ,其他的参数我们采用默认,然后保存。

命令行查看key 的元数据信息

hdfs crypto
命令是Hadoop分布式文件系统(HDFS)中用于管理和操作加密区域(Encryption Zones, EZs)的工具。它允许用户创建、列出和管理加密区域,以及处理与加密相关的其他任务。如下是命令语法:
# 使用key创建加密分区
hadoop key list -metadata
# 创建
hdfs dfs -mkdir /encry_zone
# 创建加密区域
hdfs crypto -createZone -keyName winner -path /encry_zone
# 列出HDFS中所有的加密区域
hdfs crypto -listZones

使用 winner_spark用户上传和下载文件到加密分区
echo "hello hadoop" > hello.txt
hdfs dfs -put hello.txt /tmp/
hdfs dfs -put hello.txt /encry_zone
hdfs fsck /encry_zone -files -blocks -locations -replicaDetails #查找实际磁盘存储地址
如下我们用hdfs直接查看文件未授权,切换到 winner_spark用户可正常查看加密分区数据。

参考文章:Ranger集成KMS服务:Ranger集成KMS服务 - 简书