博客
关于我
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/

    你可能感兴趣的文章
    NacosClient客户端搭建,微服务注册进nacos
    查看>>
    Nacos原理
    查看>>
    Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
    查看>>
    Nacos如何实现Raft算法与Raft协议原理详解
    查看>>
    Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Nacos注册中心有几种调用方式?
    查看>>
    nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
    查看>>
    Nacos编译报错NacosException: endpoint is blank
    查看>>
    NACOS部署,微服务框架之NACOS-单机、集群方式部署
    查看>>
    Nacos配置中心集群原理及源码分析
    查看>>
    nacos配置自动刷新源码解析
    查看>>
    Nacos集群搭建
    查看>>
    nacos集群搭建
    查看>>
    nagios安装文档
    查看>>
    name_save matlab
    查看>>
    Nami 项目使用教程
    查看>>
    NAT-DDNS内网穿透技术,解决动态域名解析难题
    查看>>
    NativePHP:使用PHP构建跨平台桌面应用的新框架
    查看>>
    NAT技术
    查看>>