博客
关于我
Ranger之Hive的行列过滤设置(六)
阅读量:495 次
发布时间:2019-03-06

本文共 1704 字,大约阅读时间需要 5 分钟。

Hive 中的行级过滤与列屏蔽(基于 Apache Ranger 的策略)

Apache Ranger 是 Apache 开源项目中用于数据安全的重要工具之一。在 Hive 中,Ranger 提供了强大的行级过滤和列屏蔽功能,这些功能能够有效保护数据隐私并满足企业的安全需求。本文将详细介绍 Hive 中的行级过滤和列屏蔽的实现方法。


行级过滤

什么是行级过滤?

行级过滤是 Hive 中的一种安全机制,允许管理员为特定的 Hive 表设置行级访问策略。通过行级过滤,可以限制用户只查看特定的数据行,而不是整个表或视图。这种方式能够提升数据安全性,同时减轻 Table_RPCMs 的负载。

为什么要使用行级过滤?

  • 简化查询逻辑:Hive 将访问逻辑下移至底层,仅在查询执行时应用过滤,避免在 SQL 谓词中重复逻辑。
  • 提升查询性能:后台执行分段处理,无需显式在查询中添加过滤条件。
  • 提高可靠性:通过将安全逻辑下移到 Hive 层,减少了元数据服务的负载压力。
  • 行级过滤的典型应用场景

    • 医疗行业:医生仅能查看其指定患者的数据。
    • 金融行业:根据员工部门或角色限制数据访问,例如财务部门员工只能查看发票、付款和应计数据。
    • 多租户应用:为每个租户创建逻辑隔离,确保每个租户只能看到自己关联的数据行。

    行级过滤的步骤说明

  • 进入服务管理器:访问 Hive 服务,选择已有的 Hive 服务。
  • 启用行级过滤器:在服务管理界面选择行级过滤器选项卡,点击“添加新策略”。
  • 配置策略详情
    • 策略名称:输入一个唯一名称。
    • 策略类型:默认为“正常”或“覆盖”,可根据需要选择。
    • Hive 数据库和表:指定适用的数据库和表。
    • 审核日志:默认启用,可以根据需求关闭。
    • 描述:添加必要的说明信息。
    • 有效期:指定策略的生效时间段。
  • 选择访问组和用户:指定策略适用的组或用户,默认为“public”组。
  • 添加过滤条件:在策略中添加有效的 Hive WHERE 子句,支持多个条件并可调整顺序。
  • 保存策略:创建完成后保存策略,生效的时间段内限制访问。

  • 列屏蔽(基于标记的屏蔽)

    什么是列屏蔽?

    基于标记的列屏蔽是 Hive 中的一种安全机制,可匿名化特定 Hive 列的数据。通过屏蔽,可以隐藏敏感信息或限制用户的数据访问。屏蔽类型包括:

    • 部分显示:显示前四个或后四个字符。
    • 哈希:将单元格内容替换为哈希值。
    • Nullify:将单元格内容替换为空值。
    • 日期:只显示日期年份。
    • 自定义:定义自定义屏蔽逻辑,可使用 Hive UDF。

    列屏蔽的应用条件

    • 标记类型:支持基于标记的屏蔽,只能应用到明确指定的列。
    • 多个标记:如果多个屏蔽策略同时应用于相同列,按字典序选择最小的策略执行。
    • 审计日志:默认生成审计日志记录,可以关闭审计功能。
    • 屏蔽顺序:屏蔽策略按定义顺序评估,优先执行顶部策略。

    列屏蔽策略的设置步骤

  • 进入标记管理界面:访问 Apache Ranger 的服务,选择“基于标记的策略”。
  • 启用新屏蔽策略:点击“屏蔽”选项卡,选择“添加新策略”。
  • 配置策略详情
    • 策略类型:默认设置为“屏蔽”。
    • 策略名称:输入适当名称,不能重复。
    • 标记名称:选择适用的标记,例如“MASK”。
    • 数据库和表:指定适用的数据库和表。
    • 审核日志:默认启用,可以根据需求关闭。
    • 描述:添加说明信息。
    • 有效期:定义策略生效时间。
    • 屏蔽条件:添加条件,可使用布尔表达式定义允许或拒绝情况。
  • 选择用户和组:指定适用的用户和组,默认为“public”组。
  • 添加屏蔽类型:选择适用的屏蔽类型,输入自定义值或表达式。
  • 保存策略:创建完成后保存策略,生效时间内实施屏蔽。

  • 行级过滤和列屏蔽的综合应用

    • 行级过滤:用于限制用户的数据访问范围,适用于部门间数据共享或用户权限管理。
    • 列屏蔽:用于保护敏感信息,避免数据泄露。例如,可以将 Salary 列替换为空值或显示前四个数字。
    • 结合使用:在需要时同时启用行级过滤和列屏蔽,以实现更加全面的数据安全策略。

    通过合理应用 Apache Ranger 的行级过滤和列屏蔽功能,可以显著提升 Hive 数据安全性,同时简化数据访问管理。

    转载地址:http://lpqdz.baihongyu.com/

    你可能感兴趣的文章
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
    查看>>
    NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
    查看>>
    NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
    查看>>
    NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
    查看>>
    NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
    查看>>