Hive Security - noonecare/opensourcebigdatatools GitHub Wiki

场景:

  • a 用户建立 table_a 表。b 用户发现没有权限查看 table_a 表,如何给 b 赋予权限让 b 查看 table_a
  • Hive 为什么要设计 Role, 是不是为了添加组的概念,方便同组人之间的协作
  • Hive 权限最开始是依托于 Linux 操作系统的。Hive 中的 group 和 Linux 中的 group 一致,如果linux 用户 a, b 在linux 上属于同一个用户组, 那么在 hive 上, 用户 a 和 用户 b 也属于同一个用户组。
  • 但是有时候,不想要用户 a 和 用户 b 属于同一用户组。所以就出现了 Role 的概念。 Hive 可以建立 Role, 把 user 添加到组。
  • 谁有权限执行 grant/revoke 操作?
  • 管理员肯定有。
  • 普通用户是否有权限执行 grant/revoke 看 hive 的配置。看以执行 show grant 命令,如果不能执行,说明当前用户没有执行 grant/revoke 的权限。
  • 关于权限重要的概念:

  • 针对多大规模的数据操作权限

  • 表以及数据库
  • 针对多大规模的用户操作权限
  • User, Group, Role
  • 都有哪些权限(在权限种类方面,所有数据库几乎都一样)
  • All
  • Create
  • DROP
  • ALter
  • Update
  • Select
  • Index
  • Lock