更新时间:2022-12-14 GMT+08:00

用户A如何查看用户B创建的Hive表?

MRS 3.x之前版本:

  1. 登录MRS Manager,选择“系统设置 > 权限配置 > 角色管理”。
  2. 单击“添加角色”,输入“角色名称”和“描述”。
  3. 在“权限”的表格中选择“Hive > Hive Read Write Privileges”。
  4. 在数据库列表中单击用户B创建的表所在的数据库名称,显示用户B创建的表。
  5. 在用户B创建的表的“权限”列,勾选“Select”。
  6. 单击“确定”,返回“角色”。
  7. 选择“系统设置 > 用户管理”,在用户A所在的行,单击“修改”,为用户A绑定新创建的角色,单击“确定”,等待5分钟左右即可访问到用户B创建的表。

MRS 3.x及之后版本:

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 更多”,查看“启用Ranger鉴权”是否置灰。
    • 是,执行9
    • 否,执行2-8
  2. 登录FusionInsight Manager,选择“系统 > 权限 > 角色”
  3. 单击“添加角色”,输入“角色名称”和“描述”。
  4. 在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”。
  5. 在数据库列表中单击用户B创建的表所在的数据库名称,显示用户B创建的表。
  6. 在用户B创建的表的“权限”列,勾选“查询”。
  7. 单击“确定”,返回“角色”
  8. 单击“用户”,在用户A所在行,单击“修改”,为用户A绑定新创建的角色,单击“确定”,等待5分钟左右即可访问到用户B创建的表。
  9. 添加Hive的Ranger访问权限策略:
    1. 使用Hive管理员用户登录FusionInsight Manager,选择“集群 > 服务 > Ranger”,单击“Ranger WebUI”右侧的链接进入Ranger管理界面。
    2. 在首页中单击“HADOOP SQL”区域的组件插件名称,例如“Hive”。
    3. 在“Access”页签单击“Add New Policy”,添加Hive权限控制策略。
    4. 在“Create Policy”页面填写如下内容:
      • Policy Name:策略名称,例如:table_test_hive。
      • database:填写或选择用户B创建的表所在的数据库,例如:default。
      • table:填写或选择用户B创建的表,例如:test。
      • column:填写并选择对应的列,例如:*。
      • 在“Allow Conditions”区域,单击“Select User”下选择框选择用户A,单击“Add Permissions”,勾选“select”。
      • 单击“Add”。
  10. 添加HDFS的Ranger访问权限策略:
    1. 使用rangeradmin用户登录FusionInsight Manager,选择“集群 > 服务 > Ranger”,单击“Ranger WebUI”右侧的链接进入Ranger管理界面。
    2. 在首页中单击“HDFS”区域的组件插件名称,例如“hacluster”。
    3. 单击“Add New Policy”,添加HDFS权限控制策略.
    4. 在“Create Policy”页面填写如下内容:
      • Policy Name:策略名称,例如:tablehdfs_test。
      • Resource Path:配置用户B创建的表所在的HDFS路径,例如:/user/hive/warehouse/数据库名称/表名
      • 在“Allow Conditions”区域,单击“Select User”下选择框选择用户A,单击“Add Permissions”,勾选“Read”和“Execute”。
      • 单击“Add”。
  11. 在策略列表可查看策略的基本信息。等待策略生效后,用户A即可查看用户B创建的表。