全部產品
Search
文件中心

AnalyticDB:使用者權限管理

更新時間:Feb 05, 2024

本文介紹了使用者和許可權管理的方法。

使用者管理

執行個體建立過程中,會提示使用者指定初始使用者名稱和密碼,這個初始使用者為“根使用者”。執行個體建立好後,使用者可以使用該根使用者串連資料庫。使用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;