官方文档-》https://prestodb.github.io/docs/current/security/built-in-system-access-control.html
需要presto版本在包含0.179以上,对于老版本来说,0.118版本开始对hive权限做了实验开发,从0.124版本开始,才正式新增了访问权限控制的插件支持,而且在0.124版本时,不自带任何权限控制组件,需要自己二次开发,这点知道就行
presto的权限管理,分为catalog配置、schema配置、principal规则,分别管理着不同维度的权限设置。使用的前提是在etc目录下,创建access-control.properties
文件,并写入如下配置
# 权限控制配置方式,这个配置可以直接修改为对应的权限枚举值,但是造成的效果就是所有catalog使用同一个权限
access-control.name=file
# 文件路径
security.config-file=etc/rules.json
# 自动刷新权限配置的时间
security.refresh-period=10s
catalog配置
catalog配置,是用来管理不同用户能够访问那个catalog,你可以在rules.json
文件,写入如下内容。使得只允许用户admin访问mysql和system,允许所有用户访问hive目录,允许用户alice只读访问postgresql目录
{
"catalogs": [
{
"user": "admin"