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.
Accès basé sur le chemin S3 à l'aide de Lake Formation pour Amazon EMR Spark
Avec les versions 7.13.0 et supérieures d'Amazon EMR, vous pouvez utiliser le plug-in AWS Lake Formation Access Grants pour obtenir des informations d'identification temporaires pour les chemins S3 enregistrés auprès de Lake Formation. Cela permet aux requêtes Spark qui font directement référence à des chemins S3 d'utiliser les Formation-vended informations d'identification Lake, en plus de la vente d'informations d'identification basée sur le nom de table existante fournie par Full Table Access (FTA).
Le plugin Lake Formation Access Grants s'intègre au système de fichiers S3A de Spark. Lorsque cette option est activée, S3A utilise le plugin pour appeler l'GetTemporaryDataLocationCredentialsAPI Lake Formation afin d'obtenir des informations d'identification temporaires pour les chemins S3 appartenant aux Formation-registered tables Lake.
Ce plugin est utile lorsque vos tâches Spark lisent ou écrivent des données en référençant directement les chemins S3 (par exemple,spark.read.parquet("s3a://my-bucket/my-table/")) plutôt que d'utiliser des noms de tables. Le plugin prend également en charge le retour facultatif aux autorisations d'accès S3 ou aux informations d'identification du rôle IAM lorsque l'accès à Lake Formation est refusé.
Relation avec l'accès complet aux tables (FTA)
La fonctionnalité d'accès complet aux tables existante utilise l'GetTemporaryGlueTableCredentialsAPI, qui fournit des informations d'identification basées sur les noms des tables. Le plugin Lake Formation Access Grants utilise l'GetTemporaryDataLocationCredentialsAPI, qui distribue des informations d'identification basées sur les chemins S3.
Vous pouvez utiliser les deux fonctionnalités ensemble. Lorsque les deux sont activés, les informations d'identification FTA sont prioritaires pour les requêtes de nom de table, tandis que le plugin gère les requêtes de chemin S3 directes.
Conditions préalables
Avant d'utiliser le plugin Lake Formation Access Grants, effectuez les étapes suivantes :
-
Configurez l'accès complet aux tables (FTA) pour votre environnement Amazon EMR. Pour obtenir des instructions, veuillez consulter .
-
Dans la console Lake Formation, enregistrez le chemin S3 avec le compte propriétaire :
-
Accédez aux emplacements des Data Lake.
-
Sélectionnez l'emplacement et activez Enregistrer le chemin S3 avec un compte propriétaire.
-
-
Accordez au rôle d'exécution les autorisations Lake Formation appropriées sur la table :
-
Pour lire les données d'une table, accordez au rôle d'exécution
SELECTl'autorisation complète sur la table. -
Pour modifier les données d'une table, accordez l'
SUPERautorisation du rôle d'exécution sur la table.
-
Activer le plugin Lake Formation Access Grants
Pour activer le plugin, définissez les propriétés de configuration S3A suivantes dans votre session Spark :
| Propriété | Par défaut | Description |
|---|---|---|
fs.s3a.lakeformation.access.grants.enabled |
FALSE |
Active le plugin Lake Formation Access Grants. |
fs.s3a.lakeformation.access.grants.fallback.to.iam |
FALSE |
Permet de revenir aux autorisations d'accès S3 ou aux informations d'identification du rôle IAM si Lake Formation refuse l'accès. |
Comportement de repli
Lorsqu'il fs.s3a.lakeformation.access.grants.fallback.to.iam est défini surtrue, le plugin utilise une chaîne de secours si Lake Formation refuse l'accès. Cela est utile dans les scénarios où certains chemins S3 sont enregistrés auprès de Lake Formation et d'autres sont gérés via des subventions d'accès S3 ou des politiques IAM.
Lorsque le repli est activé, le plugin tente d'obtenir des informations d'identification dans l'ordre suivant :
-
Lake Formation — Le plugin appelle GetTemporaryDataLocationCredentials. Si Lake Formation autorise l'accès, le plugin renvoie ces informations d'identification.
-
S3 Access Grants — Si Lake Formation refuse l'accès, le plugin vérifie si S3 Access Grants peut fournir des informations d'identification pour le chemin demandé. Si une instance S3 Access Grants couvre le chemin et que l'appelant dispose d'une autorisation correspondante, le plugin utilise ces informations d'identification.
-
Rôle IAM — Si Lake Formation et S3 Access Grants refusent l'accès, le plugin revient aux informations d'identification du rôle IAM associées à la tâche.
Considérations et restrictions
-
Le plugin prend en charge les formats de table Apache Hive, Apache Hudi et Delta Lake. Apache Iceberg n'est pas pris en charge actuellement.
-
Le plugin n'est actuellement pas pris en charge avec le mode Amazon EMR Spark Fine-Grained Access Control (FGAC).
-
Path-based la vente d'informations d'identification nécessite un mappage 1:1 entre une table et son emplacement S3 dans le catalogue de données AWS Glue.