Habilitación del cifrado de Apache Spark
Puede habilitar el cifrado de Apache Spark en Athena. Al hacerlo, se cifran los datos en tránsito entre los nodos de Spark y también se cifran los datos en reposo que Spark almacena de manera local. Para mejorar la seguridad de estos datos, Athena utiliza la siguiente configuración de cifrado:
spark.io.encryption.keySizeBits="256"
spark.io.encryption.keygen.algorithm="HmacSHA384" Para habilitar el cifrado de Spark, puede usar la consola, la AWS CLI o la API de Athena.
Para crear un cuaderno nuevo con el cifrado de Spark habilitado
Abra la consola de Athena en https://console.aws.amazon.com/athena/
. -
Si el panel de navegación de la consola no está visible, elija el menú de expansión de la izquierda.
-
Realice una de las siguientes acciones:
-
En Notebook explorer (Explorador de cuadernos), elija Create notebook (Crear cuaderno).
-
En Notebook editor (Editor de cuadernos), elija Create notebook (Crear cuaderno) o elija el icono con el signo más (+) para agregar un cuaderno.
-
-
En Nombre del cuaderno, ingrese un nombre para el cuaderno.
-
Amplíe la opción Propiedades de Spark.
-
Seleccione Activar el cifrado de Spark.
-
Seleccione Crear.
La sesión del cuaderno que cree estará cifrada. Use el nuevo cuaderno como lo haría normalmente. Cuando más adelante inicie nuevas sesiones que usen el cuaderno, las nuevas sesiones también estarán cifradas.
También puede utilizar la consola de Athena para habilitar el cifrado de Spark en un cuaderno existente.
Para habilitar el cifrado en un cuaderno existente
-
Abra una nueva sesión para un cuaderno ya creado.
-
En el editor de cuadernos, en el menú Session (Sesión) de la esquina superior derecha, elija Edit session (Editar sesión).
-
En el cuadro de diálogo Editar detalles de la sesión, amplíe Propiedades de Spark.
-
Seleccione Activar el cifrado de Spark.
-
Seleccione Save.
La consola inicia una nueva sesión con el cifrado habilitado. Las sesiones posteriores que cree para este cuaderno también tendrán el cifrado habilitado.
Puede usar la AWS CLI para habilitar el cifrado al iniciar una sesión mediante la especificación de las propiedades de Spark correspondientes.
Para usar la AWS CLI a fin de habilitar el cifrado de Spark
-
Use un comando como el siguiente para crear un objeto JSON de configuración del motor que especifique las propiedades de cifrado de Spark.
ENGINE_CONFIGURATION_JSON=$( cat <<EOF { "CoordinatorDpuSize": 1, "MaxConcurrentDpus": 20, "DefaultExecutorDpuSize": 1, "SparkProperties": { "spark.authenticate": "true", "spark.io.encryption.enabled": "true", "spark.network.crypto.enabled": "true" } } EOF ) -
En la AWS CLI, use el comando
athena start-sessiony pase el objeto JSON que creó al argumento--engine-configuration, como en el siguiente ejemplo:aws athena start-session \ --region "region" \ --work-group "your-work-group" \ --engine-configuration "$ENGINE_CONFIGURATION_JSON"
Para las sesiones de la versión 3.5 de Apache Spark, active el cifrado al especificar las mismas propiedades de cifrado en el elemento Classifications de la configuración del motor en lugar de en el elemento SparkProperties. El comportamiento de cifrado es idéntico al de versiones anteriores: Athena cifra los datos en tránsito entre los nodos de Spark y los datos en reposo que Spark almacena de manera local mediante el cifrado AES de 256 bits con el algoritmo HmacSHA384. Utilice un comando como el siguiente, en el que la clasificación Name debe ser spark-defaults.
aws athena start-session \ --region "region" \ --work-group "your-work-group" \ --engine-configuration '{ "Classifications": [{ "Name": "spark-defaults", "Properties": { "spark.authenticate": "true", "spark.io.encryption.enabled": "true", "spark.network.crypto.enabled": "true" } }] }'
También puede activar el cifrado de Spark al crear un grupo de trabajo. Especifique las mismas propiedades de cifrado en el elemento Classifications de EngineConfiguration en la configuración del grupo de trabajo, como en el siguiente ejemplo. Las sesiones que inicie más adelante en este grupo de trabajo heredan la configuración de cifrado.
aws athena create-work-group \ --region "region" \ --name "your-work-group" \ --configuration '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "execution-role", "EngineConfiguration": { "Classifications": [{ "Name": "spark-defaults", "Properties": { "spark.authenticate": "true", "spark.io.encryption.enabled": "true", "spark.network.crypto.enabled": "true" } }] } }'
Para habilitar el cifrado de Spark con la API de Athena, use la acción StartSession y el parámetro EngineConfiguration de SparkProperties a fin de especificar la configuración de cifrado en su solicitud StartSession.
Para las sesiones de la versión 3.5 de Apache Spark, utilice la acción StartSession con el parámetro EngineConfiguration Classifications, en lugar de SparkProperties, para especificar las propiedades de cifrado. El nombre de la clasificación debe ser spark-defaults.