Resultados de consultas administrados
Con los resultados de consultas administrados, se pueden ejecutar consultas SQL sin necesidad de proporcionar un bucket de Amazon S3 para el almacenamiento de los resultados de las consultas. Esto ahorra tener que aprovisionar, administrar, controlar el acceso y limpiar sus propios buckets de S3. Para empezar, se debe crear un grupo de trabajo nuevo o editar uno existente. En Configuración de resultados de consultas, seleccione Administrado por Athena.
Características principales
-
Simplifica el flujo de trabajo al eliminar la necesidad de elegir una ubicación de bucket de S3 antes de ejecutar las consultas.
-
No hay costo adicional por usar resultados de consultas administrados y la eliminación automática de los resultados de las consultas reduce los gastos de administración y la necesidad de procesos independientes de limpieza de los buckets de S3.
-
Inicio sencillo: los grupos de trabajo nuevos y preexistentes se pueden configurar fácilmente para utilizar los resultados de consultas administrados. Se puede tener en la cuenta de AWS una combinación de resultados de consultas administrados por Athena y administrados por el cliente.
-
Permisos de IAM simplificados con acceso para leer los resultados a través de
GetQueryResults
yGetQueryResultsStream
vinculados a grupos de trabajo individuales. -
Los resultados de las consultas se cifran automáticamente con las claves propiedad de AWS o con las claves propiedad del cliente que se elijan.
Consideraciones y limitaciones
-
El acceso a los resultados de las consultas se gestiona a nivel del grupo de trabajo en Athena. Para ello, se necesitan permisos explícitos para las acciones de IAM
GetQueryResults
yGetQueryResultsStream
en el grupo de trabajo específico. La acciónGetQueryResults
determina quién puede recuperar los resultados de una consulta completada en un formato paginado, mientras que la acciónGetQueryResultsStream
determina quién puede transmitir los resultados de una consulta completada (comúnmente utilizada por los controladores de Athena). No se pueden descargar archivos de resultados de consultas de más de 200 MB desde la consola. Se debe utilizar la instrucción
UNLOAD
para escribir aquellos resultados que tienen más de 200 MB en una ubicación que se pueda descargar por separado.-
La característica de resultados de consultas gestionadas no admite la reutilización de los resultados de las consultas.
-
Los resultados de las consultas están disponibles durante 24 horas. Los resultados de las consultas se almacenan sin costo alguno para usted durante este período. Una vez finalizado este período, los resultados de la consulta se eliminan automáticamente.
Crear o editar un grupo de trabajo con resultados de consultas administrados
Si se desea crear un grupo de trabajo o actualizar uno existente con los resultados de las consultas administradas desde la consola:
-
Abra la consola de Athena en https://console.aws.amazon.com/athena/
. En el menú de navegación izquierdo, seleccione Grupos de trabajo.
Seleccione Crear grupo de trabajo para crear un grupo de trabajo nuevo o para editar uno existente de la lista.
-
En Configuración de resultados de consultas, elija Administrado por Athena.
-
En Cifrar los resultados de la consulta, elija la opción de cifrado que desea. Para obtener más información, consulte Elija el cifrado de los resultados de la consulta.
-
Complete todos los demás detalles obligatorios y seleccione Guardar cambios.
Elija el cifrado de los resultados de la consulta
Hay dos opciones para esta configuración de cifrado:
-
Cifrar con clave propiedad de AWS: esta es la opción predeterminada cuando se utilizan los resultados de consultas administrados. Elija esta opción si desea que los resultados de las consultas se cifren con una clave propiedad de AWS.
-
Cifrar con clave administrada por el cliente: seleccione esta opción si desea cifrar y descifrar los resultados de las consultas con una clave administrada por el cliente. Para utilizar una clave administrada por el cliente, agregue el servicio Athena en el elemento de entidad principal de la sección de política de claves. Para obtener más información, consulte Configure una política de clave de AWS KMS para los resultados de las consultas administradas. Para ejecutar las consultas correctamente, el usuario que las ejecuta necesita permiso para acceder a la clave de AWS KMS.
Configure una política de clave de AWS KMS para los resultados de las consultas administradas
La sección Principal
de la política de claves especifica quién puede usar esta clave. La característica de resultados de consultas administrados introduce el encryption.athena.amazonaws.com
de la entidad principal que debe especificar en la sección Principal
. Esta entidad principal de servicio es específica para el acceso a claves que no son propiedad de Athena. También debe agregar las acciones kms:Decrypt
, kms:GenerateDataKey
y kms:DescribeKey
a la política de claves que utilice para acceder a los resultados administrados. Estas tres acciones son las acciones mínimas permitidas.
Los resultados de consultas administrados utilizan el ARN de su grupo de trabajo para el contexto de cifrado. Como la sección Principal
es un servicio de AWS, también es necesario añadir aws:sourceArn
y aws:sourceAccount
a las condiciones de la política de claves. El siguiente ejemplo muestra una política de claves de AWS KMS que tiene permisos mínimos en un solo grupo de trabajo.
{ "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
}" } }
El siguiente ejemplo de política de claves de AWS KMS permite que todos los grupos de trabajo de la misma cuenta account-id
usen la misma clave de 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
" } } }
Además de los permisos de Athena y Amazon S3, también debe obtener permisos para realizar las acciones kms:GenerateDataKey
y kms:Decrypt
. Para obtener más información, consulte Permisos para datos cifrados en Amazon S3.
Para obtener más información sobre el cifrado de resultados de consultas administrados, consulte Cifrar resultados de consultas administrados.