在Hadoop中保证数据安全性的主要方式是:
1、 使用Kerberos进行认证:
- 使用keytab文件配置hive/hadoop的kerberos认证。
- 客户端使用kinit登录 kerberos。
- 只有通过认证的客户端才能访问集群。
2、 使用Ranger进行授权:
- 基于Policy的访问控制。
- 不同用户组可以拥有不同的Policy。
- Policy可以控制文件、列、行级别的访问。
3、 使用磁盘加密保护数据:
- 使用HDFS的数据加密功能,在写入和读取数据时自动进行加密和解密。
- 阻止未经授权的物理访问。
4、 启用审计跟踪:
- 配置HDFS的审计日志捕获用户访问信息。
- Ranger也提供详细的审计报告。
- 定期分析日志监控未经授权的访问。
5、 Ranger Policy管理示例:
- 登录Ranger Admin控制台。
- 选择Hive服务并创建Policy。
- 设置用户、访问路径、权限和时间条件。
- 例如:
用户:hive用户组
路径: default.page_views
权限: select
时间:工作日9-18点
数据安全性的主要作用是:
- 保证只有授权用户才能访问数据。
- 控制用户对数据的访问权限和行为。
- 防止对数据的未经授权访问和泄露。
- 审计用户的数据访问情况。
来看一些简单示例:
- HDFS数据加密 – 配置:
<property>
<name>dfs.encryption.key.provider.uri</name>
<value>kms://http@kmshost:9600/kms</value>
</property>
- Ranger Hive Policy – 配置:
用户:hive用户组
路径: default.page_views
权限: select
时间:工作日9-18点
- Kerberos kinit登录 – 命令:
$ kinit -kt <keytab_file> <principal_name>
所以通过Kerberos进行认证、Ranger进行授权,加上HDFS的数据加密,我们可以为Hadoop应用和数据构建全面安全的 protections。
强大的大数据应用离不开安全可靠的数据环境。熟练运用Hadoop的各种安全方案,不仅可以最大限度保护我们的数据资产,也为业务创造了更大价值。