Résultats de requêtes gérés
Les résultats de requêtes gérés vous permettent d’exécuter des requêtes SQL sans fournir de compartiment Amazon S3 pour le stockage des résultats. Ainsi, vous n’avez pas à provisionner vos propres compartiments S3, à les gérer, à contrôler leur accès et à les nettoyer. Pour commencer, créez un groupe de travail ou modifiez un groupe de travail existant. Dans Configuration des résultats de requêtes, sélectionnez Géré par Athena.
Fonctions principales
-
Simplifie votre flux de travail en éliminant la sélection d’un emplacement de compartiment S3 avant l’exécution de requêtes.
-
Pas de coûts supplémentaires liés à l’utilisation de cette fonctionnalité et suppression automatique des résultats des requêtes afin de réduire les frais d’administration et d’éviter les nettoyages de compartiments S3 distincts.
-
Prise en main simple : les groupes de travail nouveaux et existants peuvent facilement être configurés pour utiliser les résultats de requêtes gérés. Vous pouvez combiner les résultats de requêtes gérés par Athena et par le client dans votre compte AWS.
-
Autorisations IAM simplifiées avec l’accès en lecture aux résultats via les actions
GetQueryResultsetGetQueryResultsStreamliées à des groupes de travail individuels. -
Résultats des requêtes automatiquement chiffrés avec les clés gérées par AWS ou par le client que vous aurez choisies.
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 sur les actions IAM
GetQueryResultsetGetQueryResultsStreampour le groupe de travail spécifique. L’actionGetQueryResultsdétermine qui peut récupérer les résultats d’une requête terminée dans un format paginé, tandis que l’actionGetQueryResultsStreamdétermine qui peut diffuser les résultats d’une requête terminée (couramment utilisée par les pilotes Athena). Vous ne pouvez pas télécharger de fichiers de résultats de requêtes de plus de 200 Mo depuis la console. Utilisez l’instruction
UNLOADpour enregistrer les résultats d’une taille supérieure à 200 Mo à un emplacement depuis lequel vous pouvez les télécharger séparément.-
La fonctionnalité de résultats de requêtes gérés ne prend pas en charge la réutilisation des résultats des requêtes.
-
Les résultats des requêtes sont disponibles pendant 24 heures. Ils sont stockés gratuitement pendant cette période. Passé ce délai, ils 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 ou mettre à jour un groupe de travail avec des résultats de requêtes gérés depuis la console :
-
Ouvrez la console Athena à l’adresse https://console.aws.amazon.com/athena/
. Dans le panneau de navigation de gauche, choisissez Groupes de travail.
Choisissez Créer un groupe de travail pour créer un groupe de travail ou modifiez un groupe de travail existant de la liste.
-
Dans Configuration des résultats de requêtes, choisissez Géré par Athena.
-
Dans Chiffrer les résultats de requête, choisissez l’option de chiffrement souhaitée. Pour de plus amples informations, consultez Choix du chiffrement des résultats des requêtes.
-
Spécifiez toutes les autres informations requises et choisissez Enregistrer les modifications.
Choix du chiffrement des résultats des requêtes
Vous avez le choix entre deux options de chiffrement :
-
Chiffrer à l’aide d’une clé appartenant à AWS – 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 des requêtes soient chiffrés à l’aide d’une clé appartenant à AWS.
-
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 à la stratégie de clé. Pour de plus amples informations, consultez Mise en place d’une stratégie de clé AWS KMS pour les résultats de requêtes gérés. Pour que les requêtes aboutissent, l’utilisateur qui les exécute doit être autorisé à accéder à la clé AWS KMS.
Mise en place d’une stratégie de clé AWS KMS pour les résultats de requêtes gérés
La section Principal de la stratégie de clé indique qui peut utiliser cette clé. La fonctionnalité de résultats de requêtes gérés inclut le principal encryption.athena.amazonaws.com, qui doit être spécifié dans la section Principal. Ce principal de service est spécifiquement destiné à permettre l’accès aux clés qui n’appartiennent pas à Athena. Vous devez également ajouter les actions kms:Decrypt, kms:GenerateDataKey et kms:DescribeKey à la stratégie de clé utilisée pour accéder aux résultats gérés. Il s’agit des trois actions minimales autorisées.
Les résultats de requêtes gérés utilisent l’ARN de votre groupe de travail pour le contexte de chiffrement. Puisque la section Principal est un service AWS, vous devez également ajouter aws:sourceArn et aws:sourceAccount aux conditions de la stratégie de clé. L’exemple suivant présente une stratégie de clé AWS KMS 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}" } }
La stratégie de clé AWS KMS de l’exemple suivant autorise tous les groupes de travail associés au même compte account-id à utiliser la même clé AWS KMS.
{ "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 exécuter les actions kms:GenerateDataKey et kms:Decrypt. Pour de plus amples informations, consultez 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, consultez Chiffrement des résultats de requêtes gérés.