一、开启权限
目前hive支持简单的权限管理,默认情况下是不开启,这样所有的用户都具有相同的权限,同时也是超级管理员,也就对hive中的所有表都有查看和改动的权利,这样是不符合一般数据仓库的安全原则的。Hive可以是基于元数据的权限管理,也可以基于文件存储级别的权限管理,此次以介绍MetaData权限管理为主。通过以下配置开启Hive身份认证功能进行权限检查:
hive.security.authorization.enabled
true
enable or disable the hive client authorization
开启身份认证后,任何用户必须被grant privilege才能对实体进行操作。
有一个表创建者对所创建表的权限配置:
hive.security.authorization.createtable.owner.grants
ALL
the privileges automatically granted to the owner whenever a table gets created.
An example like "select,drop" will grant select and drop privilege to the owner of the table
默认配置是NULL,设置成ALL,表示创建者对其创建的表拥有所有的权限,这样也是比较合理的,同时也可以通过配置在表创建时给某个role赋予权限:
hive.security.authorization.createtable.role.grants
admin_role:ALL
当然也可以在创建时对user,group赋予权限