Considérations et limites relatives à l'interrogation des données enregistrées auprès de Lake Formation - Amazon Athena

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.

Considérations et limites relatives à l'interrogation des données enregistrées auprès de Lake Formation

Tenez compte des points suivants lorsque vous utilisez Athena pour interroger des données enregistrées dans Lake Formation. Pour plus d'informations, consultez la section Problèmes connus pour AWS Lake Formation dans le .AWS Lake Formation Guide du développeur.

Les métadonnées des colonnes sont visibles par les utilisateurs non autorisés dans certaines circonstances avec Avro et Custom SerDe

L'autorisation au niveau des colonnes de Lake Formation empêche les utilisateurs d'accéder aux données des colonnes pour lesquelles ils ne disposent pas d'autorisations Lake Formation. Toutefois, dans certaines situations, les utilisateurs peuvent accéder aux métadonnées décrivant toutes les colonnes de la table, y compris les colonnes pour lesquelles ils ne disposent pas d'autorisations pour les données.

Cela se produit lorsque les métadonnées des colonnes sont stockées dans les propriétés des tables en utilisant le format de stockage Apache Avro ou en utilisant un sérialiseur/désérialiseur (SerDe) personnalisé dans lequel le schéma de table est défini dans les propriétés de table avec la définition. SerDe Lorsque vous utilisez Athena avec Lake Formation, nous vous recommandons d'examiner le contenu des propriétés des tables que vous enregistrez dans Lake Formation et, dans la mesure du possible, de limiter les informations stockées dans les propriétés des tables pour éviter que les métadonnées sensibles ne soient visibles par les utilisateurs.

Comprendre le Lake Formation et ses vues

Pour les données enregistrées dans Lake Formation, un utilisateur Athena ne peut créer une VIEW que s'il dispose des autorisations Lake Formation pour les tables, les colonnes et les emplacements de données Simple Storage Service (Amazon S3) sources sur lesquels la VIEW est basée. Une fois qu'une VIEW est créée dans Athena, les autorisations Lake Formation peuvent être appliquées à la VIEW. Les autorisations au niveau des colonnes ne sont pas disponibles pour un VIEW. Les utilisateurs qui disposent d'autorisations Lake Formation pour une VIEW mais qui ne disposent pas d'autorisations pour la table et les colonnes sur lesquelles la vue est basée ne peuvent pas utiliser la VIEW pour interroger les données. Cependant, les utilisateurs disposant de cette combinaison d'autorisations peuvent utiliser des instructions telles que DESCRIBE VIEW, SHOW CREATE VIEW et SHOW COLUMNS pour afficher les métadonnées VIEW. Pour cette raison, veillez à aligner les autorisations de Lake Formation pour chaque VIEW sur les autorisations de la table sous-jacente. Les filtres de cellules définis sur une table ne s'appliquent pas à une VIEW pour cette table. Les noms des liens de ressource doivent avoir le même nom que la ressource dans le compte d'origine. Des limites supplémentaires s'appliquent à l'utilisation de vues dans une configuration intrecomptes. Pour de plus amples informations sur la configuration des autorisations pour les vues partagées entre comptes, consultez Configuration de l'accès au catalogue de données entre comptes.

Soutien aux icebergs DDL

Athena ne prend actuellement pas en charge les DDL opérations sur les tables Iceberg dont l'emplacement est enregistré auprès de Lake Formation. Toute tentative d'exécution d'une DDL requête sur l'une de ces tables Iceberg peut renvoyer une erreur de refus d'accès Amazon S3 ou échouer avec un délai d'expiration de la requête. DDLles opérations sur les tables Iceberg nécessitent que l'utilisateur dispose d'un accès direct à Amazon S3 à l'emplacement de la table Iceberg.

Contrôle d'accès précis de Lake Formation et groupes de travail Athena

Les utilisateurs du même groupe de travail Athena peuvent voir les données que le contrôle d'accès précis de Lake Formation a configurées pour être accessibles au groupe de travail. Pour plus d'informations sur l'utilisation du contrôle d'accès détaillé dans Lake Formation, voir Gérer le contrôle d'accès détaillé à l'aide de AWS Lake Formation dans le .AWS Blog sur les mégadonnées.

Emplacement des résultats de la requête Athena dans Simple Storage Service (Amazon S3) non enregistré dans Lake Formation

Les emplacements des résultats des requêtes dans Simple Storage Service (Amazon S3) pour Athena ne peuvent pas être enregistrés dans Lake Formation. Les autorisations de Lake Formation ne limitent pas l'accès à ces emplacements. À moins que vous ne limitiez l'accès, les utilisateurs d'Athena peuvent accéder aux fichiers de résultats de requêtes et aux métadonnées alors qu'ils ne disposent pas d'autorisations Lake Formation pour les données. Pour éviter cela, nous vous recommandons d'utiliser des groupes de travail pour spécifier l'emplacement des résultats des requêtes et d'aligner l'appartenance à un groupe de travail sur les autorisations de Lake Formation. Vous pouvez ensuite utiliser IAM des politiques d'autorisation pour limiter l'accès aux emplacements des résultats des requêtes. Pour plus d'informations sur les résultats des requêtes, voir Travailler avec les résultats des requêtes et les requêtes récentes.

Utilisation des groupes de travail Athena pour limiter l'accès à l'historique des requêtes

L'historique des requêtes d'Athena présente une liste des requêtes enregistrées et des chaînes de requête complètes. À moins que vous n'utilisiez des groupes de travail pour séparer l'accès aux historiques de requêtes, les utilisateurs d'Athena qui ne sont pas autorisés à interroger les données dans Lake Formation peuvent visualiser les chaînes de requêtes exécutées sur ces données, y compris les noms de colonnes, les critères de sélection, etc. Nous vous recommandons d'utiliser des groupes de travail pour séparer les historiques de requêtes, et d'aligner l'appartenance à un groupe de travail Athena sur les autorisations de Lake Formation pour en limiter l'accès. Pour de plus amples informations, veuillez consulter Utilisez des groupes de travail pour contrôler l'accès aux requêtes et les coûts.

Query CSE _ tables KMS chiffrées enregistrées auprès de Lake Formation

Les tables Open Table Format (OTF) telles qu'Apache Iceberg qui présentent les caractéristiques suivantes ne peuvent pas être interrogées avec Athena :

  • Les tables sont basées sur les emplacements de données Amazon S3 enregistrés auprès de Lake Formation.

  • Les objets d'Amazon S3 sont chiffrés à l'aide du chiffrement côté client ()CSE.

  • Le chiffrement utilise AWS KMS clés gérées par le client ()CSE_KMS.

Pour interroger OTF des non-tables (chiffrées à l'aide d'une CSE_KMS clé), ajoutez le bloc suivant à la politique du AWS KMS clé que vous utilisez pour le CSE chiffrement. <KMS_KEY_ARN> est ARN le AWS KMS clé qui chiffre les données. <IAM-ROLE-ARN> est le ARN IAM rôle qui enregistre la position d'Amazon S3 dans Lake Formation.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:Decrypt", "Resource": "<KMS-KEY-ARN>", "Condition": { "ArnLike": { "aws:PrincipalArn": "<IAM-ROLE-ARN>" } } }

Les emplacements des données enregistrées dans Lake Formation doivent se trouver dans des sous-répertoires de table

Les tables partitionnées enregistrées dans Lake Formation doivent avoir des données partitionnées dans des répertoires qui sont des sous-répertoires de la table dans Simple Storage Service (Amazon S3). Par exemple, une table avec l'emplacement s3://amzn-s3-demo-bucket/mytable et les partitions s3://amzn-s3-demo-bucket/mytable/dt=2019-07-11, s3://amzn-s3-demo-bucket/mytable/dt=2019-07-12, etc. peut être enregistrée dans Lake Formation et interrogée à l'aide d'Athena. D'autre part, une table dont l'emplacement s3://amzn-s3-demo-bucket/mytable et les partitions se trouvent à s3://amzn-s3-demo-bucket/dt=2019-07-11, s3://amzn-s3-demo-bucket/dt=2019-07-12, etc., ne peut pas être enregistrée dans Lake Formation. Comme ces partitions ne sont pas des sous-répertoires de s3://amzn-s3-demo-bucket/mytable, elles ne peuvent pas non plus être lues par Athena.

Créer une table car les requêtes select (CTAS) nécessitent des autorisations d'écriture Amazon S3

Les instructions Create Table As (CTAS) nécessitent un accès en écriture à l'emplacement des tables sur Amazon S3. Pour exécuter des CTAS requêtes sur les données enregistrées auprès de Lake Formation, les utilisateurs d'Athena doivent être IAM autorisés à écrire dans le tableau des emplacements d'Amazon S3, en plus des autorisations appropriées de Lake Formation pour lire les emplacements des données. Pour de plus amples informations, veuillez consulter Création d'une table à partir des résultats de la requête (CTAS).

L'DESCRIBEautorisation est requise sur la base de données par défaut

L'DESCRIBEautorisation Lake Formation est requise sur la default base de données pour que Lake Formation puisse la visualiser. L'exemple suivant AWS CLI cette commande accorde l'DESCRIBEautorisation d'accès à la default base de données à l'utilisateur datalake_user1 dans AWS compte111122223333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Database": {"Name":"default"}}

Pour plus d'informations, consultez DESCRIBEle AWS Lake Formation Guide du développeur.