Utilizzo di unità di condivisione dati gestite da Lake Formation in qualità di consumer - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di unità di condivisione dati gestite da Lake Formation in qualità di consumer

Dopo il AWS Lake Formation l'amministratore scopre l'invito alla condivisione dei dati e crea un database nel AWS Glue Data Catalog che si collega al datashare, l'amministratore del cluster di consumatori o del gruppo di lavoro può associare il cluster al datashare e il database nel AWS Glue Data Catalog, crea un database locale per il cluster o il gruppo di lavoro di consumatori e concedi l'accesso a utenti e ruoli nel cluster di consumatori o nel gruppo di lavoro di Amazon Redshift per iniziare a eseguire query. Segui la procedura riportata sotto per impostare le autorizzazioni per eseguire query.

  1. Nella console Amazon Redshift crea un gruppo di lavoro o un cluster consumer Amazon Redshift, se necessario. Per informazioni su come creare un cluster, consulta Creazione di un cluster.

  2. Per elencare i database presenti in AWS Glue Data Catalog Esegui il SHOWDATABASEScomando a cui gli utenti del cluster di consumatori o del gruppo di lavoro hanno accesso.

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

    In questo modo vengono elencate le risorse disponibili nel Data Catalog, ad esempio AWS Glue databaseARN, nome del database e informazioni sul datashare.

  3. Utilizzo di AWS Glue database ARN da SHOWDATABASES, crea un database locale nel cluster di consumatori o nel gruppo di lavoro. Per ulteriori informazioni, vedere CREATEDATABASE.

    CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
  4. Fornisci ai ruoli o agli utenti nel gruppo di lavoro o nel cluster consumer l'accesso per i database e i riferimenti allo schema creati dalle unità di condivisione dati in base alle esigenze. Per ulteriori informazioni, vedere GRANTo REVOKE. Nota che gli utenti creati dal CREATEUSERcomando non possono accedere agli oggetti nel datashare che sono stati condivisi con Lake Formation. Solo gli utenti con accesso sia a Redshift che a Lake Formation possono accedere alle unità di condivisione dati condivise con Lake Formation.

    GRANT USAGE ON DATABASE sales_db TO IAM:Bob;

    In qualità di amministratore del gruppo di lavoro o del cluster consumer, puoi assegnare le autorizzazioni per l'intero database creato dall'unità di condivisione dati solo agli utenti e ai ruoli. In alcuni casi, sono necessari controlli a grana fine su un sottoinsieme di oggetti di database creati dall'unità di condivisione dati.

    È inoltre possibile creare viste ad associazione tardiva sugli oggetti condivisi e utilizzarle per assegnare autorizzazioni granulari. Inoltre puoi stabilire che i gruppi di lavoro o i cluster producer creino ulteriori unità di condivisione dati con la granularità richiesta. È possibile creare il maggior numero di riferimenti allo schema al database creato dall'unità di condivisione dati.

  5. Gli utenti del database possono utilizzare le viste SVV _ EXTERNAL _ TABLES e SVV _ EXTERNAL _ COLUMNS per trovare tutte le tabelle o le colonne condivise all'interno di 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. Eseguire una query sui dati negli oggetti condivisi nelle unità di condivisione dati.

    Gli utenti e i ruoli con autorizzazioni per i database consumer e gli schemi nei gruppi di lavoro o nei cluster consumer possono esplorare e navigare tra i metadati di qualsiasi oggetto condiviso. Possono inoltre esplorare e navigare tra oggetti locali in un gruppo di lavoro o un cluster consumer. A tale scopo, possono utilizzare i ODBC driver JDBC o o le EXTERNAL viste SVV _ ALL e SVV _.

    SELECT * FROM lf_db.schema.table;

    È possibile utilizzare SELECT istruzioni solo su oggetti condivisi. Tuttavia, è possibile creare tabelle nel cluster consumer eseguendo una query sui dati degli oggetti condivisi in un database locale diverso.

    // 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;