

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 控制用户和组访问的示例
<a name="t_user_group_examples"></a>

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

有关如何从组中移除用户的信息，请参阅 [ALTER GROUP](r_ALTER_GROUP.md)。

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

   ```
   create group webappusers;
   
   create group webpowerusers;
   
   create group webdevusers;
   ```

1.  创建多个具有不同权限的数据库用户并将其添加到组。

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

      ```
      create user webappuser1 password 'webAppuser1pass'
      in group webappusers;
      
      create user webappuser2 password 'webAppuser2pass'
      in group webappusers;
      ```

   1.  创建 Web 开发人员用户并将其添加到 WEBDEVUSERS 组：

      ```
      create user webdevuser1 password 'webDevuser2pass'
      in group webdevusers;
      ```

   1.  创建超级用户。此用户将具有管理权限，可以创建其他用户：

      ```
      create user webappadmin  password 'webAppadminpass1'
      createuser;
      ```

1.  创建要与 Web 应用程序所使用的数据库表关联的 schema，并授予对此 schema 的各种用户组访问权限：

   1.  创建 WEBAPP schema：

      ```
      create schema webapp;
      ```

   1.  向 WEBAPPUSERS 组授予 USAGE 权限：

      ```
      grant usage on schema webapp to group webappusers;
      ```

   1.  向 WEBPOWERUSERS 组授予 USAGE 权限：

      ```
      grant usage on schema webapp to group webpowerusers;
      ```

   1.  向 WEBDEVUSERS 组授予 ALL 权限：

      ```
      grant all on schema webapp to group webdevusers;
      ```

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

1.  例如，以下命令会修改 WEBAPPUSER1 的 search\_path 参数。

   ```
   alter user webappuser1 set search_path to webapp, public;
   ```

   SEARCH\_PATH 指定在通过未指定 schema 的简单名称引用数据库对象（例如，表和函数）时，对象的 schema 搜索顺序。

1.  您还可以在创建组之后向组中添加用户，例如，将 WEBAPPUSER2 添加到 WEBPOWERUSERS 组：

   ```
   alter group webpowerusers add user webappuser2;
   ```