Seguridad en Amazon EMR
Los asuntos relacionados con la seguridad y la conformidad son una responsabilidad que comparte con AWS. Este modelo compartido le ayuda a liberar su carga operativa, ya que AWS opera, administra y controla los componentes, desde el sistema operativo host y la capa de virtualización hasta la seguridad física en las instalaciones en las que operan los clústeres de EMR. Usted asume la responsabilidad de administrar y actualizar los clústeres de Amazon EMR, así como de configurar el software de la aplicación y los controles de seguridad de AWS proporcionados. Esta diferenciación de responsabilidad suele denominarse seguridad de la nube en comparación con seguridad en la nube.
-
Seguridad de la nube: AWS es responsable de proteger la infraestructura que ejecuta Servicios de AWS en AWS. AWS, además, proporciona servicios que puede utilizar de forma segura. Auditores independientes prueban y verifican periódicamente la eficacia de nuestra seguridad en el marco de los programas de conformidad de AWS
. Para obtener más información sobre los programas de conformidad que se aplican a Amazon EMR, consulte Servicios de AWS en el ámbito del programa de conformidad . -
Seguridad en la nube: también es responsable de realizar todas las tareas de configuración y administración de la seguridad necesarias para proteger un clúster de Amazon EMR. Los clientes que despliegan un clúster de Amazon EMR son responsables de la administración del software de aplicación instalado en las instancias y de la configuración de las características de AWS proporcionadas, como los grupos de seguridad, el cifrado y el control de acceso, de acuerdo con sus requisitos y las leyes y normativas aplicables.
Esta documentación le permite comprender cómo aplicar el modelo de responsabilidad compartida cuando se utiliza Amazon EMR. Los temas de este capítulo muestran cómo configurar Amazon EMR y utilizar otros Servicios de AWS para satisfacer sus necesidades de seguridad y objetivos de conformidad.
Seguridad de la red y la infraestructura
Como servicio administrado, Amazon EMR está protegido por los procedimientos de seguridad de red globales de AWS que se detallan en el documento técnico Amazon Web Services: información general sobre procesos de seguridad
-
Los grupos de seguridad de Amazon EC2 actúan como un firewall virtual para las instancias de clúster de Amazon EMR y controlan el tráfico de red entrante y saliente. Para obtener más información, consulte Control del tráfico de red con grupos de seguridad.
-
El acceso público de bloqueo de Amazon EMR (BPA) le impide lanzar un clúster en una subred pública si el clúster tiene una configuración de seguridad que permite el tráfico entrante desde direcciones IP públicas en un puerto. Para obtener más información, consulte Uso del acceso público de bloqueo de Amazon EMR.
-
Secure Shell (SSH) le ayuda a proporcionar una forma segura de que los usuarios se conecten a la línea de comandos en instancias de clúster. También puede usar SSH para ver las interfaces web que las aplicaciones alojan en el nodo maestro de un clúster. Para obtener más información, consulte Usar un par de claves EC2 para las credenciales SSH y Conectarse a un clúster.
Actualizaciones de la AMI de Amazon Linux predeterminada para Amazon EMR
importante
Los clústeres de Amazon EMR que ejecutan las imágenes de máquina de Amazon (AMI) de Amazon Linux o Amazon Linux 2 utilizan el comportamiento predeterminado de Amazon Linux y no descargan ni instalan automáticamente actualizaciones importantes y críticas del kernel que requieren un reinicio. Este comportamiento es el mismo que el de otras instancias de Amazon EC2 que ejecutan la AMI predeterminada de Amazon Linux. Si aparecen nuevas actualizaciones de software de Amazon Linux que requieren un reinicio (por ejemplo, actualizaciones del kernel, NVIDIA y CUDA) tras el lanzamiento de una versión de Amazon EMR, las instancias de clúster de Amazon EMR que ejecutan la AMI predeterminada no descargan ni instalan automáticamente esas actualizaciones. Para obtener actualizaciones del kernel, puede personalizar la AMI de Amazon EMR para que utilice la AMI de Amazon Linux más reciente.
En función del nivel de seguridad de la aplicación y del tiempo que lleve ejecutándose un clúster, puede optar por reiniciar el clúster periódicamente para aplicar las actualizaciones de seguridad, o crear una acción de arranque para personalizar la instalación y las actualizaciones de los paquetes. También puede optar por probar y, a continuación, instalar determinadas actualizaciones de seguridad en las instancias del clúster en ejecución. Para obtener más información, consulte Uso de la AMI de Amazon Linux predeterminada para Amazon EMR. Tenga en cuenta que la configuración de red debe permitir la salida de HTTP y HTTPS a los repositorios de Linux en Amazon S3; de lo contrario, las actualizaciones de seguridad no se realizarán correctamente.
AWS Identity and Access Management con Amazon EMR
AWS Identity and Access Management (IAM) es un servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a los recursos de AWS. Los administradores de IAM controlan quién se puede autenticar (iniciar sesión) y autorizar (tener permisos) para utilizar los recursos de Amazon EMR. Las identidades de IAM incluyen usuarios, grupos y roles. El rol de IAM es similar a la de un usuario de IAM, pero no está asociada a una determinada persona y está destinada a ser asumida por cualquier usuario que necesite permisos. Para obtener más información, consulte AWS Identity and Access Management para Amazon EMR. Amazon EMR utiliza varios roles de IAM para ayudarle a implementar controles de acceso para los clústeres de Amazon EMR. IAM es un servicio de AWS que puede utilizar sin cargo adicional.
-
Rol de IAM para Amazon EMR (rol de EMR): controla la forma en que el servicio Amazon EMR puede acceder a otros Servicios de AWS en su nombre, como el aprovisionamiento de instancias de Amazon EC2 cuando se lanza el clúster de Amazon EMR. Para obtener más información, consulte Configuración de roles de servicio IAM para permisos de Amazon EMR para los Servicios de AWS y los recursos.
-
Rol de IAM para las instancias de EC2 (perfil de la instancia de EC2): un rol que está asignado a cada instancia de EC2 de el clúster de Amazon EMR cuando se lanza la instancia. Los procesos de aplicación que se ejecutan en el clúster utilizan este rol para interactuar con otros Servicios de AWS, como Amazon S3. Para obtener más información, consulte Rol de IAM para instancias de EC2 del clúster.
-
Rol de IAM para aplicaciones (rol de tiempo de ejecución): un rol de IAM que puede especificar al enviar un trabajo o una consulta a un clúster de Amazon EMR. El trabajo o la consulta que envíe a su clúster de Amazon EMR utiliza el rol en tiempo de ejecución para acceder a los recursos de AWS, como los objetos de Amazon S3. Puede especificar roles en tiempo de ejecución con Amazon EMR para los trabajos de Spark y Hive. Al usar roles de tiempo de ejecución, puede aislar los trabajos que se ejecutan en el mismo clúster utilizando diferentes roles de IAM. Para obtener información, consulte Uso de un rol de IAM como rol de tiempo de ejecución con Amazon EMR.
Las identidades del personal se refieren a los usuarios que crean u operan cargas de trabajo en AWS. Amazon EMR proporciona compatibilidad de las identidades del personal con lo siguiente:
-
El centro de identidad de IAM (Idc) de AWS es el Servicio de AWS recomendado para administrar el acceso de los usuarios a los recursos de AWS. Es un único lugar en el que puede asignar las identidades de su personal, acceso uniforme a varias cuentas y aplicaciones de AWS. Amazon EMR respalda las identidades del personal mediante una propagación de identidades fiable. Con la capacidad de propagación de identidades fiable, un usuario puede iniciar sesión en la aplicación y esa aplicación puede transmitir la identidad del usuario a otro Servicios de AWS para autorizar el acceso a los datos o recursos. Para obtener más información, consulte Habilitar la compatibilidad para el AWS centro de identidad de IAM con Amazon EMR.
El Protocolo ligero de acceso a directorios (LDAP) es un protocolo de aplicación estándar del sector, abierto, independiente del proveedor y que permite acceder a la información sobre los usuarios, los sistemas, los servicios y las aplicaciones y mantenerla a través de la red. El LDAP se utiliza habitualmente para la autenticación de usuarios en servidores de identidad como Active Directory (AD) y OpenLDAP. Al habilitar LDAP con clústeres de EMR, usted permite a los usuarios utilizar sus credenciales existentes para autenticarse y acceder a los clústeres. Para obtener más información, consulte habilitación de la compatibilidad para el LDAP con Amazon EMR.
Kerberos es un protocolo de autenticación de red diseñado para proporcionar una autenticación sólida para las aplicaciones cliente/servidor mediante criptografía de clave secreta. Si utiliza Kerberos, Amazon EMR configura Kerberos para las aplicaciones, componentes y subsistemas que instala en el clúster, de forma que se autentiquen entre sí. Para acceder a un clúster con Kerberos configurado, debe haber una entidad principal de Kerberos en el Controlador de Dominio de Kerberos (KDC). Para obtener más información, consulte habilitación de la compatibilidad para Kerberos con Amazon EMR.
Clústeres de un solo inquilino y de varios inquilinos
De forma predeterminada, un clúster está configurado para una sola tenencia con el perfil de instancia EC2 como identidad de IAM. En un clúster de un solo inquilino, cada trabajo tiene acceso total y completo al clúster y el acceso a todos los Servicios de AWS y recursos se realiza en función del perfil de la instancia EC2. En un clúster con varios inquilinos, los inquilinos están aislados unos de otros y no tienen acceso total ni completo a los clústeres ni a las instancias de EC2 del clúster. La identidad de los clústeres de varios inquilinos son los roles de tiempo de ejecución o los que identifica el personal. En un clúster de múltiples inquilinos, también puede habilitar la compatibilidad para el control de acceso detallado (FGAC) a través de AWS Lake Formation o de Apache Ranger. En un clúster que tiene habilitadas los roles de tiempo de ejecución o el FGAC, el acceso al perfil de instancia EC2 también está deshabilitado a través de iptables.
importante
Cualquier usuario que tenga acceso a un clúster de un solo inquilino puede instalar cualquier software en el sistema operativo (SO) Linux, cambiar o eliminar los componentes de software instalados por Amazon EMR y afectar a las instancias EC2 que forman parte del clúster. Si quiere asegurarse de que los usuarios no puedan instalar o cambiar las configuraciones de un clúster de Amazon EMR, le recomendamos que habilite la multitenencia para el clúster. Puede habilitar la multitenencia en un clúster activando la compatibilidad para el rol de tiempo de ejecución, el centro de identidad de IAM de AWS, Kerberos o LDAP.
Protección de datos
Con AWS, puede controlar sus datos mediante el uso de Servicios de AWS y herramientas para determinar cómo están protegidos los datos y quién tiene acceso a ellos. Los servicios como AWS Identity and Access Management (IAM) le permiten administrar de forma segura el acceso a Servicios de AWS y los recursos. AWS CloudTrail permite la detección y la auditoría. Amazon EMR le facilita el cifrado de los datos en reposo en Amazon S3 mediante claves administradas por AWS o totalmente administradas por usted. Amazon EMR también admite la activación del cifrado de los datos en tránsito. Para obtener más información, consulte cifrado de datos en reposo y en tránsito.
Control de acceso a los datos
Con el control de acceso a los datos, puede controlar a qué datos puede acceder una identidad de IAM o un identidad de personal. Amazon EMR admite los siguientes controles de acceso:
-
Políticas de IAM basadas en la identidad: administre los permisos para los roles de IAM que utilice con Amazon EMR. Las políticas de IAM se pueden combinar con las etiquetas para controlar el acceso en un clúster a clúster. Para obtener más información, consulte AWS Identity and Access Management para Amazon EMR.
-
AWS Lake Formation centraliza la administración de permisos de sus datos y facilita su uso compartido en toda la organización y de forma externa. Puede usar Lake Formation para habilitar un acceso detallado a nivel de columnas a las bases de datos y tablas en el AWS Catálogo de datos de Glue. Para obtener más información, consulte Uso de AWS Lake Formation con Amazon EMR.
-
El acceso a Amazon S3 otorga identidades de mapas que asignan identidades en directorios como Active Directory o entidades principales (IAM) de AWS Identity and Access Management, para conjuntos de datos en S3. Además, el acceso a S3 concede la identidad del usuario final de registro y la aplicación utilizada para acceder a los datos de S3 en AWS CloudTrail. Para obtener más información, consulte Uso de concesiones de acceso a Amazon S3 con Amazon EMR.
-
Apache Ranger es un marco para habilitar, monitorizar y administrar la seguridad integral de los datos en toda la plataforma Hadoop. Amazon EMR admite un control de acceso detallado basado en Apache Ranger para Apache Hive Metastore y Amazon S3. Para más información, consulte Integrar Apache Ranger con Amazon EMR.