Protección de datos
El modelo de responsabilidad compartida
A los efectos de la protección de datos, se recomienda que proteja las credenciales de la cuenta de AWS y configure cuentas individuales con AWS Identity and Access Management (IAM). De esta manera, cada usuario recibe únicamente los permisos necesarios para cumplir con sus obligaciones laborales. También recomendamos proteger sus datos de las siguientes maneras:
-
Utilice la autenticación multifactor (MFA) en cada cuenta.
-
Utilice SSL/TLS para comunicarse con los recursos de AWS. Recomendamos TLS 1.2 o una versión posterior.
-
Configure la API y el registro de actividad del usuario con AWS CloudTrail.
-
Utilice las soluciones de cifrado de AWS, junto con todos los controles de seguridad predeterminados dentro de los servicios de AWS.
-
Utilice avanzados servicios de seguridad administrados, como Amazon Macie, que lo ayuden a detectar y proteger los datos personales almacenados en Amazon S3.
-
Utilice las opciones de cifrado de Amazon EMR sin servidor para cifrar datos en reposo y en tránsito.
-
Si necesita módulos criptográficos validados FIPS 140-2 al acceder a AWS a través de una interfaz de línea de comandos o una API, utilice un punto de conexión de FIPS. Para obtener más información acerca de los puntos de conexión de FIPS disponibles, consulte Estándar de procesamiento de la información federal (FIPS) 140-2
.
Le recomendamos encarecidamente que nunca introduzca información de identificación confidencial, como, por ejemplo, números de cuenta de sus clientes, en los campos de formato libre, como el campo Nombre. Esto incluye los casos en los que trabaje con Amazon EMR sin servidor u otros servicios de AWS mediante la consola, la API, la AWS CLI o los SDK de AWS. Es posible que cualquier dato que introduzca en Amazon EMR sin servidor u otros servicios se incluya en los registros de diagnóstico. Cuando proporcione una URL a un servidor externo, no incluya información de credenciales en la URL para validar la solicitud para ese servidor.
Cifrado en reposo
El cifrado de datos ayuda a impedir que los usuarios no autorizados lean los datos en un clúster y sistemas de almacenamiento de datos asociados. Esto incluye los datos guardados en medios persistentes, conocidos como datos en reposo y datos que pueden ser interceptados cuando recorren la red, conocidos como datos en tránsito.
El cifrado de datos requiere las claves y los certificados. Puede elegir entre varias opciones, incluidas claves administradas por AWS Key Management Service, claves administradas por Amazon S3, así como claves y certificados de proveedores personalizados que usted proporcione. Cuando se utiliza AWS KMS como proveedor de claves, se aplican cargos por el almacenamiento y el uso de las claves de cifrado. Para más información, consulte Precios de AWS KMS
Antes de especificar las opciones de cifrado, decida qué sistemas de administración de claves y certificados quiere usar. A continuación, cree las claves y los certificados para los proveedores personalizados que especifique como parte de la configuración de cifrado.
Cifrado en reposo para datos de EMRFS en Amazon S3
Cada aplicación EMR sin servidor utiliza una versión de lanzamiento específica, que incluye EMRFS (Sistema de archivos EMR). El cifrado de Amazon S3 funciona con objetos del sistema de archivos de EMR (EMRFS) que se leen y se escriben en Amazon S3. Puede especificar el cifrado del servidor (SSE) o el cifrado del cliente (CSE) de Amazon S3 como Modo de cifrado predeterminado al habilitar el cifrado en reposo. También puede especificar métodos de cifrado diferentes para buckets individuales utilizando Per bucket encryption overrides (Reemplazos de cifrado por bucket). Independientemente de si el cifrado de Amazon S3 está habilitado, la seguridad de la capa de transporte (TLS) cifra los objetos de EMRFS en tránsito entre los nodos del clúster de EMR y Amazon S3. Si utiliza Amazon S3 CSE con claves administradas por el cliente, su rol de ejecución utilizado para ejecutar trabajos en una aplicación EMR sin servidor debe tener acceso a la clave. Para obtener más información detallada sobre cómo lleva a cabo Amazon S3 el cifrado, consulte Protección de datos mediante cifrado en la Guía para desarrolladores de Amazon Simple Storage Service.
nota
Cuando utilice AWS KMS, se aplican cargos por el almacenamiento y el uso de las claves de cifrado. Para más información, consulte Precios de AWS KMS
Cifrado del servidor de Amazon S3
Cuando configura el cifrado del servidor de Amazon S3, Amazon S3 cifra los datos del objeto a medida que escribe los datos en el disco y descifra los datos cuando se accede. Para obtener más información sobre SSE, consulte Protección de datos mediante el cifrado del servidor en la Guía para desarrolladores de Amazon Simple Storage Service.
Puede elegir entre dos sistemas de administración de claves distintos al especificar SSE en Amazon EMR sin servidor:
-
SSE-S3: Amazon S3 administra las claves en su nombre. No se requiere ninguna configuración adicional en EMR sin servidor.
-
SSE-KMS: se utiliza una AWS KMS key para configurar políticas adecuadas destinadas a EMR sin servidor. No se requiere ninguna configuración adicional en EMR sin servidor.
Para usar el cifrado AWS KMS de los datos que escribe en Amazon S3, tiene dos opciones cuando usa la API de StartJobRun
. Puede habilitar el cifrado de todo lo que escriba en Amazon S3 o puede habilitar el cifrado de los datos que escriba en un bucket específico. Para obtener más información sobre la API de StartJobRun
, consulte la Referencia de la API de EMR sin servidor
Para activar el cifrado AWS KMS de todos los datos que escriba en Amazon S3, utilice los siguientes comandos cuando llame a la API de StartJobRun
.
--conf spark.hadoop.fs.s3.enableServerSideEncryption=true --conf spark.hadoop.fs.s3.serverSideEncryption.kms.keyId=
<kms_id>
Para activar el cifrado AWS KMS de todos los datos que escriba en un bucket específico, utilice los siguientes comandos cuando llame a la API de StartJobRun
.
--conf spark.hadoop.fs.s3.bucket.
<amzn-s3-demo-bucket1>
.enableServerSideEncryption=true --conf spark.hadoop.fs.s3.bucket.<amzn-s3-demo-bucket1>
.serverSideEncryption.kms.keyId=<kms-id>
El SSE con claves proporcionadas por el cliente (SSE-C) no está disponible para su uso con EMR sin servidor.
Cifrado del cliente de Amazon S3
Con el cifrado del cliente de Amazon S3, el proceso de cifrado y descifrado de Amazon S3 se produce en el cliente de EMRFS disponible en cualquier aplicación de Amazon EMR. Los objetos se cifran antes de cargarlos en Amazon S3 y se descifran después de que se descarguen. El proveedor que especifique proporciona la clave de cifrado que utiliza el cliente. El cliente puede usar claves proporcionadas por AWS KMS (CSE-KMS) o una clase de Java personalizada que proporciona la clave raíz del cliente (CSE-C). Los detalles de cifrado son ligeramente diferentes entre CSE-KMS y CSE-C, en función del proveedor especificado y de los metadatos del objeto que se descifra o se cifra. Si utiliza Amazon S3 CSE con claves administradas por el cliente, su rol de ejecución utilizado para ejecutar trabajos en una aplicación EMR sin servidor debe tener acceso a la clave. Podrían aplicarse cargos adicionales de KMS. Para obtener más información sobre estas diferencias, consulte Protección de los datos con el cifrado del cliente en la Guía para desarrolladores de Amazon Simple Storage Service.
Cifrado de disco local
Los datos almacenados en un almacenamiento efímero se cifran con claves propias del servicio mediante el algoritmo de cifrado AES-256 estándar del sector.
Administración de claves
Puede configurar KMS para que rote automáticamente las claves de KMS. De este modo, las claves se rotan una vez al año y se guardan las antiguas de forma indefinida para poder seguir descifrando los datos. Para obtener más información, consulte Rotación de claves maestras de cliente.
Cifrado en tránsito
Las siguientes características de cifrado específicas de la aplicación están disponibles con Amazon EMR sin servidor:
-
Spark
-
De forma predeterminada, la comunicación entre los controladores y los ejecutores de Spark está autenticada y es interna. La comunicación RPC entre los controladores y los ejecutores está cifrada.
-
-
Hive
-
La comunicación entre el metaalmacén de Glue de AWS y las aplicaciones EMR sin servidor se realiza a través de TLS.
-
Debería permitir solo las conexiones cifradas a través de HTTPS (TLS) mediante la condición aws:SecureTransport en las políticas de IAM del bucket de Amazon S3.