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

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

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

之後 AWS Lake Formation 系統管理員發現資料識別邀請,並在 AWS Glue Data Catalog 連結至資料清單、用戶叢集或工作群組管理員可以將叢集與資料相關聯,以及 AWS Glue Data Catalog,建立取用者叢集或工作群組本機的資料庫,並授與 Amazon Redshift 取用者叢集或工作群組中使用者和角色的存取權,以開始查詢。請遵循以下步驟來設定查詢許可。

  1. 如有需要,請在 Amazon Redshift 主控台建立 Redshift 叢集做為取用者叢集或工作群組使用。如需如何建立叢集的資訊,請參閱建立叢集

  2. 若要列出中的資料庫 AWS Glue Data Catalog 消費者叢集或工作群組使用者可以存取、執行SHOWDATABASES命令。

    SHOW DATABASES FROM DATA CATALOG [ACCOUNT <account-id>,<account-id2>] [LIKE <expression>]

    這樣做會列出資料目錄中可用的資源,例如 AWS Glue 數據庫的ARN,數據庫名稱和有關數據保護的信息。

  3. 使用 AWS Glue 資料庫 ARN SHOWDATABASES,在用戶叢集或工作群組中建立本機資料庫。如需詳細資訊,請參閱CREATEDATABASE

    CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
  4. 視需要,將從資料共用建立的資料庫和結構描述參照的存取權授予取用者叢集或工作群組中的使用者和角色。如需詳細資訊,請參閱GRANTREVOKE。請注意,透過CREATEUSER指令建立的使用者無法存取已共用至 Lake Formation 的資料清單中的物件。只有同時擁有 Redshift 和 Lake Formation 存取權的使用者才能存取已與 Lake Formation 共用的資料共用。

    GRANT USAGE ON DATABASE sales_db TO IAM:Bob;

    身為取用者叢集或工作群組管理員,您只能將從資料共用建立的整個資料庫的許可指派給使用者和角色。在某些情況下,您需要更精細地控制從資料共用中建立的資料庫物件子集。

    您也可以在共用物件之上建立近期繫結檢視,並使用這些檢視來指派精細的許可。您也可以考慮讓生產者叢集或工作群組以所需的精細程度為您建立其他資料共用。您可以為從資料共用中建立的資料庫建立盡可能多的結構描述參照。

  5. 數據庫用戶可以使用視圖 SVV EXTERNAL SVV _ EXTERNAL _ TABLES 和 _ _ COLUMNS 來查找所有共享表或列中 AWS Glue database

    SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db'; SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
  6. 查詢資料共用中共用物件的資料。

    在取用者資料庫和取用者叢集或工作群組結構描述上具有許可的使用者和角色,可以探索和瀏覽任何共用物件的中繼資料。他們也可以探索和瀏覽取用者叢集或工作群組中的本機物件。若要這麼做,他們可以使用JDBC或ODBC驅動程式或 SVV _ ALL 和 SVV _ EXTERNAL 檢視。

    SELECT * FROM lf_db.schema.table;

    您只能在共享物件上使用SELECT陳述式。不過,您可以從不同本機資料庫中的共用物件查詢資料,在取用者叢集中建立資料表。

    // Connect to a local cluster database // Create a view on shared objects and access it. CREATE VIEW sales_data AS SELECT * FROM sales_db.public.tickit_sales_redshift WITH NO SCHEMA BINDING; SELECT * FROM sales_data;