

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/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>

この例では、ユーザーグループとユーザーを作成した上で、ウェブアプリケーションクライアントに接続する Amazon Redshift データベースへのさまざまなアクセス許可を付与しています。この例では、3 つのユーザーグループが想定されています。ウェブアプリケーションの一般ユーザー、ウェブアプリケーションのパワーユーザー、およびウェブ開発者の 3 グループです。

グループからユーザーを削除する方法については、「[ALTER GROUP](r_ALTER_GROUP.md)」を参照してください。

1. ユーザーを割り当てるグループを作成します。以下の一連のコマンドで、3 つのユーザーグループを作成します。

   ```
   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.  ウェブデベロッパーユーザーを作成して WEBDEVUSERS グループに追加します。

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

   1.  スーパーユーザーを作成します。このユーザーには、他のユーザーを作成できる管理権限が与えられます。

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

1.  スキーマを作成し、ウェブアプリケーションで使用されるデータベーステーブルに関連付けてから、そのスキーマに対するアクセス権限をさまざまなユーザーグループに付与します。

   1.  WEBAPP スキーマを作成します。

      ```
      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\$1path パラメータを変更します。

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

   SEARCH\$1PATH は、スキーマが指定されていない簡潔な名前でデータベースオブジェクト (テーブルや関数など) が参照されたときにスキーマを検索する順序を指定します。

1.  また、グループを作成した後で、ユーザーをグループに追加することもできます。例えば、次のように WEBAPPUSER2 を WEBPOWERUSERS グループに追加します。

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