數據庫權限模型
AnalyticDB for MySQL支持針對不同的權限粒度授予不同的權限達到權限控制的目的。本文為您介紹SQL操作與權限的關系及如何查看、編輯權限的操作。
權限粒度
AnalyticDB for MySQL集群支持以下四個粒度的權限控制:
GLOBAL:集群級別。
DB:數據庫級別。
TABLE:表級別。
COLUMN:列(字段)級別 。
如果您希望某個用戶只查詢某一張表的某一列數據,可以將該列的SELECT權限授予該用戶,例如
GRANT select (customer_id) ON customer TO 'test321'
。
操作和權限關系
操作 | 需要的權限 | 權限支持的粒度 |
SELECT | SELECT |
|
INSERT | INSERT |
|
INSERT…SELECT…FROM… |
|
|
UPDATE | UPDATE |
|
DELETE | DELETE |
|
TRUNCATE TABLE | DROP |
|
ALTER TABLE |
|
|
CREATE DATABASE | CREATE | GLOBAL |
CREATE TABLE | CREATE |
|
SHOW CREATE TABLE | SELECT |
|
DROP DATABASE | DROP |
|
DROP TABLE | DROP |
|
CREATE VIEW |
|
|
DROP VIEW | DROP |
|
SHOW CREATE VIEW |
|
|
CREATE USER/DROP USER/RENAME USER | CREATE_USER | GLOBAL |
SET PASSWORD | SUPER | GLOBAL |
GRANT/REVOKE | GRANT | GLOBAL |
查看權限
SQL查看權限
和企業版、基礎版及湖倉版集群均可以SQL查看權限。
操作步驟
執行SHOW GRANTS語句,查看用戶權限。詳情請參見SHOW GRANTS。
DMS查看權限
和企業版、基礎版及湖倉版集群均可以通過DMS查看權限。
前提條件
阿里云賬號可直接查看權限。
RAM用戶需要擁有AliyunADBReadOnlyAccess權限才能查看權限。如何為RAM用戶授權,請參見為RAM用戶授權。
操作步驟
使用DMS連接AnalyticDB for MySQL集群。詳情請參見使用DMS連接AnalyticDB for MySQL。
在DMS左側的已登錄實例列表中,右鍵單擊目標實例。
從彈出的列表中選擇數據庫賬號管理。
在賬號管理頁面,查看用戶權限。
AnalyticDB for MySQL控制臺查看權限
僅企業版、基礎版及湖倉版集群可以通過AnalyticDB for MySQL控制臺查看權限。
前提條件
阿里云賬號可直接查看權限。
RAM用戶需要擁有AliyunADBReadOnlyAccess權限才能查看權限。如何為RAM用戶授權,請參見為RAM用戶授權。
操作步驟
- 登錄云原生數據倉庫AnalyticDB MySQL控制臺。
- 在頁面左上角,選擇集群所在地域。
- 在左側導航欄,單擊集群列表。
在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊賬號管理。
單擊目標賬號操作列中的權限,并選擇查看權限。
根據需求選擇授權層級,可查看全局、數據庫、數據表和數據列的權限信息。
編輯權限
SQL授權
和企業版、基礎版及湖倉版集群均可以通過SQL語句進行授權操作。
前提條件
用戶需要擁有GRANT OPTION權限,才能通過SQL進行授權操作。
操作步驟
執行GRANT語句,為用戶授權。詳情請參見GRANT。
DMS授權
和企業版、基礎版及湖倉版集群均可以通過DMS進行授權操作。
前提條件
阿里云賬號可直接進行授權操作。
RAM用戶需要擁有AliyunADBFullAccess和AliyunServiceRoleForDMS權限才能進行授權操作。如何為RAM用戶授權,請參見為RAM用戶授權。
操作步驟
使用DMS連接AnalyticDB for MySQL集群。詳情請參見使用DMS連接AnalyticDB for MySQL。
在DMS左側的已登錄實例列表中,右鍵單擊目標實例。
從彈出的列表中選擇數據庫賬號管理。
在賬號管理頁面,單擊目標賬號操作列的編輯。
在編輯用戶頁面,選擇全局權限。
在權限類型列表中,勾選或去勾選需要的權限。
AnalyticDB for MySQL控制臺授權
僅企業版、基礎版及湖倉版集群支持通過AnalyticDB for MySQL控制臺進行授權操作。
前提條件
阿里云賬號可直接進行授權操作。
RAM用戶需要擁有AliyunADBFullAccess權限,且綁定的數據庫賬號擁有GRANT OPTION權限,才能進行授權操作。
操作步驟
- 登錄云原生數據倉庫AnalyticDB MySQL控制臺。
- 在頁面左上角,選擇集群所在地域。
- 在左側導航欄,單擊集群列表。
在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊賬號管理。
單擊目標賬號操作列中的權限,并選擇編輯權限。
選擇授權層級,并勾選權限配置。
單擊圖標,并單擊確定后,完成授權。