第 4 部分:权限管理员工具
在本系列中,我们一直在探索如何使用 Navicat 的旗舰产品 Navicat Premium 执行常见的用户管理任务。在上一篇文章中,我们研究了新用户对象选项卡的“服务器权限”、“权限”和“SQL预览”选项卡。
在上一篇文章中为每个用户所做的并不是设置权限唯一的方法。“权限管理员”提供了另一种方法为连接及其数据库对象设置权限。“权限管理员”适用于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB,这工具将成为本篇文章的主题。
设置连接级权限
若要访问权限管理员,请点击“用户对象”工具栏上的“权限管理员”按钮。这将在新选项卡中打开权限管理员,其中包含最近打开的连接。
在那里你可以设置连接级权限或与特定数据库关联的权限。让我们从连接级权限开始。
树的顶部显示连接,其下方则有数据库,以及每个数据库的对象:
- 如果尚未选择连接,请点击连接名以查看具有访问权限的用户列表及其各自的权限。
- 水平滚动网格,直到达到你的目标权限。
- 勾选权限旁边的框以将其分配给该用户。例如,点击 bob_s@localhost 行中的 Trigger 复选框将授予该用户 Trigger 权限:
相反,取消勾选权限框会删除该权限。
- 请不要忘记点击“权限管理员”工具栏上的“保存”按钮以提交更改。话虽如此,如果你真的忘记了,Navicat 会在你关闭“权限管理员”选项卡时询问你是否要保存更改。
设置数据库级权限
点击一个数据库名将显示有权访问它的用户列表及其各自的权限。若要为 bob_s@localhost 分配 Sakila 数据库的 Trigger 权限,请按照以下步骤操作:
- 点击对象树中的 Sakila 数据库。
- 勾选 Trigger 权限旁边的框以将其分配给该用户:
- 相反,取消勾选列出的权限的框将移除该权限。
- 再次提醒大家,请不要忘记点击“权限管理员”工具栏上的“保存”按钮以提交更改。话虽如此,如果你真的忘记了,Navicat 会在你关闭“权限管理员”选项卡时询问你是否要保存更改。
管理数据库对象的权限
若要授予特定数据库对象(如表、视图、函数和存储过程)的权限,请使用权限管理员选项卡工具栏上的“添加权限”按钮。
例如:
- 在树视图展开节点直至到达目标对象。下图显示了 sakila 数据库的 film_in_stock 存储过程:
2、选择 film_in_stock 对象并点击“添加权限”按钮以打开对话框。
3、在左侧窗格中勾选用户旁边的框。
4、在网格中,对照列出的权限,勾选相关的选项以指定已选择的用户有这个对象权限。例如,下图将授予 sakila 数据库中 film_in_stock 过程的 Execute 权限给 bob_s@localhost 和 secure_admin_99@localhost 用户:
5、点击“确定”按钮关闭对话框并提交更改。新授予的权限现在显示在网格中:
若要撤消任何对象的用户权限,请点击“删除权限”按钮。例如,撤消我们刚刚为bob_s@localhost 添加的 sakila 数据库中 film_in_stock 过程的权限:
- 请确保在树视图中选择了 film_in_stock 过程。
- 在网格中选择 bob_s@localhost 行以高亮显示它。
- 现在单击“删除权限”按钮以从网格中删除该行。
- 在保存设置时,将提交你的更改。
总结
管理数据库用户是数据库管理员(DBA)的主要职责之一。协调组织中的用户访问数据库的方式通常需要执行许多单独的任务,包括添加新用户,阻止已离开组织的用户的访问权限以及帮助无法登录的用户。本系列文章共有 4 篇,文中深入浅出地传授给用户如何保护 root 账号,创建新用户、配置用户授权以及权限管理员工具等具体操作步骤以及需要注意的事项。
往期回顾
- Navicat 现已正式支持 Redis
- Navicat 16 正式支持 OceanBase 全线数据库产品
- 免费试用 Navicat 16
- 招募 Navicat Monitor 3.0 监控工具体验官 | 好礼相送
- 保姆级教程 | Navicat 人工备份和自动备份
- Navicat 20年发展史 | 1999 年成立于中国香港
- SQL 语句中 WHERE 1=1 的作用
- SQL 中计算总行数的百分比
- 互动有礼活动进行中 | 奖品为价值 819 元 Navicat Premium
- 假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件