全部产品
云数据库 RDS 版

附录:用户及 Schema 管理

更新时间:2017-06-07 13:26:11   分享:   

在使用 RDS 的过程中,由于 superuser 不完全放开,因此我们建议用户在使用数据库时遵循单独建立用户并通过 schema 管理用户的私有空间。

说明: 本例中,myuser 是建立实例时创建的管理账号,newuser 是当前需要新建的账号。

方案一

  1. 通过初始帐号 myuser 建立有登录权限的用户。

    1. CREATE USER newuser LOGIN PASSWORD 'password';

    参数说明如下;

    • USER:要创建的用户名,如 newuser
    • password:用户名对应的密码,如 password
  2. 为新用户建立schema。

    1. CREATE SCHEMA newuser;
    2. GRANT newuser to myuser;
    3. ALTER SCHEMA newuser OWNER TO newuser;
    4. REVOKE newuser FROM myuser;

    说明:

    • 如果在进行 ALTER SCHEMA newuser OWNER TO newuser 之前没有将 myuser 的角色赋予 newuser,将会出现如下权限问题:

      1. ERROR: must be member of role "newuser"
    • 从安全角度出发,在处理完 OWNER 的授权后,请将 newuser 移出 myuser 角色以提高安全性。

  3. 使用 newuser 登录数据库。

    1. psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
    2. Password for user newuser:
    3. psql.bin (9.4.4, server 9.4.1)
    4. Type "help" for help.

方案二

  1. 通过初始帐号 myuser 建立有登录权限的用户。

    1. CREATE USER newuser CREATEDB LOGIN PASSWORD 'password';

    参数说明如下;

    • USER: 要创建的用户名,如 newuser
    • password: 用户名对应的密码,如 password
    • CREATEDB: 给用户赋予建立数据库的权限
  2. 使用新用户 newuser 登陆到数据库。

    1. psql -U <数据实例域名> -p 3433 -U newuser <数据库名>
    2. CREATE DATABASE
  3. 为新用户建立schema。

    1. CREATE SCHEMA newuser;
    2. GRANT myuser to newuser;
    3. ALTER SCHEMA myuser OWNER TO newuser;
    4. REVOKE newuser FROM myuser;

    说明:

    • 如果在进行 ALTER SCHEMA newuser OWNER TO newuser 之前没有将 myuser 的角色赋予 newuser,将会出现如下权限问题:

      1. ERROR: must be member of role "newuser"
    • 从安全角度出发,在处理完 OWNER 的授权后,请将 newuser 移出 myuser 角色以提高安全性。

  4. 使用 newuser 登录数据库。

    1. psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
    2. Password for user newuser:
    3. psql.bin (9.4.4, server 9.4.1)
    4. Type "help" for help.
本文导读目录
本文导读目录
以上内容是否对您有帮助?