Utilisation des vues - AWS Lake Formation

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 des vues

Cette fonction est disponible en version préliminaire et susceptible d'être modifiée. Pour plus d'informations, consultez la section Bêtas et aperçus du document Conditions de service AWS.

Dans AWS Glue Data Catalog, une vue est une table virtuelle dont le contenu est défini par une requête qui fait référence à une ou plusieurs tables. Vous pouvez créer une vue qui référence jusqu'à 10 tables à l'aide d'éditeurs SQL pour Amazon Athena, Amazon Redshift ou Amazon EMR. Les tables de référence sous-jacentes d'une vue peuvent appartenir à la même base de données ou à différentes bases de données au sein de la même base de données Compte AWS.

SQL est un langage de programmation utilisé pour interroger des tables, et chaque moteur AWS d'analyse utilise sa propre variante de SQL, ou dialecte SQL. Le catalogue de données permet de créer des vues à l'aide de différents dialectes SQL, à condition que chaque dialecte fasse référence au même ensemble de tables, de colonnes et de types de données. En définissant un schéma de vue commun et un objet de métadonnées que vous pouvez interroger à partir de plusieurs moteurs, les vues du catalogue de données vous permettent d'utiliser des vues uniformes sur l'ensemble de votre lac de données.

Lorsque vous gérez des vues dans le catalogue de données, vous pouvez AWS Lake Formation accorder des autorisations détaillées via la méthode des ressources nommées ou à l'aide de balises LF, et les partager entre les AWS organisations et les Comptes AWS unités organisationnelles. Vous pouvez également partager les vues du catalogue de données entre elles Régions AWS. Cela permet aux utilisateurs de fournir un accès aux données Régions AWS sans dupliquer la source de données.

Pour plus d'informations sur le partage de données entre comptes et l'accès aux données entre régions, voir :

Vous pouvez utiliser les vues du catalogue de données pour :

  • Créez et gérez les autorisations sur un schéma de vue unique. Cela vous permet d'éviter le risque d'autorisations incohérentes sur les vues dupliquées créées dans plusieurs moteurs.

  • Accordez des autorisations aux utilisateurs sur une vue qui référence plusieurs tables sans accorder d'autorisations directement sur les tables de référence sous-jacentes.

Pour connaître les limites, voir Considérations et limites relatives aux affichages du catalogue de données

Conditions préalables à la création de vues

  • Pour créer des vues dans Data Catalog, vous devez enregistrer les emplacements de données Amazon S3 sous-jacents des tables de référence auprès de Lake Formation.

    Pour plus de détails sur l'enregistrement des données auprès de Lake Formation, voirAjouter un emplacement Amazon S3 à votre lac de données.

  • Le définisseur de vue doit être un rôle IAM. Les autres identités IAM ne peuvent pas créer de vues de catalogue de données.

  • Le rôle IAM qui définit la vue doit disposer des autorisations suivantes :

    • SELECTPermission complète de Lake Formation avec Grantable option sur toutes les tables de référence.

    • Une politique de confiance permettant à Lake Formation et AWS Glue aux services d'assumer ce rôle.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DataCatalogViewDefinerAssumeRole1", "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    • Le but : PassRole l'autorisation pour AWS Glue Lake Formation.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DataCatalogViewDefinerPassRole1", "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] } } } ] }
    • AWS Glue et autorisations de Lake Formation.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "Glue:GetDatabase", "Glue:GetDatabases", "Glue:CreateTable", "Glue:GetTable", "Glue:UpdateTable", "Glue:DeleteTable", "Glue:GetTables", "Glue:SearchTables", "Glue:BatchGetPartition", "Glue:GetPartitions", "Glue:GetPartition", "Glue:GetTableVersion", "Glue:GetTableVersions", "lakeFormation:GetDataAccess", "lakeFormation:GetTemporaryTableCredentials", "lakeFormation:GetTemporaryGlueTableCredentials", "lakeFormation:GetTemporaryUserCredentialsWithSAML" ], "Resource": "*" } ] }
  • Vous ne pouvez pas créer de vues si la base de données dans laquelle la vue est créée dispose Super d'une ALL autorisation accordée au IAMAllowedPrincipals groupe. Pour révoquer l'Superautorisation d'un IAMAllowedPrincipals groupe sur une base de données, consultezÉtape 4 : Basculez vos magasins de données vers le modèle d'autorisations de Lake Formation.

    Si vos paramètres de lac de données existants ne vous permettent pas de définir un IAMAllowedPrincipals groupe CreateTableDefaultPermissions vide, vous pouvez créer une nouvelle base de données et coder le paramètre du lac de données à l'aide de la structure suivante.

    { "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>" } ], CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [] } ] }

Création de vues

Vous pouvez utiliser les éditeurs SQL pour Athena, Amazon Redshift ou Amazon EMR pour créer des vues dans le. AWS Glue Data Catalog

Pour plus d'informations sur la syntaxe de création et de gestion des vues du catalogue de données, voir :

Après avoir créé une vue du catalogue de données, les détails de la vue apparaissent dans la console Lake Formation.

  1. Choisissez Views sous Data Catalog dans la console Lake Formation.

  2. La liste des vues disponibles apparaît sur la page des vues.

  3. Choisissez une vue dans la liste et la page de détails affiche les attributs de la vue.

La section inférieure contient cinq onglets disposés horizontalement, chaque onglet contenant les informations correspondantes.
Schema

Choisissez une Column ligne, puis sélectionnez Modifier les balises LF pour mettre à jour les valeurs des balises ou attribuer de nouvelles balises LF.

Définitions SQL

Vous pouvez consulter la liste des définitions SQL disponibles. Sélectionnez Ajouter une définition SQL, puis choisissez un moteur de requête pour ajouter une définition SQL. Choisissez un moteur de requête (Athena ou Amazon Redshift) Edit definition dans la colonne pour mettre à jour une définition SQL.

Étiquettes LF

Choisissez Modifier les balises LF pour modifier les valeurs d'une balise ou attribuer de nouvelles balises. Vous pouvez utiliser les balises LF pour accorder des autorisations sur les vues.

Accès intercomptes

Vous pouvez consulter la Comptes AWS liste des organisations et unités organisationnelles (UO) que vous avez partagées dans la vue du catalogue de données.

Tables sous-jacentes

Les tables sous-jacentes référencées dans la définition SQL utilisée pour créer la vue sont affichées sous cet onglet.

Octroi d'autorisations sur les vues du catalogue de données

Après avoir créé des vues, vous pouvez accorder des autorisations de lac de données sur les vues aux principaux responsables des organisations et des unités organisationnelles. Comptes AWS Pour plus d'informations sur l'octroi d'autorisations, consultez Octroi d'autorisations sur les vues à l'aide de la méthode de ressource nommée .