

 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="r_REVOKE-examples"></a>

次の例では、SALES テーブルに関する INSERT 権限を GUESTS ユーザーグループから取り消します。このコマンドを実行すると、GUESTS のメンバーは、INSERT コマンドを使って SALES テーブルにデータをロードすることができなくなります。

```
revoke insert on table sales from group guests;
```

次の例では、QA\$1TICKIT スキーマのすべてのテーブルに対する SELECT 権限をユーザー `fred` から取り消します。

```
revoke select on all tables in schema qa_tickit from fred;
```

次の例では、SELECT 権限をユーザー `bobr` のビューから取り消します。

```
revoke select on table eventview from bobr;
```

次の例では、TICKIT データベースで一時テーブルを作成する権限をすべてのユーザーから取り消します。

```
revoke temporary on database tickit from public;
```

次の例では、`cust_profile`テーブルの `cust_name` 列 と `cust_phone` 列に対する SELECT 権限をユーザー `user1` から取り消します。

```
revoke select(cust_name, cust_phone) on cust_profile from user1;
```

次の例では、`sales_group`グループから、`cust_profile`テーブルの `cust_name` 列と `cust_phone` 列に対する SELECT 権限と `cust_contact_preference` 列に対する UPDATE 権限を取り消します。

```
revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;
```

次の例では、ALL キーワードを使用して、`sales_admin`グループ `cust_profile` テーブルの 3 つの列に対する SELECT 権限と UPDATE 権限の両方を取り消す方法を説明します。

```
revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;
```

次の例では、`cust_profile_vw`ビューの `cust_name` 列に対する SELECT 権限を `user2` ユーザーから取り消す方法を説明します。

```
revoke select(cust_name) on cust_profile_vw from user2;
```

## データ共有経由で作成されたデータベースから USAGE アクセス許可を取り消す例
<a name="r_REVOKE-examples-datashare"></a>

次の例では、`13b8833d-17c6-4f16-8fe4-1a018f5ed00d` 名前空間から `salesshare` データ共有へのアクセスを取り消します。

```
REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
```

次の例では、`sales_db` に対する USAGE アクセス許可を `Bob` から取り消します。

```
REVOKE USAGE ON DATABASE sales_db FROM Bob;
```

次の例では、`sales_schema` に対する USAGE アクセス許可を `Analyst_role` から REVOKE します。

```
REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;
```

## スコープ付きアクセス許可を取り消す例
<a name="r_REVOKE-examples-scoped"></a>

次の例では、`Sales_db` データベース内の現在および将来のすべてのスキーマの使用を `Sales` ロールから取り消します。

```
REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;
```

次の例では、`Sales_db` データベース内の現在および将来のすべてのテーブルに対する SELECT アクセス許可をユーザー `alice` に付与する権限を取り消します。`alice` は `Sales_db` 内のすべてのテーブルへのアクセスを保持します。

```
REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;
```

次の例では、`Sales_schema` スキーマ内の関数の EXECUTE アクセス許可をユーザー `bob` から削除します。

```
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
```

次の例では、`ShareDb` データベースの `ShareSchema` スキーマ内のすべてのテーブルに対するすべてのアクセス許可を `Sales` ロールから削除します。スキーマを指定するとき、2 つの部分からなる形式 `database.schema` を使用してスキーマのデータベースを指定することもできます。

```
REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;
```

次の例では、前の例と同じです。2 つの部分からなる形式を使用する代わりに、`DATABASE` キーワードを使用してスキーマのデータベースを指定できます。

```
REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;
```

## AssumeROLE 権限を取り消す例
<a name="r_REVOKE-examples-assumerole"></a>

次に、ASSUMEROLE 権限を取り消す例を示します。

スーパーユーザーは、クラスターで次のステートメントを 1 回実行することによって、ユーザーおよびグループに対して ASSUMEROLE 権限の使用を有効にする必要があります。

```
revoke assumerole on all from public for all;
```

次のステートメントは、すべてのオペレーションのすべてのロールについて、ユーザー reg\$1user1 からの ASSUMEROLE 権限を取り消します。

```
revoke assumerole on all from reg_user1 for all;
```

## ROLE 権限を取り消す例
<a name="r_REVOKE-examples-role"></a>

次の例では、sample\$1role1 を sample\$1role2 から取り消します。

```
CREATE ROLE sample_role2;
GRANT ROLE sample_role1 TO ROLE sample_role2;
REVOKE ROLE sample_role1 FROM ROLE sample_role2;
```

次の例では、user1 からシステム権限を取り消します。

```
GRANT ROLE sys:DBA TO user1;
REVOKE ROLE sys:DBA FROM user1;
```

次の例では、user1 から sample\$1role1 と sample\$1role2 を取り消します。

```
CREATE ROLE sample_role1;
CREATE ROLE sample_role2;
GRANT ROLE sample_role1, ROLE sample_role2 TO user1;
REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;
```

次の例では、ADMIN OPTION を指定して user1 から sample\$1role2 を取り消します。

```
GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION;
REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1;
REVOKE ROLE sample_role2 FROM user1;
```

次の例では、sample\$1role5 から sample\$1role1 と sample\$1role2 を取り消します。

```
CREATE ROLE sample_role5;
GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5;
REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;
```

次の例では、sample\$1role1 のシステム権限、CREATE SCHEMA および DROP SCHEMA を取り消します。

```
GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1;
REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;
```