

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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 ]

您可以從**資料共用**或**叢集**索引標籤檢視資料共用。
+ 使用**資料共用**索引標籤可列出您帳戶中或來自其他帳戶的資料共用。
  + 若要檢視您帳戶中建立的資料共用，請選擇**在我的帳戶中**，然後選擇您要檢視的資料共用。
  + 若要檢視從其他帳戶共用的資料庫，請選擇**來自其他帳戶**，然後選擇您要檢視的資料共用。
+ 使用**叢集**索引標籤可列出您叢集中或來自其他叢集的資料共用。

  首先，連接至資料庫。然後從**來自其他叢集的資料共用**或**我的叢集中建立的資料共用**區段中選擇資料共用，以檢視其詳細資訊。

------
#### [ 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. 在導覽選單上，選擇**叢集**，然後選擇您的叢集。叢集詳細資訊頁面會隨即出現。

1. 選擇**資料共用**。

1. 在**在我的帳戶中建立的資料共用**區段中，選擇**連線到資料庫**。

1. 選擇您要編輯的資料共用，然後選擇**編輯**。資料共用詳細資訊頁面會隨即出現。

1. 在**資料共用物件**或**資料取用者**區段中進行任何變更。

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 中撤銷取用者對資料共用的存取權。

**注意**  
若要移除資料共用的授權，至少必須將一個資料取用者新增至資料共用。

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

選擇您要從中移除授權的一個或多個取用者叢集。然後選擇**移除授權**。

移除授權後，資料取用者會立即失去對資料共用的存取權限。

------
#### [ 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>

您可以使用下列程序，從資料共用中移除一個或多個物件。

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

若要在主控台上從資料共用中移除一或多個物件，請依照下列步驟進行。

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽選單上，選擇**叢集**，然後選擇您的叢集。叢集詳細資訊頁面會隨即出現。

1. 選擇**資料共用**。

1. 在**在我的帳戶中建立的資料共用**區段中，選擇**連線到資料庫**。如需詳細資訊，請參閱[連線至資料庫](connect-database-console.md)。

1. 選擇您要編輯的資料共用，然後選擇**編輯**。資料共用詳細資訊頁面會隨即出現。

1. 若要對資料共用移除一或多個資料共用物件，請執行下列其中一項操作：
   + 若要從資料共用中移除結構描述，請選擇一或多個結構描述。然後選擇**移除**。Amazon Redshift 會從資料共用中移除指定的結構描述和指定結構描述的所有物件。
   + 若要從資料共用中移除資料表和檢視，請選擇一或多個資料表和檢視。然後選擇**移除**。或者，您也可以選擇**依結構描述移除**，移除指定結構描述中的所有資料表和檢視。
   + 若要從資料共用中移除使用者定義函數，請選擇一或多個使用者定義函數。然後選擇**移除**。或者，您也可以選擇**依結構描述移除**，移除指定結構描述中的所有使用者定義函數。

------
#### [ 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>

您可以從資料共用中移除一或多個資料取用者。資料取用者可以是可唯一識別 Amazon Redshift 叢集或 AWS 帳戶的命名空間。

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

若要在主控台上從資料共用中移除一或多個資料取用者，請從命名空間 ID 或 AWS 帳戶中選擇一或多個資料取用者。然後選擇**移除**。

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. 在導覽選單上，選擇**叢集**，然後選擇您的叢集。叢集詳細資訊頁面會隨即出現。

1. 選擇**資料共用**。資料共用清單會隨即出現。

1. 在**在我的帳戶中建立的資料共用**區段中，選擇**連線到資料庫**。

1. 選擇一或多個您要刪除的資料共用，然後選擇**刪除**。刪除資料共用頁面會隨即出現。

   刪除與 Lake Formation 共用的資料共用不會自動移除 Lake Formation 中的相關許可。若要將其刪除，請前往 Lake Formation 控制台。

1. 輸入**刪除**以確認刪除指定的資料共用。

1. 選擇**刪除**。

刪除資料共用之後，資料共用取用者會失去資料共用的存取權。

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

您可以使用 SQL 在任何時間點利用 [DROP DATASHARE](r_DROP_DATASHARE.md) 刪除資料共用物件。叢集超級使用者和資料共用擁有者可以捨棄資料共用。

以下範例會捨棄名為 `salesshare` 的資料共用。

```
DROP DATASHARE salesshare;
```

------