Ranger支持对Hive数据的脱敏处理(Data Masking),即可以对Select的返回结果脱敏,以屏蔽敏感信息。

背景信息

该功能只针对HiveServer2的场景(例如,Beeline、JDBC和Hue等途径执行的Select语句)。

操作步骤

说明 本文Ranger截图以2.1.0版本为例,其余版本请以实际界面为准。
在Ranger UI配置页面的emr-hive页签,您可以对Hive数据进行脱敏处理:
  • 支持多种脱敏处理方式。例如,显示开始的4个字符、显示最后的4个字符或Hash处理等。
  • 配置Mask Policy时不支持通配符。例如Policy中Table或Column不能配置星号(*)。
  • 每个Policy只能配置一个列的Mask策略,多个列时需要配置各个列的Mask Policy。
  1. Hive组件配置Ranger,详情请参见配置Hive集成Ranger
  2. 在Ranger页面,单击emr-hive
    Ranger-2
  3. 配置Masking Policy。
    1. 单击上方的Masking页签。
      hive_masking
    2. 单击右上角的Add New Policy
    3. Create Policy页面,配置相关参数。
      hive_para
      参数 描述 示例
      Policy Name Policy的名称。可以自定义。 test_mask
      Hive Database 添加Hive中的数据库。 testdb
      Hive Table 添加表。 testtb1
      Hive Column 可添加列名。 a
      Select User 指定添加此策略的用户。 test
      Access Types 选择授予的权限。 select
      Select Masking Option 选择脱敏方式。 Partial mask: show first 4
    4. 单击Add
  4. 可选:测试脱敏数据。
    例如,test用户使用select a from testdb1.testtbl;语句查看表testdb1.testtbl中a列的数据时,只有前面4个字符是正常显示,后面字符全部用x脱敏处理了。hive-column