Cómo funciona Amazon EMR en EKS con AWS Lake Formation
El uso de Amazon EMR en EKS con Lake Formation le permite implementar una capa de permisos en cada trabajo de Spark para aplicar el control de permisos de Lake Formation cuando Amazon EMR en EKS ejecuta trabajos. Amazon EMR en EKS utiliza los perfiles de recursos de Spark
A continuación, se ofrece una descripción general de alto nivel sobre cómo Amazon EMR en EKS obtiene acceso a los datos protegidos por las políticas de seguridad de Lake Formation.
Los siguientes pasos describen este proceso:
Un usuario envía un trabajo de Spark a un clúster virtual de Amazon EMR en EKS que admite AWS Lake Formation.
El servicio Amazon EMR en EKS configura el controlador de usuario y ejecuta el trabajo en el perfil de usuario. El controlador de usuario ejecuta una versión sencilla de Spark que no permite lanzar tareas, solicitar ejecutores, acceder a Amazon S3 ni al Catálogo de datos de Glue Solo crea un plan de trabajo.
El servicio de Amazon EMR en EKS configura un segundo controlador denominado “controlador del sistema” y lo ejecuta en el perfil del sistema (con una identidad privilegiada). Amazon EKS configura un canal TLS cifrado entre los dos controladores para la comunicación. El controlador de usuario utiliza el canal para enviar los planes de trabajo al controlador del sistema. El controlador del sistema no ejecuta el código enviado por el usuario. Ejecuta Spark a pleno rendimiento y se comunica con Amazon S3 y con el Catálogo de datos para acceder a los datos. Solicita ejecutores y compila el plan de trabajo en una secuencia de etapas de ejecución.
Luego, el servicio de Amazon EMR en EKS ejecuta las etapas en los ejecutores. En cualquier etapa, el código de usuario se ejecuta exclusivamente en los ejecutores de perfiles de usuario.
Las etapas que leen datos de las tablas del Catálogo de datos protegidas por Lake Formation, o aquellas que aplican filtros de seguridad, se delegan a los ejecutores del sistema.