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

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 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 simplifiées avec l’accès en lecture aux résultats via les actions 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 sur les actions IAM GetQueryResults et GetQueryResultsStream pour le groupe de travail spécifique. L’action GetQueryResults détermine qui peut récupérer les résultats d’une requête terminée dans un format paginé, tandis que l’action GetQueryResultsStream dé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 UNLOAD pour 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 :

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

  2. Dans le panneau de navigation de gauche, choisissez Groupes de travail.

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

  4. Dans Configuration des résultats de requêtes, choisissez Géré par Athena.

    Menu Configuration des résultats de requêtes.
  5. Dans Chiffrer les résultats de requête, choisissez l’option de chiffrement souhaitée. Pour de plus amples informations, veuillez consulter Choix du chiffrement des résultats des requêtes.

  6. 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é 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 à la stratégie de clé. 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 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. Comme la Principal section est 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 exécuter les actions kms:GenerateDataKey et kms:Decrypt. 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, consultez Chiffrement des résultats de requêtes gérés.