本文為您介紹主賬號如何使用簡單權限模型和專家權限模型,授予RAM用戶實例的開發權限。
背景信息
系統默認設置購買實例的主賬號為超級管理員Superuser。Superuser擁有該實例的所有權限,例如創建數據庫、刪除數據庫、創建角色以及為角色授權等。
RAM用戶的權限說明如下:
RAM用戶需要被主賬號授權后才能訪問實例。RAM用戶也可以被授權為Superuser。
即使RAM用戶擁有實例的購買權限,也必須經過主賬號授予實例的開發權限后,才能在Hologres實例中進行數據開發。
RAM權限與實例的開發權限的權限控制不同,詳情請參見授予RAM用戶權限。
使用簡單權限模型為RAM用戶授權(推薦)
您可以在Hologres管理控制臺使用可視化方式為RAM用戶授權。具體操作如下:
新建用戶。
使用主賬號登錄阿里云官網。
登錄Hologres管理控制臺,單擊目標實例名稱,進入實例詳情頁。
在實例詳情頁的左側導航欄,單擊賬號管理,默認進入用戶管理頁面。
在用戶管理頁面,單擊右上角新增用戶。
配置新增用戶彈框的各項參數。
參數
描述
選擇組織成員
選擇需要授權的RAM用戶,將其創建至實例中。
選擇成員角色
實例超級管理員(Superuser):擁有實例內所有操作的權限。
普通用戶:默認無實例的操作權限。
您需要授予RAM用戶具體的操作權限后,RAM用戶才能連接Hologres實例并使用。
單擊確認。
可選:為用戶授權。
如果新增的用戶是普通用戶,則需要執行該步驟。具體操作如下:
在用戶管理頁面,單擊左側導航欄DB授權。
如果DB管理頁面沒有數據庫,您需要執行如下操作:
單擊新增數據庫。
配置實例名稱,輸入數據庫名稱,并選擇簡單權限策略為SPM。
進入DB授權頁面,單擊操作列的 。
配置新增授權的各項參數。
參數
描述
用戶
需要授權的RAM用戶。
用戶組
Admin:可以訪問或操作數據庫的所有對象,以及管理數據庫的用戶組。
Developer:可以使用DDL語句創建、刪除或修改數據庫的對象,以及讀寫數據庫對象中的數據。
Writer:讀寫數據庫對象中的數據。
Viewer:擁有所有數據庫對象的只讀權限。
單擊確認。
簡單權限模型也支持使用SQL語句為RAM用戶授權,詳情請參見簡單權限模型的使用。
使用專家權限模型為RAM用戶授權
使用專家權限模型為RAM用戶授權的操作步驟如下:
新建用戶。
創建RAM用戶至Hologres實例。示例語句如下。
CREATE USER "p4_賬號ID"; //ID為阿里云RAM用戶的UID。 CREATE USER "p4_賬號ID" SUPERUSER; //授予RAM用戶Superuser權限。
為用戶授權。
RAM用戶需要被授予相應的權限后,才能訪問權限范圍內的對象。示例授權語句如下。
GRANT SELECT ON TABLE TABLENAME TO "賬號ID"; //授予RAM用戶表的查看權限。 GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO "p4_賬號ID"; //授予RAM用戶所有表的新增、修改和查看權限。
說明只有Superuser和表Owner才可以刪除表。
專家權限模型的更多授權操作請參見專家權限模型。
RAM用戶使用Hologres
完成授權的RAM用戶可以在Psql客戶端連接Hologres實例并使用。詳情請參見PSQL客戶端。
示例語句如下。
PGUSER=<AccessID> PGPASSWORD=<AccessKey> psql -p <Port> -h <Endpoint> -d <Database>
查看RAM用戶的權限
您可以通過如下方式查看RAM用戶的權限:
使用管理控制臺查看RAM用戶的權限。
進入Hologres管理控制臺的實例詳情頁。
在實例詳情頁左側導航欄,單擊賬號管理。
在用戶管理頁面查看RAM用戶的權限。
如果您的數據庫已經開啟簡單權限模型,您可以在DB管理頁面,單擊目標數據庫的用戶授權,查看RAM用戶已加入的用戶組。
使用SQL語句查看RAM用戶的權限。
連接開發工具至Hologres實例后,您可以使用如下SQL語句查看RAM用戶的權限。
SELECT * FROM pg_roles WHERE rolname = 'p4_ID'; //查看某個成員擁有的角色。 SELECT rolname FROM pg_roles; SELECT user_display_name(rolname) FROM pg_roles;