Utilisation d’unités de partage des données gérées par Lake Formation en tant que consommateur - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d’unités de partage des données gérées par Lake Formation en tant que consommateur

Avec Amazon Redshift, vous pouvez accéder aux données partagées avec vous par le biais AWS Lake Formation de partages de données et les analyser. Un partage de données est un produit de données qui contient un ensemble d'objets de données, tels que des tables ou des bases de données, provenant de différentes sources de données.

Une fois AWS Glue Data Catalog que l' AWS Lake Formation administrateur a découvert l'invitation de partage de données et y a créé une base de données liée au partage de données, l'administrateur du cluster de consommateurs ou du groupe de travail peut associer le cluster au partage de données et à la base de données du AWS Glue Data Catalog, créer une base de données locale pour le cluster de consommateurs ou le groupe de travail Amazon Redshift et accorder l'accès aux utilisateurs et aux rôles du cluster de consommateurs ou du groupe de travail Amazon Redshift pour commencer à interroger. Suivez ces étapes pour configurer les autorisations d’interrogation.

  1. Dans la console Amazon Redshift, créez un cluster Amazon Redshift qui fera office de cluster consommateur de groupe de travail, le cas échéant. Pour plus d’informations sur la création d’un cluster, consultez Création d’un cluster.

  2. Pour répertorier les bases de données du cluster AWS Glue Data Catalog consommateur ou du groupe de travail auxquelles les utilisateurs ont accès, exécutez la commande SHOW DATABASES.

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

    Cela permet de répertorier les ressources disponibles dans le catalogue de données, telles que l'ARN de la AWS Glue base de données, le nom de la base de données et les informations sur le partage de données.

  3. À l'aide de l'ARN de la AWS Glue base de données de SHOW DATABASES, créez une base de données locale dans le cluster de consommateurs ou le groupe de travail. Pour plus d’informations, consultez CREATE DATABASE.

    CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
  4. Accordez l’accès aux bases de données et aux références de schéma créées à partir des unités de partage des données aux utilisateurs et rôles du cluster consommateur ou du groupe de travail selon les besoins. Pour plus d’informations, consultez GRANT ou REVOKE. Notez que les utilisateurs créés à l’aide de la commande CREATE USER ne peuvent pas accéder aux objets de l’unité de partage des données qui ont été partagés avec Lake Formation. Seuls les utilisateurs ayant accès à la fois à Redshift et à Lake Formation peuvent accéder aux unités de partage des données qui ont été partagées avec Lake Formation.

    GRANT USAGE ON DATABASE sales_db TO IAM:Bob;

    En tant qu’administrateur de cluster consommateur ou de groupe de travail, vous ne pouvez attribuer des autorisations sur l’ensemble de la base de données créée à partir de l’unité de partage des données qu’à vos utilisateurs et groupes. Dans certains cas, vous avez besoin de contrôles précis sur un sous-ensemble d’objets de base de données créés à partir de l’unité de partage des données.

    Vous pouvez également créer des vues à liaison tardive sur les objets partagés et les utiliser pour attribuer des autorisations détaillées. Vous pouvez également envisager que les clusters producteur ou les groupes de travails créent des unité de partage des données supplémentaires pour vous avec la précision requise. Vous pouvez créer autant de références de schéma à la base de données créée à partir de l’unité de partage des données.

  5. Les utilisateurs de base de données peuvent utiliser les vues SVV_EXTERNAL_TABLES et SVV_EXTERNAL_COLUMNS pour rechercher toutes les tables ou colonnes partagées dans la base de données AWS Glue .

    SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db'; SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
  6. Interroger les données dans les objets partagés dans les unités de partage des données.

    Les utilisateurs et les rôles disposant d’autorisations sur les bases de données consommateur et les schémas sur les clusters consommateur peuvent explorer et naviguer entre les métadonnées de tous les objets partagés. Ils peuvent également explorer les objets locaux dans un cluster consommateur ou un groupe de travail. Pour ce faire, ils peuvent utiliser les pilotes JDBC ou ODBC ou les vues SVV_ALL et SVV_EXTERNAL.

    SELECT * FROM lf_db.schema.table;

    Vous ne pouvez utiliser les instructions SELECT que sur les objets partagés. Toutefois, vous pouvez créer des tables dans le cluster consommateur en interrogeant les données des objets partagés dans une base de données locale différente.

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