配置Doris表的列权限管理
操作场景
在FE的自定义配置项中添加“enable_col_auth”参数开启列授权后,Doris支持对列级别权限的管理。
- 该特性仅MRS 3.3.1及之后版本支持。
- 表的列级别的授权仅支持Select_priv权限。
- 必须使用具有Grant_priv权限的用户进行列权限的管理操作。
- 被授予了列级别Select_priv权限的用户,如果执行select *查询表数据,结果只返回具有Select_priv权限的列。
- 被授予了列级别Select_priv权限的用户,如果执行desc tbl查询表的详细信息,结果只返回具有Select_priv权限的列。
- 支持视图和物化视图的列级别授权。
前提条件
- 已创建包含Doris服务的集群,集群内各服务运行正常。
- 待连接Doris数据库的节点与MRS集群网络互通。
- 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris。
操作步骤
- 登录FusionInsight Manager页面,选择“集群 > 服务 > Doris > 配置 > 全部配置”。
- 选择“FE(角色) > 自定义”,在参数文件“fe.conf”中添加自定义参数,参数名称为“enable_col_auth”,值为“true”
- 单击“保存”,单击“确定”,保存配置。
- 单击“实例”,勾选所有FE实例,选择“更多 > 重启实例”,重启所有FE实例。
- 登录安装了MySQL的节点,执行以下命令,连接Doris数据库。
若集群已启用Kerberos认证(安全模式),需先执行以下命令再连接Doris数据库:
export LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1
mysql -u数据库登录用户 -p -PFE查询连接端口 -hDoris FE实例IP地址
执行命令后输入数据库登录用户密码。
- Doris FE的查询连接端口,可以通过登录Manager,单击“集群 > 服务 > Doris > 配置”,查询Doris服务的“query_port”参数获取。
- Doris FE实例IP地址可通过登录MRS集群的Manager界面,单击“集群 > 服务 > Doris > 实例”,查看任一FE实例的业务IP地址。
- 用户也可以使用MySQL连接软件或者在Doris WebUI界面连接数据库。
- 执行以下命令授予Select_priv权限:
- 执行以下命令查看用户权限:
show grants for user;
- 执行以下命令回收列的Select_priv权限:
- 执行以下命令查看用户权限:
show grants for user;