數據庫權限操作場景
- 針對不同用戶,可以通過權限設置分配不同的數據庫。
- 管理員用戶和數據庫的所有者擁有所有權限,不需要進行權限設置且其他用戶無法修改其數據庫權限。
注意事項
-
數據庫和表賦權對象具有層級關系,用戶賦予上一層級的權限會自動繼承到下一層級對象上,層級關系為:數據庫>表>列。
-
數據庫所有者、表所有者、被賦予“賦權權限”的用戶都可以對數據庫和表賦權。
-
列只能繼承查詢權限。“可繼承權限”詳細信息請參見8.1.2 數據庫權限管理。
-
回收權限時,只能在初始賦權的層級上回收。在哪一層賦權的,在哪一層進行權限回收。賦予權限和回收權限需要在同一層級操作。例如:在數據庫上給用戶賦予插入權限,那么在數據庫下面的表就有了插入權限,回收這個插入權限,只能在數據庫上回收,不能在表上回收。
-
如果數據庫被刪除后,再重新創建同名的數據庫,數據庫權限不會繼承,需要對操作該數據庫的用戶或項目重新進行賦權。
例如,testdb數據庫給用戶A賦予了刪除數據庫的權限,后續執行了刪除testdb數據庫,并重新創建了testdb數據庫。如果希望A用戶繼續保留刪除testdb數據庫的權限,則需要重新對A用戶賦予該權限。
查看數據庫權限
- 在管理控制臺左側,單擊“數據管理”>“庫表管理”。
- 單擊所選數據庫“操作”欄中的“權限管理”,將顯示該數據庫對應的權限信息。
權限設置有3種場景:為新用戶或項目賦予權限、為已有權限的用戶或項目修改權限、回收某用戶或項目具備的所有權限。
為新用戶或項目賦予權限
為新用戶或新項目賦予權限,新用戶或新項目指之前不具備此數據庫權限的用戶或項目。
- 在數據庫權限管理頁面右上角單擊“授權”。
- 在“授權”彈出框中,選擇“用戶授權”或“項目授權”,填寫需要授權的用戶名或選擇需要授權的項目,選擇相應的權限。具體權限說明請參考下表。
| 參數 | 描述 |
|---|---|
| 授權對象 | 選擇“用戶授權”或“項目授權”。 |
| 用戶名/項目名 | 選擇“用戶授權”時,輸入數據庫新增用戶對應的IAM用戶名稱。 說明 該用戶名稱是已存在的IAM用戶名稱且該用戶登錄過DLI管理控制臺。 選擇“項目授權”時,選擇當前區域下需要授權的項目。 說明 選擇“項目授權”時: 如果賦權選擇不可繼承權限,則在該項目中無法查看對應數據庫中表的信息。 如果賦權選擇可繼承權限,則在該項目中可查看該數據庫內所有表的信息。 |
| 非繼承權限 | 選中權限即對用戶或項目進行賦權,取消勾選即對用戶權限或項目權限進行回收。 非繼承權限只作用于當前數據庫。 同時適用于“用戶授權”和“項目授權”的權限包括: ? 刪除數據庫:刪除當前數據庫。 ? 創建表:在當前數據庫創建表。 ? 創建視圖:在當前數據庫創建視圖。 ? 將SQL語句解釋為執行計劃:執行explain語句。 ? 創建角色:在當前數據庫創建角色。 ? 刪除角色:刪除當前數據庫中的角色。 ? 顯示角色:顯示當前用戶的角色。 ? 綁定角色:在當前數據庫綁定角色。 ? 解除角色綁定:在當前數據庫解除角色綁定。 ? 顯示所有角色和用戶的綁定關系:顯示所有角色和用戶的綁定關系。 ? 創建函數:在當前數據庫創建函數。 ? 刪除函數:刪除當前數據庫中的函數。 ? 顯示所有函數:顯示當前數據庫中的所有函數。 ? 顯示函數詳情:顯示當前函數詳情。 只適用于“用戶授權”的權限包括: ? 顯示所有表:顯示當前數據庫下的所有表。 ? 顯示數據庫:顯示當前數據庫的信息。 |
| 繼承權限 | 選中權限即對用戶進行賦權,取消勾選即對用戶權限進行回收。 繼承權限可作用到當前數據庫及其所有的表上,但是表中的列只能繼承其中的查詢權限。 以下權限同時適用于“用戶授權”和“項目授權”。 刪除表:刪除數據庫下的表。 查詢表:在當前表內查詢。 顯示表信息:顯示當前表的信息。 插入:在當前表內插入數據。 添加列:在當前表中增加列。 重寫:在當前表內插入覆蓋數據。 賦權:用戶可將數據庫的權限賦予其他用戶或項目。 回收:用戶可回收其他用戶或項目具備的此數據庫的權限,但是不能回收數據庫所有者的權限。 添加分區:在分區表中添加新的分區。 刪除分區:刪除分區表中已有的分區。 設置分區的路徑:將分區表中的某個分區路徑設置為用戶指定的OBS路徑。 重命名表分區:對分區表中的分區重新命名。 重命名表:對表重新命名。 恢復表分區:從文件系統中導出分區信息保存到元數據中。 顯示所有分區:顯示分區表中的所有分區。 查看其他用戶具備的權限:查看其他用戶或項目具備的當前數據庫的權限。 |
- 單擊“確定”,完成授權。
為已有權限的用戶或項目修改權限
某用戶或項目已具備此數據庫的一些權限時,可為此用戶或項目賦予或取消權限。
說明當“權限設置”中的選項為灰色時,表示對應帳號不具備修改此數據庫的權限。可以向管理員用戶、數據庫所有者等具有賦權權限的用戶申請數據庫的“賦權”和數據庫權限的“回收”權限。
1. 在“用戶權限信息”列表中找到需要設置權限的用戶:
若用戶為子用戶,可進行“權限設置”。
若用戶為管理員用戶,只能查看“權限信息”。
在“項目權限信息”列表中找到需要設置權限的項目,進行“權限設置”。
2. 在子用戶或項目的“操作”欄中單擊“權限設置”,可彈出數據庫“權限設置”對話框。
數據庫用戶或項目詳細的權限描述請參考上表。
3. 單擊“確定”,完成權限設置。
回收某用戶或項目具備的所有權限
回收某用戶具備的所有權限,或回收某項目具備的所有權限。
- 在“用戶權限信息”區域的用戶列表中,選擇需要回收權限的子用戶,在“操作”欄中單擊“回收”,在“回收用戶權限”對話框中單擊“確定”后,此用戶將不具備數據庫的任意權限。
說明用戶為管理員用戶時,“回收”為灰色,表示不可回收該用戶的權限。
- 在“項目權限信息”區域的項目列表中,選擇需要回收權限的項目,在“操作”欄中單擊“回收”,在“回收項目權限”對話框中單擊“確定”后,此項目將不具備數據庫的任意權限。