Cifrado en reposo - Amazon Athena

Cifrado en reposo

Puede ejecutar consultas en Amazon Athena sobre datos cifrados en Amazon S3 en la misma región y en un número limitado de regiones. También puede cifrar los resultados de la consulta en Amazon S3, y los datos del catálogo de datos de AWS Glue.

Puede cifrar los siguientes recursos en Athena:

nota

Cuando se utiliza Athena para leer una tabla cifrada, Athena utiliza las opciones de cifrado especificadas para los datos de la tabla, no la opción de cifrado para los resultados de la consulta. Si se configuran métodos o claves de cifrado independientes para los resultados de la consulta y los datos de la tabla, Athena lee los datos de la tabla sin utilizar la opción de cifrado y la clave utilizadas para cifrar o descifrar los resultados de la consulta.

Sin embargo, si utiliza Athena para insertar datos en una tabla que tiene datos cifrados, Athena utiliza la configuración de cifrado que se especificó para los resultados de la consulta para cifrar los datos insertados. Por ejemplo, si especifica el cifrado CSE_KMS para los resultados de la consulta, Athena utiliza el mismo identificador de clave AWS KMS que utilizó para el cifrado de los resultados de la consulta para cifrar los datos de la tabla insertada con CSE_KMS

Opciones de cifrado de Simple Storage Service (Amazon S3) compatibles

Athena admite las siguientes opciones de cifrado para conjuntos de datos y resultados de consulta en Amazon S3.

Tipo de cifrado Descripción Compatibilidad entre regiones
SSE-S3 Cifrado de lado del servidor (SSE) con una clave administrada por Amazon S3.
SSE-KMS Cifrado de lado del servidor (SSE) con una clave administrada por el cliente de AWS Key Management Service.
nota

Con este tipo de cifrado, Athena no requiere que indique que los datos están cifrados al crear una tabla.

CSE-KMS

Cifrado del cliente (CSE) con una clave administrada por el cliente de AWS KMS. En Athena, esta opción requiere que utilice una instrucción CREATE TABLE con una cláusula TBLPROPERTIES que especifica 'has_encrypted_data'='true'. Para obtener más información, consulte Creación de tablas basadas en conjuntos de datos cifrados en Amazon S3.

No

Para obtener más información sobre el cifrado de AWS KMS con Simple Storage Service (Amazon S3), consulte ¿Qué es AWS Key Management Service? y Cómo Amazon Simple Storage Service (Amazon S3) utiliza AWS KMS en la Guía para desarrolladores de AWS Key Management Service. Para obtener más información sobre el uso de SSE-KMS o CSE-KMS con Athena, consulte Lanzamiento: Amazon Athena agrega compatibilidad para las consultas de datos cifrados en el Blog de macrodatos de AWS.

Opciones no admitidas

No se admiten las siguientes opciones de cifrado:

  • SSE con claves proporcionadas por el cliente (SSE-C)

  • Cifrado del cliente con una clave administrada del cliente.

  • Claves asimétricas

Para comparar las opciones de cifrado de Amazon S3, consulte Protección de datos mediante cifrado en la Guía del usuario de Amazon Simple Storage Service.

Herramientas para el cifrado del cliente

Tenga en cuenta que hay dos herramientas disponibles para el cifrado del cliente:

  • Amazon S3 encryption client: esto cifra los datos solo para Amazon S3 y es compatible con Athena.

  • AWS Encryption SDK: el SDK se puede utilizar para cifrar datos en cualquier lugar de AWS, pero no es directamente compatible con Athena.

Estas herramientas no son compatibles; además, los datos cifrados con una herramienta no pueden ser descifrados por la otra. Athena solo admite Amazon S3 Encryption Client directamente. Si se utiliza el SDK para cifrar los datos, se pueden ejecutar consultas desde Athena, pero los datos se devuelven como texto cifrado.

Si se desea utilizar Athena para consultar datos cifrados con el AWS Encryption SDK, es necesario descargar y descifrar los datos, y luego cifrarlos de nuevo con Amazon S3 Encryption Client.

Permisos para datos cifrados en Amazon S3

En función del tipo de cifrado que se utiliza en Amazon S3, es posible que tenga que agregar permisos, también conocidos como acciones “Permitir”, a las políticas utilizadas en Athena:

  • SSE-S3: si se utiliza SSE-S3 para el cifrado, los usuarios de Athena no requieren permisos adicionales en sus políticas. Basta con disponer de los permisos de Amazon S3 adecuados para la ubicación de Amazon S3 correspondiente y para las acciones de Athena. Para obtener más información sobre las políticas que permiten los permisos de Athena y Amazon S3 adecuados, consulte Políticas administradas de AWS para Amazon Athena y Control del acceso a Amazon S3 desde Athena.

  • AWS KMS: si utiliza AWS KMS para el cifrado, los usuarios de Athena deben poder realizar acciones de AWS KMS concretas, además de tener los permisos de Athena y Amazon S3. Puede permitir estas acciones mediante la edición de la política de claves para las claves administradas por el cliente (CMK) de AWS KMS que se utilizan para cifrar los datos en Amazon S3. Para agregar usuarios de claves a las políticas de claves de AWS KMS adecuadas, puede usar la consola de AWS KMS en https://console.aws.amazon.com/kms. Para obtener información sobre cómo agregar un usuario a una política de claves de AWS KMS, consulte Permitir a los usuarios de claves utilizar la CMK en la Guía para desarrolladores de AWS Key Management Service.

    nota

    Los administradores de políticas de claves avanzadas pueden ajustar las políticas de claves. kms:Decrypt es la acción mínima permitida para que un usuario de Athena pueda trabajar con un conjunto de datos cifrados. Para trabajar con resultados de consulta cifrados, las acciones mínimas permitidas son kms:GenerateDataKey y kms:Decrypt.

    Cuando se utiliza Athena para consultar conjuntos de datos en Amazon S3 que tengan un gran número de objetos cifrados con AWS KMS, AWS KMS puede limitar los resultados de las consultas. Esto es más probable que se produzca cuando hay un gran número de objetos pequeños. Athena deja de utilizar las solicitudes de reintento, pero es posible que siga produciéndose un error de limitación controlada. Si trabaja con un gran número de objetos cifrados y experimenta este problema, una opción es habilitar las claves de bucket de Simple Storage Service (Amazon S3) para reducir el número de llamadas a KMS. Para obtener más información, consulte Reducción del costo de SSE-KMS con las claves de bucket de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service. Otra opción es aumentar las Service Quotas para AWS KMS. Para obtener más información, consulte Cuotas en la Guía para desarrolladores de AWS Key Management Service.

Para obtener información sobre la solución de problemas de permisos al utilizar Amazon S3 con Athena, consulte la sección Permisos del tema Solución de problemas en Athena.

Permisos para metadatos cifrados en el catálogo de datos de AWS Glue

Si cifra metadatos en AWS Glue Data Catalog, debe agregar acciones "kms:GenerateDataKey", "kms:Decrypt" y "kms:Encrypt" a las políticas que utiliza para el acceso a Athena. Para obtener más información, consulte Configuración del acceso desde Athena a los metadatos cifrados en el AWS Glue Data Catalog.