

 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/)を参照してください。

# Amazon Redshift の既存のデータ共有に対するプロデューサーのアクション
<a name="writes-producer-existing"></a>

Amazon Redshift では、既存のデータ共有を管理して、Amazon Redshift クラスター内のデータへのアクセスを制御できます。以下のセクションでは、Amazon Redshift 環境でのデータアクセスを効果的に制御および監査するために、データ共有オブジェクトの変更、データ共有アクセス許可の管理、データ共有プロパティの更新に関するステップバイステップのガイダンスを提供します。

**Topics**
+ [Amazon Redshift でデータ共有を表示する](writes-viewing.md)
+ [アカウントで作成されたデータ共有を Amazon Redshift で編集する](writes-editing.md)
+ [Amazon Redshift でデータ共有の承認を取り消す](writes-removing-authorization.md)
+ [Amazon Redshift でデータ共有からデータ共有オブジェクトを削除する](writes-removing-datashare-object.md)
+ [Amazon Redshift でデータ共有からデータコンシューマーを削除する](writes-removing-data-consumer.md)
+ [アカウントで作成されたデータ共有を Amazon Redshift で削除する](writes-deleting.md)

# Amazon Redshift でデータ共有を表示する
<a name="writes-viewing"></a>

データ共有は、コンソールまたは SQL を使用して表示できます。

------
#### [ Console ]

**[データ共有]** タブまたは **[クラスター]** タブからデータ共有を表示できます。
+ **[データ共有]** タブには、ご利用のアカウントまたは他のアカウントのデータ共有のリストが表示されます。
  + ご使用のアカウントで作成されたデータ共有を表示するには、[**In my account (マイアカウントで)**] を選択してから、表示するデータ共有を選択します。
  + 他のアカウントから共有されているデータ共有を表示するには、[**From other accounts (他のアカウントから)**] を選択してから、表示するデータ共有を選択します。
+ **[クラスター]** タブには、ご利用のクラスター内または他のクラスターからのデータ共有のリストが表示されます。

  初めにデータベースに接続します。次に、**[他のクラスターからのデータ共有]** または **[クラスターで作成されたデータ共有]** セクションからデータ共有を選択して、その詳細を表示します。

------
#### [ SQL ]

クラスターで作成されたデータ共有のリストを表示し、データ共有のコンテンツを確認できます。

次の例は、`salesshare`という名前のデータ共有の情報を表示します。

```
DESC DATASHARE salesshare;
               
 producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name          |   include_new
-------------------+--------------------------------------+------------+------------+-------------+--------------------------------+-------------------
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_users_redshift   |   
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_venue_redshift   |
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_category_redshift|
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_date_redshift    |
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_event_redshift   |
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_listing_redshift |
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_sales_redshift   |
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | schema      | public                         |  t
 123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | view        | public.sales_data_summary_view |
```

次の例は、プロデューサークラスター内のアウトバウンドデータ共有を表示します。

```
SHOW DATASHARES LIKE 'sales%';
```

出力は次の例のようになります。

```
share_name | share_owner  | source_database | consumer_database | share_type |     createdate      | is_publicaccessible  | share_acl | producer_account |          producer_namespace 
-----------+--------------+-----------------+-------------------+------------+---------------------+----------------------+-----------+------------------+---------------------------------------
salesshare |    100       | dev             |                   |  OUTBOUND  | 2020-12-09 02:27:08 |          True        |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
```

詳細については、「[DESC DATASHARE](r_DESC_DATASHARE.md)」および「[SHOW DATASHARES](r_SHOW_DATASHARES.md)」を参照してください。

[SVV\$1DATASHARES](r_SVV_DATASHARES.md)、[SVV\$1DATASHARE\$1CONSUMERS](r_SVV_DATASHARE_CONSUMERS.md)、および [SVV\$1DATASHARE\$1OBJECTS](r_SVV_DATASHARE_OBJECTS.md) を使用して、データ共有、そのデータ共有内のオブジェクト、およびデータ共有のコンシューマーを表示することもできます。

------

# アカウントで作成されたデータ共有を Amazon Redshift で編集する
<a name="writes-editing"></a>

アカウントで作成されたデータ共有は、コンソールと SQL を使用して編集できます。

------
#### [ Console ]

コンソールで以下の手順に従って、まずデータベースに接続し、アカウントで作成されたデータ共有のリストを確認します。

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) で Amazon Redshift コンソールを開きます。

1. ナビゲーションメニューで **[Clusters]** (クラスター) を選択してから、ご使用のクラスターを選択します。クラスターの詳細ページが表示されます。

1. [**Datashares (データ共有)**] を選択します。

1. [**Datashares created in my account (アカウントで作成されたデータ共有)**] セクションで、[**Connect to database (データベースに接続)**] を選択します。

1. 編集するデータ共有を選択して [**Edit (編集)**] を選択します。データ共有の詳細ページが表示されます。

1. [**Datashare objects (データ共有オブジェクト)**] または [**Data consumers (データコンシューマー)**] セクションで変更を加えます。

1. [**変更を保存**] をクリックします。Amazon Redshift は、変更を加えてデータ共有を更新します。
**注記**  
データ共有を AWS Glue Data Catalog に公開することを選択した場合、そのデータ共有を他の Amazon Redshift アカウントに公開するように設定を編集することはできません。

------
#### [ SQL ]

ALTER DATASHARE コマンドを使用すると、データ共有から任意の時点でオブジェクトを削除できます。スキーマを削除するには、次のコマンドを使用します。

```
ALTER DATASHARE salesshare REMOVE SCHEMA PUBLIC;
```

テーブルを削除するには、次のコマンドを使用します。

```
ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;
```

REVOKE USAGE ON を使用すると、特定のコンシューマーについて、データ共有への許可を取り消すことができます。このコマンドは、データ共有内にあるオブジェクトの USAGE 許可を取り消し、すべてのコンシューマークラスターへのアクセスを即座に停止します。アクセス許可が取り消されたあとは、データベースやテーブルに関するものを含め、データ共有およびメタデータを一覧表示するためのクエリは、共有されたオブジェクトを返さなくなります。コンシューマーとデータを共有する必要がなくなった場合は、名前空間からデータ共有へのアクセスを取り消します。

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

コンシューマーとデータを共有する必要がなくなった場合は、AWS アカウントからデータ共有へのアクセス権を取り消します。

```
REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '123456789012';
```

------

# Amazon Redshift でデータ共有の承認を取り消す
<a name="writes-removing-authorization"></a>

Amazon Redshift では、指定されたコンシューマーの承認を取り消すことで、データ共有へのアクセスを制御できます。以下のセクションでは、Amazon Redshift のデータ共有へのコンシューマーによるアクセスを取り消す手順を説明します。

**注記**  
データ共有の承認を取り消すには、データ共有に少なくとも 1 つのデータコンシューマーが追加されている必要があります。

------
#### [ Console ]

認可を削除するコンシューマークラスターを 1 つ以上選択します。次に、**[承認を削除]** を選択します。

認可が削除された直後から、データコンシューマーはデータ共有にアクセスできなくなります。

------
#### [ API ]

プロデューサーセキュリティ管理者は以下を決定します。
+ 別のアカウントがデータ共有へのアクセス権を持つことができるかどうか。
+ アカウントにデータ共有へのアクセス権がある場合に、そのアカウントに書き込みのアクセス許可があるかどうか。

データ共有の承認を取り消すには、以下の IAM アクセス許可が必要です。

**redshift:DeauthorizeDataShare**

CLI 呼び出しまたは API を使用して、使用と書き込みの権限を取り消すことができます。

```
deauthorize-data-share
--data-share-arn <value>
--consumer-identifier <value>
```

コマンドの詳細については、「[deauthorize-data-share](https://docs.aws.amazon.com/cli/latest/reference/redshift/deauthorize-data-share.html)」を参照してください。

------

# Amazon Redshift でデータ共有からデータ共有オブジェクトを削除する
<a name="writes-removing-datashare-object"></a>

次の手順を使用して、データ共有から 1 つ以上のオブジェクトを削除できます。

------
#### [ Console ]

コンソールでデータ共有から 1 つ以上のオブジェクトを削除するには、次の手順に従います。

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) で Amazon Redshift コンソールを開きます。

1. ナビゲーションメニューで **[Clusters]** (クラスター) を選択してから、ご使用のクラスターを選択します。クラスターの詳細ページが表示されます。

1. [**Datashares (データ共有)**] を選択します。

1. [**Datashares created in my account (アカウントで作成されたデータ共有)**] セクションで、[**Connect to database (データベースに接続)**] を選択します。詳細については、「[データベースへの接続](connect-database-console.md)」を参照してください。

1. 編集するデータ共有を選択して [**Edit (編集)**] を選択します。データ共有の詳細ページが表示されます。

1. データ共有から 1 つ以上のデータ共有オブジェクトを削除するには、次のいずれかを実行します。
   + データ共有からスキーマを削除するには、1 つまたは複数のスキーマを選択します。次に、[**Remove (削除)**] を選択します。Amazon Redshift は、指定されたスキーマと指定されたスキーマのすべてのオブジェクトをデータ共有から削除します。
   + データ共有からテーブルとビューを削除するには、1 つまたは複数のテーブルとビューを選択します。次に、[**Remove (削除)**] を選択します。または、[**Remove by schema (スキーマで削除)**] を選択して、指定したスキーマのすべてのテーブルとビューを削除します。
   + データ共有からユーザー定義関数を削除するには、1 つまたは複数のユーザー定義関数を選択します。次に、[**Remove (削除)**] を選択します。または、[**Remove by schema (スキーマで削除)**] を選択して、指定したスキーマ内のすべてのユーザー定義関数を削除します。

------
#### [ SQL ]

ALTER DATASHARE コマンドを使用すると、データ共有から任意の時点でオブジェクトを削除できます。スキーマを削除するには、次のコマンドを使用します。

```
ALTER DATASHARE salesshare REMOVE SCHEMA PUBLIC;
```

テーブルを削除するには、次のコマンドを使用します。

```
ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;
```

------

# Amazon Redshift でデータ共有からデータコンシューマーを削除する
<a name="writes-removing-data-consumer"></a>

データ共有から 1 つ以上のデータコンコンシューマーを削除できます。データコンシューマーには、Amazon Redshift クラスターまたは AWS アカウントを一意に識別する名前空間を使用できます。

------
#### [ Console ]

コンソールでデータ共有から 1 つ以上のデータコンシューマーを削除するには、名前空間 ID または AWS アカウントから 1 つ以上のデータコンシューマーを選択します。次に、**[削除]** を選択します。

Amazon Redshift は、指定されたデータコンシューマーをデータ共有から削除します。すぐにデータ共有へのアクセスが失われます。

------
#### [ SQL ]

REVOKE USAGE ON を使用すると、特定のコンシューマーについて、データ共有への許可を取り消すことができます。このコマンドは、データ共有内にあるオブジェクトの USAGE 許可を取り消し、すべてのコンシューマークラスターへのアクセスを即座に停止します。アクセス許可が取り消されたあとは、データベースやテーブルに関するものを含め、データ共有およびメタデータを一覧表示するためのクエリは、共有されたオブジェクトを返さなくなります。コンシューマーとデータを共有する必要がなくなった場合は、名前空間からデータ共有へのアクセスを取り消します。

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

------

# アカウントで作成されたデータ共有を Amazon Redshift で削除する
<a name="writes-deleting"></a>

アカウントで作成されたデータ共有は、コンソールまたは SQL を使用して削除できます。

------
#### [ Console ]

アカウントで作成されたデータ共有をコンソールを使用して削除するには、まずデータベースに接続して、アカウントで作成されたデータ共有のリストを表示します。

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) で Amazon Redshift コンソールを開きます。

1. ナビゲーションメニューで **[Clusters]** (クラスター) を選択してから、ご使用のクラスターを選択します。クラスターの詳細ページが表示されます。

1. [**Datashares (データ共有)**] を選択します。データ共有リストが表示されます。

1. [**Datashares created in my account (アカウントで作成されたデータ共有)**] セクションで、[**Connect to database (データベースに接続)**] を選択します。

1. 削除するデータ共有を 1 つ以上選択してから、[**Delete (削除)**] を選択します。[Delete datashares (データ共有の削除)] ページが表示されます。

   Lake Formation と共有されているデータ共有を削除しても、Lake Formation 内の関連付けられているアクセス許可は自動的に削除されません。それらを削除するには、Lake Formation コンソールにアクセスしてください。

1. [**Delete (削除)**] と入力して、指定したデータ共有の削除を確認します。

1. [**削除**] を選択します。

データ共有が削除されると、データ共有のコンシューマーはデータ共有にアクセスできなくなります。

------
#### [ SQL ]

SQL を使用して、いつでも [DROP DATASHARE](r_DROP_DATASHARE.md) でデータ共有オブジェクトを削除できます。クラスターのスーパーユーザーとデータ共有の所有者は、データ共有を削除できます。

次の例では、`salesshare`という名前のデータ共有を削除します。

```
DROP DATASHARE salesshare;
```

------