當您需要在Data Management建立MySQL、MongoDB或PostgreSQL的資料庫帳號,或自訂各種權限類別型組合或授予某些表層級許可權時,您可以通過DMS的資料庫帳號許可權管理功能進行靈活管控。本文為您介紹如何在DMS中建立、編輯和刪除資料庫帳號,以及管理資料庫帳號許可權。
目前DMS僅支援管理MySQL、PostgreSQL、MongoDB三種引擎的資料庫帳號,其他引擎的資料庫帳號管理,請前往對應的控制台進行操作。
前提條件
資料庫類型為:
MySQL:RDS MySQL、PolarDB MySQL版、AnalyticDB for MySQL、自建MySQL、自建MariaDB或RDS MariaDB。
MongoDB。
說明若您在Admin資料庫下建立使用者,需保證已有的任一使用者具有建立使用者的許可權(dbAdminAnyDatabase、userAdmin或userAdminAnyDatabase等許可權)。
PostgreSQL:RDS PostgreSQL或AnalyticDB for PostgreSQL。
系統角色為管理員、DBA或普通使用者(執行個體Owner)。更多資訊,請參見系統角色。
已擷取目標資料庫的資料庫帳號和資料庫密碼。
如果您需要在DMS控制台建立帳號,需確保登入DMS的資料庫帳號具有建立使用者的許可權。
帳號許可權管控樣本
管理資料庫帳號
建立資料庫帳號
通過DMS建立的資料庫帳號是普通帳號。
DMS 管理員是 RAM 帳號,管理 DMS 控制台的存取權限和操作審批。資料庫高許可權帳號是資料庫執行個體層面的帳號,擁有 CREATE USER、GRANT 等資料庫操作許可權。兩者是不同的許可權體系:在 DMS 中執行 CREATE USER 等資料庫管理操作時,需要使用資料庫高許可權帳號,DMS 管理員本身不擁有資料庫層面的操作許可權。
如果在 DMS 中執行 CREATE USER 時遇到以下報錯:
execute create_user failed: you need (at least one of) the create user privilege for this operation請按以下方式排查:
在 RDS 控制台建立高許可權帳號,使用該帳號登入 DMS 後重新操作。
或直接在 RDS 控制台的帳號管理頁面建立資料庫使用者。
如果 DMS 執行個體開啟了安全託管模式,可能無法在 DMS 中切換資料庫帳號。此時需要在 RDS 控制台建立帳號,或調整執行個體的安全託管設定後再操作。
建立MySQL資料庫帳號
-
登入目標資料庫,詳情請參見登入資料庫。
-
單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理。
-
在資料庫帳號管理頁面,單擊左上方的建立資料庫帳號。
在彈出的視窗中,設定以下配置項。
單擊基本設置頁簽,配置參數。
配置項
說明
資料庫帳號
自訂登入資料庫的帳號名稱。
主機
表示允許帳號從某個IP地址訪問資料庫。
說明如果不填該配置項,表示不指定帳號從特定的IP地址訪問資料庫,系統的預設值為
%。密碼
請輸入登入密碼。
確認密碼
請再次輸入登入密碼。
說明上述配置項的SQL語句格式為
CREATE USER `使用者名稱`@`主機` IDENTIFIED BY `密碼`;。如果您需要配置進階選項,請單擊進階選項按鈕,並進行配置。
例如按照下圖進行配置的SQL樣本為:
GRANT USAGE ON *.* TO '使用者名稱'@'主機' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400;
單擊全局權限頁簽,勾選目標許可權。全域許可權的說明,請參見MySQL全域許可權。
說明若您使用普通帳號在權限類別型中未找到目標許可權,可能由於帳號許可權或執行個體類型不支援該許可權。若由於帳號許可權不足原因,可使用高許可權帳號重試。
單擊對象權限頁簽,配置參數。對象許可權的說明,請參見MySQL對象許可權。
例如按照下圖進行配置的SQL樣本為:
GRANT SELECT,INSERT ON `rds_db`.* TO '使用者名稱'@'主機'; GRANT DELETE ON `rds_db`.`rds_table` TO '使用者名稱'@'主機';
單擊確認。
在預覽SQL視窗,單擊確認。
說明管控模式為安全協同的資料庫執行個體會受安全規則限制,如無法執行請根據介面提示資訊進行操作,或聯絡DBA、管理員進行確認。調整規則的具體操作步驟,請參見常見問題。
建立MongoDB資料庫帳號
登入目標資料庫,詳情請參見登入資料庫。
重要對於MongoDB複本集執行個體,需要登入Primary(主)節點。
-
單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理。
單擊頁面左上方的建立資料庫帳號,配置以下資訊。
設定使用者資訊。

設定項目
說明
目標庫
下拉選擇該使用者所屬的目標資料庫。
說明目標庫選擇為非admin庫時,建立的使用者為普通使用者。
目標庫選擇為admin庫時,建立的使用者為高許可權使用者。
使用者名稱
設定使用者的名稱。
不支援中文。
支援英文、數字和特殊字元。
特殊字元包括:
!#$%^&*()_+-=
密碼
設定使用者的密碼。
為保障資料安全性,建議設定的密碼至少由如下三種字元組成,且長度為8-32位:
大寫字母
小寫字母
數字
特殊字元(
!#$%^&*()_+-=)
確認密碼
再次輸入密碼。
設定使用者的許可權資訊。
說明當目標庫選擇為admin庫時:
在當前庫許可權頁簽,可以設定普通操作角色、管理員操作角色、執行個體層級操作角色、叢集管理員角色、備份與恢複操作角色、超級角色等許可權,角色許可權詳情請參見MongoDB角色許可權。
也可以選擇其他庫許可權頁簽,並添加資料庫名及設定對應資料庫的角色許可權。
當目標庫選擇為非admin庫時:
在當前庫許可權頁簽,只能設定當前庫普通操作角色和管理員操作角色,角色許可權詳情請參見MongoDB角色許可權。
無其他庫許可權頁簽的設定許可權。
單擊確認。
說明管控模式為安全協同的資料庫執行個體會受安全規則限制,如無法執行請根據介面提示資訊進行操作,或聯絡DBA、管理員進行確認。
建立PostgreSQL資料庫帳號
登入目標資料庫,詳情請參見登入資料庫。
單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理。
在資料庫帳號管理頁面,單擊左上方的建立資料庫帳號。
在彈出的視窗中,設定以下配置項。
單擊基本設置頁簽,配置參數。
配置項
說明
用戶名
輸入帳號使用者名稱。
密碼
輸入登入密碼。
確認密碼
再次輸入登入密碼。
密碼到期時間
選擇密碼的到期時間,例如選擇2021年12月30號0點到期,該密碼會在該時間點失效。
該參數非必選,預設為不失效。
串連數限制
輸入該帳號的串連並發數,例如您配置了10,表示該帳號最多允許在10個用戶端上同時串連資料庫。
預設為-1,表示不限制。
備註
填寫該帳號的備忘資訊。
單擊許可權頁簽,勾選目標許可權。
權限類別型
說明
允許登入
登入許可權,對應的SQL命令為
LOGIN和NOLOGIN,預設為允許登入。允許建立使用者
建立資料庫帳號的許可權,對應的SQL命令為
CREATEROLE和NOCREATEROLE,預設為允許建立使用者。允許建立DB
建立資料庫的許可權,對應的SQL命令為
CREATEDB和NOCREATEDB,預設為允許建立資料庫。
單擊確認。
在預覽SQL視窗,單擊確認。
說明管控模式為安全協同的資料庫執行個體會受安全規則限制,如無法執行請根據介面提示資訊進行操作,或聯絡DBA、管理員進行確認。調整規則的具體操作步驟,請參見許可權說明。
編輯或刪除帳號
您可通過編輯帳號功能實現修改許可權帳號的使用者名稱、密碼、MySQL全域許可權和對象許可權。
單擊首頁右側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理。
找到目標帳號,單擊右側的編輯或刪除,執行相關操作。
編輯或刪除帳號
您可通過編輯帳號功能實現修改許可權帳號的使用者名稱、密碼、MySQL全域許可權和對象許可權。
-
單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理。
找到目標帳號,單擊右側的編輯或刪除,執行相關操作。
切換資料庫帳號
在左側的資料庫執行個體地區,找到目標執行個體。
按右鍵執行個體名稱,選擇編輯執行個體。
在基本資料地區填寫需要登入的資料庫帳號以及對應的帳號密碼。
單擊儲存。
增加或刪除資料庫帳號許可權
-
單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理。
找到目標帳號,單擊右側的編輯。
在許可權地區,增加(勾選目標許可權)或刪除(取消勾選目標許可權)帳號許可權,單擊確認。
許可權說明
MySQL全域許可權
MySQL對象許可權
MongoDB角色許可權
相關文檔
常見問題
Q:建立許可權使用者時,提示由於安全規則設定,禁止執行CREATE_USER命令建立許可權使用者,該怎樣解決?
A:您需要根據錯誤提示框中的操作步驟解決此問題。具體操作如下:
查看執行個體綁定的安全規則集名稱。
您可在控制台首頁左側的執行個體列表中,找到目標執行個體,按右鍵目標執行個體,單擊查看詳情。
調整安全規則。
在頂部功能表列中,選擇。
在安全規則頁簽中,單擊目標規則集操作列下的編輯。
在左側導覽列中,單擊SQL變更。
檢測點選擇SQL執行規則。
選擇允許所有DCL在SQL控制台直接執行安全規則,並單擊操作列下的編輯。
在編輯規則對話方塊的規則DSL地區,將規則修改為:
if @fac.sql_type in ["DCL"] then @act.allow_execute_direct end。該寫法按 DCL 大類匹配,覆蓋
CREATE USER、GRANT等所有 DCL 語句,無需逐一列舉 SQL 類型。其中,allow_execute_direct表示允許在 SQL 控制台直接執行;allow_submit表示僅允許提交工單審批後執行,兩者允許存取力度不同,請按實際需求選擇。
單擊提交。
檢查風險識別規則。在SQL變更 > 風險識別規則中,確認是否存在將 DCL 標記為高風險的規則。若存在,需禁用或調整該規則,否則會覆蓋上一步設定的 DCL 允許存取規則,導致規則修改後仍不生效。
僅安全協同模式的執行個體支援編輯安全規則;自由操作和穩定變更模式使用系統內建規則,不支援編輯。若目標執行個體不是安全協同模式,需購買安全協同許可證並切換管控模式後才能按上述步驟修改規則。此外,請確認所修改的規則集已關聯目標執行個體,否則修改不會生效。