Tutorial: Restringir el acceso de un usuario de Amazon MWAA a un subconjunto de DAGs - Amazon Managed Workflows para Apache Airflow

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.

Tutorial: Restringir el acceso de un usuario de Amazon MWAA a un subconjunto de DAGs

Amazon MWAA gestiona el acceso a su entorno asignando sus entidades principales de IAM a uno o más roles predeterminados de Apache Airflow. Utilice el siguiente tutorial para restringir a los usuarios individuales de Amazon MWAA el acceso e interactuar únicamente con un DAG específico o un conjunto de ellos. DAGs

nota

Los pasos de este tutorial se pueden seguir con acceso federado, siempre que haya roles de IAM.

Requisitos previos

Para completar los pasos de este tutorial, deberá tener lo siguiente:

  • Un entorno Amazon MWAA con múltiples DAGs

  • Una entidad principal de IAM, Admin con AdministratorAccesspermisos, y un usuario de IAMMWAAUser, como entidad principal a la que puede limitar el acceso al DAG. Para obtener más información sobre las funciones de administrador, consulte la función de administración en la Guía del usuario de IAM

    nota

    No adjunte políticas de permisos directamente a sus usuarios de IAM. Recomendamos que configure roles de IAM que los usuarios puedan asumir para obtener acceso temporal a sus recursos de Amazon MWAA.

  • AWS Command Line Interface versión 2 instalada.

Paso uno: Proporcione acceso al servidor web de Amazon MWAA a su director de IAM con el rol predeterminado de Apache Public Airflow.

Para conceder el permiso, utilice el AWS Management Console
  1. Inicie sesión Cuenta de AWS con un Admin rol y abra la consola de IAM.

  2. En el panel de navegación izquierdo, elija Usuarios y, a continuación, elija su usuario de IAM de Amazon MWAA en la tabla de usuarios.

  3. En la página de información de usuario, en Resumen, vaya a la pestaña Permisos, luego a Políticas de permisos para expandir la tarjeta y seleccione Agregar permisos.

  4. En la sección Configurar permisos, elija Adjuntar directamente las políticas existentes y, a continuación, Crear política.

  5. En la página Crear política, elija JSON y, a continuación, copie y pegue la siguiente política de permisos de JSON en el editor de políticas. Esta política otorga acceso al servidor web al usuario con el rol predeterminado de Public Apache Airflow.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public" ] } ] }

Paso 2: crear un nuevo rol personalizado de Apache Airflow

Pasos para crear un nuevo rol mediante la interfaz de usuario de Apache Airflow
  1. Con su rol de IAM de administrador, abra la consola de Amazon MWAA e inicie la interfaz de usuario de Apache Airflow de su entorno.

  2. En el panel de navegación de la parte superior, coloca el cursor sobre Seguridad para abrir la lista desplegable y, a continuación, selecciona Listar roles para acceder a los roles predeterminados de Apache Airflow.

  3. En la lista de roles, selecciona Usuario y, al principio de la página, selecciona Acciones para abrir el menú desplegable. Elija Copiar rol y confirme con Aceptar

    nota

    Copie los roles de Operaciones o Lector para conceder más o menos accesos, respectivamente.

  4. Localice el nuevo rol que creó en la tabla y elija Editar el registro.

  5. En la página Cambiar el rol, haga lo siguiente:

    • En Nombre, indique un nombre nuevo para el rol en el campo de texto. Por ejemplo, Restricted.

    • En la lista de permisos, elimina can read on DAGs ycan edit on DAGs, a continuación, añade los permisos de lectura y escritura para el conjunto al DAGs que quieres dar acceso. Por ejemplo, para un DAG, example_dag.py, añada can read on DAG:example_dag y can edit on DAG:example_dag.

    Seleccione Save. Ahora tiene un nuevo rol que limita el acceso a un subconjunto de los DAGs disponibles en su entorno de Amazon MWAA. Puede asignar este rol a cualquier usuario existente de Apache Airflow.

Paso 3: asigne el rol que creó a su usuario de Amazon MWAA

Pasos para asignar el nuevo rol
  1. Con las credenciales de accesoMWAAUser, ejecute el siguiente comando CLI para recuperar la URL del servidor web de su entorno.

    aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'

    Si se ejecuta correctamente, consultará el siguiente resultado:

    "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
  2. Si MWAAUser has iniciado sesión en AWS Management Console, abre una nueva ventana del navegador y accede a lo siguiente URl. Modifique el Webserver-URL añadiendo su información.

    https://<Webserver-URL>/home

    Si tiene éxito, aparecerá una página de Forbidden error porque aún no se le MWAAUser ha concedido permiso para acceder a la interfaz de usuario de Apache Airflow.

  3. Una vez que Admin haya iniciado sesión en AWS Management Console, vuelva a abrir la consola de Amazon MWAA e inicie la interfaz de usuario de Apache Airflow de su entorno.

  4. Desde el panel de la interfaz de usuario, expanda el menú desplegable Seguridad y, esta vez, seleccione Mostrar usuarios.

  5. En la tabla de usuarios, busque el nuevo usuario de Apache Airflow y seleccione Editar el registro. El nombre del usuario coincidirá con su nombre de usuario de IAM según el patrón siguiente: user/mwaa-user.

  6. En la página Editar el usuario, en la sección Rol, añada el nuevo rol personalizado que ha creado y, finalmente, proceda a Guardar.

    nota

    El campo de apellido es obligatorio, pero se puede rellenar añadiendo solo un espacio.

    El Public director de IAM concede el MWAAUser permiso para acceder a la interfaz de usuario de Apache Airflow, mientras que la nueva función proporciona los permisos adicionales necesarios para obtenerlos. DAGs

importante

Cualquiera de las 5 funciones predeterminadas (por ejemploAdmin) no autorizadas por IAM y que se agreguen mediante la interfaz de usuario de Apache Airflow se eliminará la próxima vez que el usuario inicie sesión.

Pasos a seguir a continuación

  • Para obtener más información sobre la administración del acceso a su entorno Amazon MWAA y obtener ejemplos de políticas de IAM de JSON que puede usar para los usuarios de su entorno, consulte Acceso a un entorno de Amazon MWAA

  • Control de acceso (documentación de Apache Airflow): obtenga más información sobre los roles predeterminados de Apache Airflow en el sitio web de documentación de Apache Airflow.