用戶權限管理
更新時間:
本文介紹了用戶和權限管理的方法。
用戶管理
實例創建過程中,會提示用戶指定初始用戶名和密碼,這個初始用戶為“根用戶”。實例創建好后,用戶可以使用該根用戶連接數據庫。使用psql(PostgreSQL或Greenplum的客戶端工具)連接數據庫后,通過\du+
命令可以查看所有用戶的信息,示例如下:
重要
除了根用戶外,還有其他內部管理用戶被創建。
postgres=> \du+
返回結果如下:
List of roles
Role name | Attributes | Member of | Description
--------------+-----------------------------------+-----------+---------------
root_user | | | rds_superuser
...
目前,AnalyticDB PostgreSQL版沒有開放SUPERUSER權限,對應的是 RDS_SUPERUSER,這一點與云數據庫RDS(PostgreSQL)中的權限體系一致。所以,根用戶(如上面的示例中的root_user)具有RDS_SUPERUSER權限,這個權限屬性只能通過查看用戶的描述(Description)來識別。根用戶具有如下權限:
具有CREATEROLE、CREATEDB和LOGIN權限,即可以用來創建數據庫和用戶,但沒有SUPERUSER權限。
查看和修改其它非超級用戶的數據表,執行SELECT、UPDATE、DELETE或更改所有者(Owner)等操作。
查看其它非超級用戶的連接信息、撤銷(Cancel)其SQL或終止(Kill)其連接。
執行CREATE EXTENSION和DROP EXTENSION命令,創建和刪除插件。
創建其他具有RDS_SUPERUSER權限的用戶,示例如下:
CREATE ROLE root_user2 RDS_SUPERUSER LOGIN PASSWORD 'xyz';
權限管理
用戶可以在數據庫(Database)、模式(Schema)、表等多個層次管理權限。賦予一個用戶表上的讀取權限,但收回修改權限,示例如下:
GRANT SELECT ON TABLE t1 TO normal_user1;
REVOKE UPDATE ON TABLE t1 FROM normal_user1;
REVOKE DELETE ON TABLE t1 FROM normal_user1;
文檔內容是否對您有幫助?