全部產品
Search
文件中心

:附錄:使用者及 Schema 管理

更新時間:Mar 01, 2025

在使用RDS的過程中,由於superuser不完全放開,因此我們建議使用者在使用資料庫時遵循單獨建立使用者並通過schema系統管理使用者的私人空間。

說明 本例中,myuser 是建立執行個體時建立的管理帳號,newuser 是當前需要建立的帳號。

方案一

  1. 通過初始帳號 myuser 建立有登入許可權的使用者。
    CREATE USER newuser LOGIN PASSWORD 'password';

    參數說明如下:

    • USER:要建立的使用者名稱。
    • password:使用者名稱對應的密碼,如password。
  2. 為新使用者建立schema。
    CREATE SCHEMA newuser;
    GRANT newuser to myuser;
    ALTER SCHEMA newuser OWNER TO newuser;
    REVOKE newuser FROM myuser;
    說明
    • 如果在進行ALTER SCHEMA newuser OWNER TO newuser 之前沒有將 myuser 的角色賦予 newuser,將會出現如下許可權問題:

         ERROR:  must be member of role "newuser"
    • 從安全形度出發,在處理完 OWNER 的授權後,請將 newuser 移出 myuser 角色以提高安全性。

  3. 使用 newuser 登入資料庫。
    psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
    Password for user newuser:
    psql.bin (9.4.4, server 9.4.1)
    Type "help" for help.

方案二

  1. 通過初始帳號 myuser 建立有登入許可權的使用者。
    CREATE USER newuser CREATEDB LOGIN PASSWORD 'password';

    參數說明如下:

    • USER: 要建立的使用者名稱。
    • password:使用者名稱對應的密碼。
    • CREATEDB:給使用者賦予建立資料庫的許可權。
  2. 使用新使用者 newuser 登入到資料庫。
    psql -U <資料執行個體網域名稱> -p 3433 -U newuser <資料庫名>
    CREATE DATABASE
  3. 為新使用者建立schema。
    CREATE SCHEMA newuser;
    GRANT myuser to newuser;
    ALTER SCHEMA myuser OWNER TO newuser;
    REVOKE newuser FROM myuser;
    說明
    • 如果在進行ALTER SCHEMA newuser OWNER TO newuser之前沒有將 myuser 的角色賦予 newuser,將會出現如下許可權問題:

        ERROR:  must be member of role "newuser"
    • 從安全形度出發,在處理完 OWNER 的授權後,請將 newuser 移出 myuser 角色以提高安全性。

  4. 使用 newuser 登入資料庫。
    psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
    Password for user newuser:
    psql.bin (9.4.4, server 9.4.1)
    Type "help" for help.