第 4 部分:權限管理員工具
在本系列中,我們一直在探索如何使用 Navicat 的旗艦產品 Navicat Premium 執行常見的使用者管理工作。在上一篇文章中,我們研究了新使用者物件索引標籤中的「伺服器權限」、「權限」和「SQL 預覽」索引標籤。
上一篇文章中為每個使用者所做的並不是設定權限的唯一方法。「權限管理員」提供了另一種方法為連線及其資料庫物件設定權限。「權限管理員」適用於 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB,這工具將成為本篇文章的主題。
設定連線層級權限
若要存取權限管理員,請按一下「使用者物件」工具列上的「權限管理器」按鈕。這將在新索引標籤中開啟權限管理員,其中包含最近開啟的連線。
在那裡你可以設定連線層級權限或與特定資料庫關聯的權限。讓我們從連線層級權限開始。
樹的頂部會顯示連線,其下方則有資料庫,以及每個資料庫的物件:
- 如果尚未選取連線,請按一下連線名稱以查看具有存取權限的使用者清單及其各自的權限。
- 水平捲動網格,直至達到你的目標權限。
- 勾選權限旁邊的方塊以將其指派給該使用者。例如,按一下 bob_s@localhost 列中的 Trigger 核取方塊將授予該使用者 Trigger 權限:
相反,取消勾選權限方塊會刪除該權限。 - 請不要忘記按一下「權限管理員」工具列上的「儲存」按鈕以提交變更。話雖如此,如果你真的忘記了,Navicat 會在你關閉「權限管理員」索引標籤時詢問你是否要儲存變更。
設定資料庫層級權限
按一下一個資料庫名稱將顯示有權存取它的使用者清單及其各自的權限。若要將 Sakila 資料庫的 Trigger 權限指派給 bob_s@localhost,請遵循下列步驟:
- 按一下物件樹中的 Sakila 資料庫。
- 水平捲動網格,直至達到 Trigger 權限核取方塊。
- 勾選 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 列以突顯它。
- 現在按一下「刪除權限」按鈕以從網格中刪除該列。
- 在儲存設定時,你的變更將被提交。