更新时间:2024-11-29 GMT+08:00

Hive MetaStore安全加固

Hive Metastore细粒度鉴权

社区Hive 3.x版本Hive Metastore仅支持使用StorageBased的方式进行鉴权,该方式依赖于文件系统的权限,例如HDFS,权限粒度较粗。MetaStore细粒度鉴权对此进行扩展,支持使用SQLStd和Ranger的方式进行鉴权。

安全加固点

  • Hive Metastore支持针对以下场景进行SQLStd或Ranger鉴权:
    • 创建数据库场景
    • 创建表场景
    • 创建UDF函数场景
    • 添加分区场景
    • 删除数据库场景
    • 删除表场景
    • 删除UDF函数场景
    • 修改数据库场景
    • 修改表场景
    • 修改分区场景
    • Grant授予权限场景
    • Revoke回收权限场景
  • Hive Metastore客户端如HiveServer、Spark、HetuEngine、Flink服务访问的MetaStore请求都会进行鉴权。

操作步骤

Hive Metastore默认开启细粒度鉴权,用户可以通过配置如下参数,关闭安全加固,使用原有的StorageBased鉴权方式。

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
  2. 在搜索框中搜索如下参数名称。

    表1 Hive Metastore细粒度鉴权参数

    参数名称

    描述

    默认值

    metastore-ext.authorization.enable

    Metastore API的鉴权开关,开启后将使用SQLStd或Ranger的鉴权方式,具体鉴权方式由“metastore-ext.authorization.ranger.and.sqlstd”参数决定。此参数设置为“false”后,将使用原有的StorageBased鉴权方式。

    true

    metastore-ext.authorization.ranger.and.sqlstd

    Metastore API的鉴权开关开启(“metastore-ext.authorization.enable”参数值为“true”)时的鉴权方式。其中:

    • “true”表示先进行Ranger鉴权,再进行角色鉴权。
    • “false”表示只使用Ranger鉴权或角色鉴权的一种类型进行鉴权,类型默认和HiveServer鉴权类型保持一致。

    false

  3. 修改完成后单击“保存”,并单击“确定”。
  4. 单击“概览”,选择“更多 > 重启服务”,输入密码进行验证后,在“重启服务”页面再次单击“确定”,重启Hive服务。