第 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 存储过程:
- 选择 film_in_stock 对象并点击“添加权限”按钮以打开对话框。
- 在左侧窗格中勾选用户旁边的框。
- 在网格中,对照列出的权限,勾选相关的选项以指定已选择的用户有这个对象权限。例如,下图将授予 sakila 数据库中 film_in_stock 过程的 Execute 权限给 bob_s@localhost 和 secure_admin_99@localhost 用户:
- 点击“确定”按钮关闭对话框并提交更改。新授予的权限现在显示在网格中:
若要撤消任何对象的用户权限,请点击“删除权限”按钮。例如,撤消我们刚刚为bob_s@localhost 添加的 sakila 数据库中 film_in_stock 过程的权限:
- 请确保在树视图中选择了 film_in_stock 过程。
- 在网格中选择 bob_s@localhost 行以高亮显示它。
- 现在单击“删除权限”按钮以从网格中删除该行。
- 在保存设置时,将提交你的更改。