View a markdown version of this page

以生產者身分使用 Lake Formation 管理的資料共用 - Amazon Redshift

Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊,請參閱部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

以生產者身分使用 Lake Formation 管理的資料共用

使用 Amazon Redshift,您可以存取和分析透過資料共用共用 AWS Lake Formation 的資料。 AWS Lake Formation 資料共用可跨 AWS 帳戶和 Amazon Redshift 叢集進行安全的資料共用,而無需複製或移動基礎資料。

將資料分享至 AWS Lake Formation 可讓您集中定義 Amazon Redshift 資料共用的 AWS Lake Formation 許可,並限制使用者存取資料共用中的物件。

使用 Amazon Redshift,您可以使用 AWS Lake Formation受管資料共用做為生產者,在 AWS 帳戶和 Amazon Redshift 叢集之間安全地共用即時資料。Lake Formation 受管資料共用是一種物件,可讓您將 Amazon Redshift 叢集中的即時資料與其他 AWS 帳戶和服務共用。

身為生產者叢集或工作群組管理員,請依照下列步驟將資料共用至 Lake Formation:

  1. 在叢集中建立資料共用,並授權 AWS Lake Formation 存取資料共用。

    只有叢集超級使用者和資料庫擁有者可以建立資料共用。每個資料共用都會在建立期間與資料庫相關聯。只有來自該資料庫的物件才能在該資料共用中共用。可以在具有相同或不同物件細微程度的相同資料庫上建立多個資料共用。可以在叢集中建立的資料共用數量不限。

    CREATE DATASHARE salesshare;
  2. 將物件新增到資料共用。生產者叢集或工作群組管理員會繼續管理可用的資料共用物件。若要將物件新增至資料共用,請在新增物件之前先新增結構描述。當您新增結構描述時,Amazon Redshift 不會在其下方新增所有物件。您必須明確地新增這些物件。如需詳細資訊,請參閱 ALTER DATASHARE

    ALTER DATASHARE salesshare ADD SCHEMA PUBLIC; ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift; ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;

    您也可將檢視新增到資料共用。支援的檢視為標準檢視、近期繫結檢視和具體化視觀表。

    CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift; ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;

    使用 ALTER DATASHARE 來共用結構描述及指定結構描述中的資料表和檢視。超級使用者、資料共用擁有者或在資料共用上擁有 ALTER 或 ALL 許可的使用者可以修改資料共用,以在其中新增或移除物件。資料庫使用者應是物件的擁有者,或具有物件的 SELECT、USAGE 或 ALL 許可。

    使用 INCLUDENEW 子句將指定結構描述中建立的任何新資料表和檢視新增至資料共用。只有超級使用者可以為每個「資料共用-結構描述」配對修改此屬性。

    ALTER DATASHARE salesshare ADD SCHEMA PUBLIC; ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
  3. 將資料共用的存取權授予 Lake Formation 管理員帳戶。

    GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910' VIA DATA CATALOG;

    若要撤銷使用權,請使用下列命令。

    REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '012345678910' VIA DATA CATALOG;
  4. 使用 aws redshift authorize-data-share API 操作授權存取 Lake Formation 的資料共用。這麼做可允許 Lake Formation 識別服務帳戶中的資料共用,並管理將取用者與資料共用的關聯。

    aws redshift authorize-data-share --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare --consumer-identifier {"DataCatalog/<consumer-account-id>"}

    若要從 Lake Formation 管理的資料共用中移除授權,請使用 aws redshift deauthorize-data-share API 操作。透過這樣做,您可以允許 AWS Lake Formation 辨識服務帳戶中的資料共用並移除授權。

    aws redshift deauthorize-data-share --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare --consumer-identifier {"DataCatalog/<consumer-account-id>"}

    在任何時候,如果生產者叢集或工作群組管理員決定不再需要與取用者叢集或工作群組共用資料,他們可以使用 DROP DATASHARE 刪除資料共用、取消授權資料共用,或撤銷資料共用許可。Lake Formation 中的相關許可和物件不會自動刪除。

    DROP DATASHARE salesshare;

    授權 Lake Formation 帳戶管理資料共用後,Lake Formation 管理員可以探索共用的資料共用、將日期共用與 Data Catalog ARN 建立關聯,並在 AWS Glue Data Catalog 連結至資料共用的 中建立資料庫。若要使用 建立資料共用的關聯 AWS CLI,請使用 命令 associate-data-share-consumer。若要在 AWS 區域之間共用資料共用,請在 associate-data-share-consumer 命令中指定 --region 參數,或使用 AWS 主控台選擇資料取用者。以下範例示範如何在區域之間共用 Lake Formation 受管資料共用。

    aws redshift associate-data-share-consumer --region <region-1> --data-share-arn 'arn:aws:redshift:us-east-1:12345678912:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/sample_share' --consumer-arn 'arn:aws:glue:<region-1>:111912345678:catalog'

    Lake Formation 管理員還必須建立本機資源,以定義資料共用中的物件應如何對應到 Lake Formation 中的物件。如需探索資料共用和建立本機資源的相關資訊,請參閱管理 Amazon Redshift 資料共用中的資料許可