資料庫使用者用於AnalyticDB for PostgreSQL資料庫許可權管理,可以擁有資料庫物件的操作許可權。在串連資料庫、操作資料庫對象前,您需要先建立資料庫使用者。
使用者類型
AnalyticDB for PostgreSQL提供了兩類使用者:
高許可權使用者:包括控制台上建立的初始帳號和通過SQL建立的具有RDS_SUPERUSER身份的使用者。高許可權使用者擁有所有資料庫的所有操作許可權。具體包括:
具有CREATEROLE、CREATEDB和LOGIN許可權,即可以建立資料庫和使用者、登入資料庫,但沒有SUPERUSER許可權。
查看和修改其他使用者的資料表,執行SELECT、UPDATE、DELETE或更改所有者(Owner)等操作。
查看其他使用者的串連資訊、撤銷(Cancel)其SQL或終止(Kill)其串連。
執行CREATE EXTENSION和DROP EXTENSION命令,建立和刪除外掛程式。
建立其他具有RDS_SUPERUSER許可權的使用者。
說明AnalyticDB for PostgreSQL沒有開放SUPERUSER許可權,對應的是RDS_SUPERUSER,與雲資料庫RDS(PostgreSQL)的許可權體系一致。
普通使用者:又叫普通帳號,預設不具備任何許可權。需要高許可權使用者或具有GRANT許可權的使用者授予單個或多個資料庫物件的操作許可權。
使用建議
高許可權使用者具備資料庫的所有操作許可權。為了確保資料的安全性,建議避免使用高許可權使用者執行業務資料庫的操作。您應該建立普通使用者,並僅授予他們所需的特定資料庫物件的特定許可權,以防止未經授權的訪問和更改。
建立使用者
建立初始帳號
初始帳號也屬於高許可權使用者,具備RDS_SUPERUSER身份。您需要先建立初始帳號,通過初始帳號登入資料庫後,才能建立其他高許可權使用者或普通使用者。
初始帳號建立成功後,不可刪除。如果忘記初始帳號密碼,可修改密碼。
登入AnalyticDB for PostgreSQL控制台或調用OpenAPI可以建立初始帳號。
控制台
在雲原生資料倉儲AnalyticDB PostgreSQL版控制台的頁面頂部選擇執行個體所在地區。然後在執行個體列表中找到並單擊執行個體ID。
在左側導覽列中,單擊帳號管理。
單擊建立初始帳號。在建立帳號視窗中,填寫帳號名稱並設定密碼。然後單擊確定。
配置
說明
資料庫帳號
初始帳號的名稱,限制如下:
由小寫字母,數字和底線組成。
以小寫字母開頭,小寫字母或數字結尾。
不能以gp開頭。
長度為2~16個字元。
新密碼、確認密碼
初始帳號的密碼,限制如下:
由大寫字母、小寫字母、數字、特殊字元其中三種及以上組成。
支援的特殊字元包括
!@#$%^&*()_+-=
。長度為8~32個字元。
重要為保障資料安全,建議您定期更換密碼。不要使用曾經用過的密碼。
OpenAPI
調用CreateAccount - 建立初始帳號介面,建立初始帳號。
建立高許可權使用者RDS_SUPERUSER
建立使用者時增加RDS_SUPERUSER屬性,即可建立高許可權使用者。樣本如下:
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword' RDS_SUPERUSER;
建立普通使用者
普通使用者指不具備RDS_SUPERUSER身份的使用者。AnalyticDB for PostgreSQL控制台和OpenAPI均不支援建立普通使用者。
您可以通過SQL建立普通使用者。樣本如下:
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword';
建立高許可權使用者和普通使用者的完整SQL文法,請參見CREATE ROLE。
查詢使用者
AnalyticDB for PostgreSQL控制台僅顯示初始帳號,不顯示通過SQL建立的其他高許可權使用者和普通使用者。您可以通過SQL或OpenAPI,查詢執行個體的所有高許可權使用者(包括初始帳號)和普通使用者。
SQL
SELECT * FROM pg_roles;
查詢結果中的adbpgadmin和aurora均為系統使用者。
OpenAPI
調用DescribeAccounts - 查詢帳號資訊介面,查詢所有使用者名稱、使用者的類型(是高許可權使用者還是普通使用者)、使用者是否建立成功。
調用DescribeDiagnosisDimensions - 查詢所有資料庫和使用者介面,查詢所有使用者和資料庫。該介面不返回使用者的類型、是否建立成功。
調用DescribeRoles - 擷取角色列表介面,查詢所有使用者列表。該介面不返回使用者的類型、是否建立成功。
修改密碼
如果忘記使用者的登入密碼,您可以登入AnalyticDB for PostgreSQL控制台、執行SQL命令或調用OpenAPI,修改使用者的密碼。
控制台
控制台僅能修改初始帳號密碼。如需修改普通帳號密碼,請通過SQL修改。
在雲原生資料倉儲AnalyticDB PostgreSQL版控制台的頁面頂部選擇執行個體所在地區。然後在執行個體列表中找到並單擊執行個體ID。
在左側導覽列中,單擊帳號管理。
找到需要修改密碼的帳號,單擊重設密碼。在彈出的視窗重新輸入新密碼。
SQL
ALTER ROLE username WITH PASSWORD 'userPassword';
修改使用者的密碼、屬性等完整SQL文法,請參見ALTER ROLE。
OpenAPI
調用ResetAccountPassword - 重設帳號密碼介面,修改使用者的密碼。
下一步
普通使用者建立完成後,還無法操作或訪問任何資料庫。您還需要為普通使用者授予資料庫物件的操作許可權,請參見系統管理使用者許可權。