Enregistrement d'un moteur de requête tiers - 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.

Enregistrement d'un moteur de requête tiers

Avant qu'un moteur de requête tiers puisse utiliser les opérations de l'API d'intégration d'applications, vous devez explicitement autoriser le moteur de requêtes à appeler les opérations d'API en votre nom. Cela se fait en quelques étapes :

  1. Vous devez spécifier les AWS comptes et les balises de session IAM qui nécessitent une autorisation pour appeler les opérations de l'API d'intégration des applications via le AWS Lake Formation console, AWS CLI ou l'API/SDK.

  2. Lorsque le moteur de requête tiers assume le rôle d'exécution dans votre compte, il doit associer une balise de session enregistrée auprès de Lake Formation représentant le moteur tiers. Lake Formation utilise cette balise pour le valider si la demande provient d'un moteur approuvé. Pour plus d'informations sur les balises de session, consultez la section Balises de session dans le guide de l'utilisateur IAM.

  3. Lorsque vous configurez un rôle d'exécution de moteur de requête tiers, vous devez disposer des autorisations minimales suivantes dans la politique IAM :

    { "Version": "2012-10-17", "Statement": {"Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:GetUserDefinedFunction", "glue:GetUserDefinedFunctions", "glue:GetPartition", "glue:GetPartitions" ], "Resource": "*" } }
  4. Configurez une politique d'approbation des rôles sur le rôle d'exécution du moteur de requête afin de contrôler avec précision la paire clé-valeur de balise de session qui peut être attachée à ce rôle. Dans l'exemple suivant, ce rôle est uniquement autorisé à associer une clé de balise de session "LakeFormationAuthorizedCaller" et une valeur de balise "engine1" de session, et aucune autre paire clé-valeur de balise de session n'est autorisée.

    { "Sid": "AllowPassSessionTags", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/query-execution-role" }, "Action": "sts:TagSession", "Condition": { "StringLike": { "aws:RequestTag/LakeFormationAuthorizedCaller": "engine1" } } }

Lorsque LakeFormationAuthorizedCaller l'opération STS : AssumeRole API est appelée pour récupérer les informations d'identification à utiliser par le moteur de requête, le tag de session doit être inclus dans la AssumeRole demande. Les informations d'identification temporaires renvoyées peuvent être utilisées pour créer Lake Formation demandes d'API d'intégration d'applications.

Lake Formation les opérations de l'API d'intégration d'applications nécessitent que le principal appelant soit un rôle IAM. Le rôle IAM doit inclure une balise de session avec une valeur prédéterminée enregistrée auprès de Lake Formation. Cette balise permet Lake Formation pour vérifier que le rôle utilisé pour appeler les opérations de l'API d'intégration de l'application est autorisé à le faire.