Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Prácticas recomendadas de seguridad para Amazon MWAA
Amazon MWAA proporciona una serie de características de seguridad que debe tener en cuenta a la hora de desarrollar e implementar sus propias políticas de seguridad. Las siguientes prácticas recomendadas son directrices generales y no constituyen una solución de seguridad completa. Puesto que es posible que estas prácticas recomendadas no sean adecuadas o suficientes para el entorno, considérelas como consideraciones útiles en lugar de como normas.
-
Utilice las políticas de permisos que sean menos permisivas. Otorgue permisos únicamente a los recursos o a las acciones que los usuarios necesiten para llevar a cabo las tareas.
-
AWS CloudTrail Utilízalos para supervisar la actividad de los usuarios en tu cuenta.
-
Asegúrese de que la política de buckets de Amazon S3 y las listas de control de acceso (ACL) a objetos concedan permisos a los usuarios del entorno de Amazon MWAA asociado para que puedan colocar objetos en el bucket. Esto garantizará que los usuarios con permisos para añadir flujos de trabajo al bucket también dispongan de permisos para ejecutar los flujos de trabajo en Airflow.
-
Utilice los buckets de Amazon S3 asociados a los entornos de Amazon MWAA. Su bucket de Amazon S3 puede tener cualquier nombre. No almacene otros objetos en el bucket ni lo use con otro servicio.
Prácticas recomendadas de seguridad en Apache Airflow
Apache Airflow no es multitenencia. Si bien Amazon MWAA implementa algunas medidas de control de acceso
Recomendamos seguir los siguientes consejos al trabajar con Apache Airflow en Amazon MWAA a fin de garantizar la seguridad de la base de metadatos y los DAG de su entorno.
-
Utilice entornos separados para equipos distintos que tengan acceso a la escritura de los DAG, o bien tengan la capacidad de añadir archivos a su carpeta
/dagsde Amazon S3, suponiendo que los usuarios que puedan escribir en el entorno también podrían acceder a cualquier a la que se pueda acceder mediante el rol de ejecución de Amazon MWAA o las conexiones de Apache Airflow. -
No proporcione acceso directo a las carpetas de los DAG de Amazon S3. En su lugar, utilice CI/CD herramientas para escribir archivos DAG en Amazon S3, con un paso de validación que garantice que el código del DAG cumple las directrices de seguridad de su equipo.
-
Evite que los usuarios puedan acceder al bucket de Amazon S3. En su lugar, utilice un generador de DAG que genere DAG basados en un archivo YAML, JSON u otro archivo de definición que esté almacenado en una ubicación diferente a la de su bucket de Amazon S3 de Amazon MWAA en el que almacena los DAG.
-
Almacene la información secreta en Secrets Manager. Si bien esto no impedirá que los usuarios que pueden escribir DAG lean esa información, sí evitará que puedan modificar la información secreta que utiliza su entorno.
Detección de cambios en los privilegios de los usuarios de Apache Airflow
Puede usar CloudWatch Logs Insights para detectar casos en los que los DAG modifican los privilegios de usuario de Apache Airflow. Para ello, puede usar una regla EventBridge programada, una función de Lambda y CloudWatch Logs Insights para enviar notificaciones a las CloudWatch métricas cada vez que uno de sus DAG cambie los privilegios de usuario de Apache Airflow.
Requisitos previos
Para completar los pasos que se detallan a continuación, necesita lo siguiente:
-
Un entorno de Amazon MWAA que tenga habilitados todos los tipos de registros de Apache Airflow en el nivel de registro
INFO. Para obtener más información, consulta Acceso a los registros de Airflow en Amazon CloudWatch.
Configuración de las notificaciones acerca de cualquier cambio que se produzca en los privilegios de los usuarios de Apache Airflow
-
Cree una función de Lambda que ejecute la siguiente cadena de consulta de CloudWatch Logs Insights en los cinco grupos de registros del entorno de Amazon MWAA (
DAGProcessing,,Schedulery).TaskWebServerWorkerfields @log, @timestamp, @message | filter @message like "add-role" | stats count() by @log -
Cree una EventBridge regla que se ejecute según un cronograma, con la función Lambda que creó en el paso anterior como objetivo de la regla. Configure su programación mediante una expresión de frecuencia o una expresión cron para que se ejecute a intervalos regulares.