

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
<a name="limit-access-to-dags"></a>

Amazon MWAA gestiona el acceso a su entorno asignando sus entidades principales de IAM a uno o más [roles predeterminados](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#default-roles) 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.

**Topics**
+ [Requisitos previos](#limit-access-to-dags-prerequisites)
+ [Paso 1: dé acceso al servidor web de Amazon MWAA a su entidad principal de IAM con el rol predeterminado `Public` de Apache Airflow.](#limit-access-to-dags-apply-public-access)
+ [Paso 2: crear un nuevo rol personalizado de Apache Airflow](#limit-access-to-dags-create-new-airflow-role)
+ [Paso 3: asigne el rol que creó a su usuario de Amazon MWAA](#limit-access-to-dags-assign-role)
+ [Siguientes pasos](#limit-access-to-dags-next-up)
+ [Recursos relacionados](#limit-access-to-dags-related-resources)

## Requisitos previos
<a name="limit-access-to-dags-prerequisites"></a>

Para completar los pasos de este tutorial, deberá tener lo siguiente:
+ Un [entorno Amazon MWAA con múltiples DAGs](get-started.md)
+ Una entidad principal de IAM, `Admin` con [AdministratorAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AdministratorAccess$jsonEditor)permisos, y un usuario de IAM`MWAAUser`, como entidad principal a la que puede limitar el acceso al DAG. Para obtener más información sobre los roles de administrador, consulte la [función de trabajo de administrador](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) 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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install).

## Paso 1: dé acceso al servidor web de Amazon MWAA a su entidad principal de IAM con el rol predeterminado `Public` de Apache Airflow.
<a name="limit-access-to-dags-apply-public-access"></a>

**Para conceder el permiso mediante el Consola de administración de AWS**

1. Inicie sesión Cuenta de AWS con un `Admin` rol y abra la [consola de IAM](https://console.aws.amazon.com/iam/).

1. 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.

1. 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**.

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

1. 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 da acceso al servidor web al usuario con el rol predeterminado `Public` de 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
<a name="limit-access-to-dags-create-new-airflow-role"></a>

**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](https://console.aws.amazon.com/mwaa/home) e inicie la interfaz de usuario de Apache Airflow de su entorno.

1. En el panel de navegación de la parte superior, pase el cursor por **Security** (Seguridad) para abrir la lista desplegable y, a continuación, seleccione **List Roles** (Mostrar roles) para ver los roles predeterminados de Apache Airflow.

1. En la lista de roles, elija **User** (Usuario) y, en la parte superior de la página, **Actions** (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.

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

1. En la página **Cambiar el rol**, haga lo siguiente:
   + En **Name** (Nombre), indique un nombre nuevo para el rol en el campo de texto. Por ejemplo, **Restricted**.
   + Para ver la lista de **permisos**, elimine `can read on DAGs` y`can edit on DAGs`, a continuación, añada los permisos de lectura y escritura para el conjunto al DAGs que desee proporcionar 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. Ya puede asignar este rol a cualquier usuario existente de Apache Airflow.

## Paso 3: asigne el rol que creó a su usuario de Amazon MWAA
<a name="limit-access-to-dags-assign-role"></a>

**Pasos para asignar el nuevo rol**

1. Con las credenciales de acceso de `MWAAUser`, ejecute el siguiente comando de la CLI para recuperar la URL del servidor web del entorno.

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

   Si todo va bien, obtendrá el siguiente resultado:

   ```
   "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
   ```

1. Si `MWAAUser` ha iniciado sesión en Consola de administración de AWS, abra una nueva ventana del navegador y acceda a lo siguiente. URl Modifique el `Webserver-URL` añadiendo su información.

   ```
   https://<Webserver-URL>/home
   ```

   Si todo va bien, verá una página de error de `Forbidden`. Eso es porque `MWAAUser` todavía no tiene permiso para acceder a la UI de Apache Airflow.

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

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

1. 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`.

1. 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 los 5 roles predeterminados (por ejemplo, `Admin`) no autorizados por IAM y que se agreguen mediante la UI de Apache Airflow se eliminará la próxima vez que el usuario inicie sesión.

## Siguientes pasos
<a name="limit-access-to-dags-next-up"></a>
+ Consulte [Acceso a un entorno de Amazon MWAA](access-policies.md) para obtener más información sobre la gestión del acceso a su entorno Amazon MWAA y para ver ejemplos de políticas de IAM en JSON que puede usar para los usuarios de su entorno.

## Recursos relacionados
<a name="limit-access-to-dags-related-resources"></a>
+ [Control de acceso](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html) (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.