Résultats de requêtes gérés - 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.

Résultats de requêtes gérés

Grâce aux résultats de requêtes gérés, vous pouvez exécuter des requêtes SQL sans fournir de compartiment Amazon S3 pour le stockage des résultats des requêtes. Cela vous évite d'avoir à approvisionner, gérer, contrôler l'accès et nettoyer vos propres compartiments S3. Pour commencer, créez un nouveau groupe de travail ou modifiez un groupe de travail existant. Sous Configuration des résultats de requête, sélectionnez Athena managed.

Fonctions principales
  • Simplifie votre flux de travail en supprimant l'obligation de choisir un emplacement de compartiment S3 avant d'exécuter des requêtes.

  • L'utilisation des résultats de requêtes gérés sans frais supplémentaires et la suppression automatique des résultats des requêtes réduisent les frais d'administration et le besoin de processus de nettoyage des compartiments S3 distincts.

  • Démarrage simple : les groupes de travail nouveaux et préexistants peuvent être facilement configurés pour utiliser les résultats de requêtes gérés. Vous pouvez avoir une combinaison de résultats de requêtes gérés par Athena et gérés par le client dans votre AWS compte.

  • Autorisations IAM rationalisées avec accès pour lire les résultats GetQueryResults et GetQueryResultsStream liées à des groupes de travail individuels.

  • Les résultats des requêtes sont automatiquement chiffrés avec les clés que vous avez le choix entre les clés AWS détenues ou les clés détenues par le client.

Considérations et restrictions

  • L'accès aux résultats des requêtes est géré au niveau du groupe de travail dans Athena. Pour cela, vous avez besoin d'autorisations explicites GetQueryResults et d'actions GetQueryResultsStream IAM sur le groupe de travail spécifique. L'GetQueryResultsaction détermine qui peut récupérer les résultats d'une requête terminée dans un format paginé, tandis que l'GetQueryResultsStreamaction détermine qui peut diffuser les résultats d'une requête terminée (couramment utilisé par les pilotes Athena).

  • Vous ne pouvez pas télécharger de fichiers de résultats de requêtes d'une taille supérieure à 200 Mo depuis la console. Utilisez l'UNLOADinstruction pour enregistrer les résultats supérieurs à 200 Mo dans un emplacement que vous pouvez télécharger séparément.

  • La fonctionnalité de gestion des résultats de requête ne prend pas en charge la réutilisation des résultats de requête.

  • Les résultats des requêtes sont disponibles pendant 24 heures. Les résultats des requêtes sont stockés sans frais pour vous pendant cette période. Après cette période, les résultats de la requête sont automatiquement supprimés.

Création ou modification d'un groupe de travail avec des résultats de requêtes gérés

Pour créer un groupe de travail ou mettre à jour un groupe de travail existant avec des résultats de requêtes gérés depuis la console :

  1. Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/.

  2. Dans le menu de navigation de gauche, sélectionnez Groupes de travail.

  3. Choisissez Créer un groupe de travail pour créer un nouveau groupe de travail ou modifier un groupe de travail existant dans la liste.

  4. Sous Configuration des résultats de requête, choisissez Athena managed.

    Le menu de configuration des résultats de la requête.
  5. Pour Chiffrer les résultats de la requête, choisissez l'option de chiffrement de votre choix. Pour de plus amples informations, veuillez consulter Choisissez le chiffrement des résultats de la requête.

  6. Renseignez toutes les autres informations requises et choisissez Enregistrer les modifications.

Choisissez le chiffrement des résultats de la requête

Il existe deux options pour la configuration du chiffrement :

  • Chiffrer à l'aide d'une clé AWS détenue : il s'agit de l'option par défaut lorsque vous utilisez des résultats de requêtes gérés. Choisissez cette option si vous souhaitez que les résultats de la requête soient chiffrés à l'aide d'une clé AWS détenue.

  • Chiffrer à l'aide d'une clé gérée par le client — Choisissez cette option si vous souhaitez chiffrer et déchiffrer les résultats des requêtes à l'aide d'une clé gérée par le client. Pour utiliser une clé gérée par le client, ajoutez le service Athena dans l'élément principal de la section relative aux politiques clés. Pour de plus amples informations, veuillez consulter Mettre en place une politique AWS KMS clé pour les résultats de requêtes gérés. Pour exécuter les requêtes avec succès, l'utilisateur qui exécute les requêtes doit être autorisé à accéder à la AWS KMS clé.

Mettre en place une politique AWS KMS clé pour les résultats de requêtes gérés

La Principal section sur la politique relative aux clés indique qui peut utiliser cette clé. La fonctionnalité de gestion des résultats des requêtes introduit le principe encryption.athena.amazonaws.com que vous devez spécifier dans la Principal section. Ce principe de service est spécifiquement destiné à accéder à des clés n'appartenant pas à Athena. Vous devez également ajouter les kms:DescribeKey actions kms:Decryptkms:GenerateDataKey, et à la politique clé que vous utilisez pour accéder aux résultats gérés. Ces trois actions sont les actions minimales autorisées.

Les résultats des requêtes gérées utilisent l'ARN de votre groupe de travail pour le contexte de chiffrement. La Principal section étant un AWS service, vous devez également ajouter aws:sourceArn et aws:sourceAccount aux principales conditions de politique. L'exemple suivant montre une politique AWS KMS clé qui prévoit des autorisations minimales pour un seul groupe de travail.

{ "Sid": "Allow athena service principal to use the key", "Effect": "Allow", "Principal": { "Service": "encryption.athena.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:{account-id}:key/{key-id}", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:athena:arn": "arn:aws:athena:us-east-1:{account-id}:workgroup/{workgroup-name}", "aws:SourceArn": "arn:aws:athena:us-east-1:{account-id}:workgroup/{workgroup-name}" }, "StringEquals": { "aws:SourceAccount": "{account-id}" } }

L'exemple de politique AWS KMS clé suivant permet à tous les groupes de travail d'un même compte account-id d'utiliser la même AWS KMS clé.

{ "Sid": "Allow athena service principal to use the key", "Effect": "Allow", "Principal": { "Service": "encryption.athena.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:account-id:key/{key-id}", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:athena:arn": "arn:aws:athena:us-east-1:account-id:workgroup/*", "aws:SourceArn": "arn:aws:athena:us-east-1:account-id:workgroup/*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } }

Outre les autorisations Athena et Amazon S3, vous devez également obtenir des autorisations pour effectuer kms:GenerateDataKey des kms:Decrypt actions. Pour de plus amples informations, veuillez consulter Autorisations pour les données chiffrées dans Simple Storage Service (Amazon S3).

Pour plus d'informations sur le chiffrement des résultats de requêtes gérés, consultezChiffrer les résultats des requêtes gérées.