Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

控制用户和组访问的示例

此示例创建用户组和用户账户,然后向其授予对连接到 Web 应用程序客户端的 Amazon Redshift 数据库的各种权限。此示例假设三组用户:Web 应用程序的常规用户、Web 应用程序的超级用户和 Web 开发人员。

  1. 创建将在其中分配用户账户的组。下面一组命令创建三个不同的用户组:

    Copy
    create group webappusers; create group webpowerusers; create group webdevusers;
  2. 创建多个具有不同权限的数据库用户账户并将其添加到组。

    1. 创建两个用户并将其添加到 WEBAPPUSERS 组:

      Copy
      create user webappuser1 password 'webAppuser1pass' in group webappusers; create user webappuser2 password 'webAppuser2pass' in group webappusers;
    2. 为 Web 开发人员创建账户并将其添加到 WEBDEVUSERS 组:

      Copy
      create user webdevuser1 password 'webDevuser2pass' in group webdevusers;
    3. 创建超级用户账户。此用户将具有管理权限,可以创建其他用户:

      Copy
      create user webappadmin password 'webAppadminpass1' createuser;
  3. 创建要与 Web 应用程序所使用的数据库表关联的 schema,并授予各种对此 schema 的用户组访问权限:

    1. 创建 WEBAPP schema:

      Copy
      create schema webapp;
    2. 向 WEBAPPUSERS 组授予 USAGE 权限:

      Copy
      grant usage on schema webapp to group webappusers;
    3. 向 WEBPOWERUSERS 组授予 USAGE 权限:

      Copy
      grant usage on schema webapp to group webpowerusers;
    4. 向 WEBDEVUSERS 组授予 ALL 权限:

      Copy
      grant all on schema webapp to group webdevusers;

    基本用户和组现已设置。您现在便可修改用户和组。

  4. 例如,以下命令会修改 WEBAPPUSER1 的 search_path 参数。

    Copy
    alter user webappuser1 set search_path to webapp, public;

    SEARCH_PATH 指定在通过未指定 schema 的简单名称引用数据库对象(例如,表和函数)时,对象的 schema 搜索顺序。

  5. 您还可以在创建组之后向组中添加用户,例如,将 WEBAPPUSER2 添加到 WEBPOWERUSERS 组:

    Copy
    alter group webpowerusers add user webappuser2;