Acceso a un entorno de Amazon MWAA
Para usar Amazon Managed Workflows para Apache Airflow, debe usar una cuenta y entidades de IAM que dispongan de los permisos necesarios. En esta página, se describen las políticas de acceso que puede asociar a su equipo de desarrollo y a los usuarios de Apache Airflow en relación con su entorno de Amazon Managed Workflows para Apache Airflow.
Recomendamos usar credenciales temporales y configurar identidades federadas con grupos y roles para acceder a sus recursos de Amazon MWAA. Como práctica recomendada, aconsejamos que no asocie directamente las políticas a los usuarios de IAM. En su lugar, defina grupos o roles para proporcionar acceso temporal a los recursos de AWS.
Un rol de IAM es una identidad de IAM que puede crear en su cuenta y que tiene permisos específicos. Un rol de IAM es similar a un usuario de IAM en que se trata de una identidad de AWS con políticas de permisos que determinan lo que la identidad puede hacer y lo que no en AWS. No obstante, en lugar de asociarse exclusivamente a una persona, la intención es que cualquier usuario pueda asumir un rol que necesite. Además, un rol no tiene asociadas credenciales a largo plazo estándar, como una contraseña o claves de acceso. En su lugar, cuando se asume un rol, este proporciona credenciales de seguridad temporales para la sesión de rol.
Para asignar permisos a identidades federadas, cree un rol y defina permisos para este. Cuando se autentica una identidad federada, se asocia la identidad al rol y se le conceden los permisos define el rol. Para obtener información acerca de roles de federación, consulte Crear un rol para un proveedor de identidad de terceros (federación) en la Guía de usuario de IAM. Si utiliza el IAM Identity Center, debe configurar un conjunto de permisos. IAM Identity Center correlaciona el conjunto de permisos con un rol en IAM para controlar a qué pueden acceder las identidades después de autenticarse. Para obtener información acerca de los conjuntos de permisos, consulta Conjuntos de permisos en la Guía del usuario de AWS IAM Identity Center.
Puede utilizar un rol de IAM de su cuenta para conceder otros permisos de Cuenta de AWS de acceso a los recursos de su cuenta. Encontrará un ejemplo de ello en la sección Tutorial: delegar el acceso entre Cuentas de AWS con roles de IAM de la guía del usuario de IAM.
Secciones
Política de acceso completo a la consola: AmazonMWAAFullConsoleAccess
Política de acceso completo a la consola y a las API: AmazonMWAAFullApiAccess
Política de acceso de solo lectura a la consola: AmazonMWAAReadOnlyAccess
Política de acceso a la interfaz de usuario de Apache Airflow: AmazonMWAAWebServerAccess
Política de acceso a la API de REST de Apache Airflow: AmazonMWAARestAPIAccess.
Política de la CLI de Apache Airflow: AmazonMWAAAirflowCliAccess
Ejemplo de caso de uso para asociar políticas a un grupo de desarrolladores
Funcionamiento
No todas las entidades de AWS Identity and Access Management (IAM) pueden acceder a los recursos y servicios que se utilizan en un entorno de Amazon MWAA. Deberá crear una política que conceda permiso a los usuarios de Apache Airflow para acceder a estos recursos. Por ejemplo, deberá conceder acceso a su equipo de desarrollo de Apache Airflow.
Amazon MWAA usa estas políticas para validar si un usuario tiene los permisos necesarios para realizar una acción concreta en la consola de AWS o a través de las API que usa un entorno determinado.
Puede utilizar las políticas JSON de este tema para crear una política para sus usuarios de Apache Airflow en IAM, para asociarla después a un usuario, grupo o rol en IAM.
-
AmazonMWAAFullConsoleAccess: utilice esta política para conceder permiso para configurar un entorno en la consola de Amazon MWAA.
-
AmazonMWAAFullApiAccess: utilice esta política para conceder acceso a todas las API de Amazon MWAA que se utilizan para administrar un entorno.
-
AmazonMWAAReadOnlyAccess: use esta política para conceder acceso para ver los recursos que usa un entorno en la consola de Amazon MWAA.
-
AmazonMWAAWebServerAccess: use esta política para conceder acceso al servidor web de Apache Airflow.
-
AmazonMWAAAirflowCliAccess: utilice esta política para conceder acceso para ejecutar los comandos de la CLI de Apache Airflow.
Para dar acceso, agregue permisos a los usuarios, grupos o roles:
-
Usuarios y grupos en AWS IAM Identity Center:
Cree un conjunto de permisos. Siga las instrucciones de Creación de un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Usuarios gestionados en IAM a través de un proveedor de identidades:
Cree un rol para la federación de identidades. Siga las instrucciones descritas en Creación de un rol para un proveedor de identidad de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios de IAM:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en Creación de un rol para un usuario de IAM en la Guía del usuario de IAM.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones de Adición de permisos a un usuario (consola) de la Guía del usuario de IAM.
-
Política de acceso completo a la consola: AmazonMWAAFullConsoleAccess
Es posible que un usuario deba acceder a la política de permisos de AmazonMWAAFullConsoleAccess si necesita configurar un entorno en la consola de Amazon MWAA.
nota
Su política de acceso completo a la consola debe incluir permisos para realizar la acción iam:PassRole. Esto permitirá al usuario transferir roles vinculados a servicios y roles de ejecución a Amazon MWAA. Amazon MWAA asumirá estos roles para poder llamar a otros servicios de AWS en su nombre. En el ejemplo siguiente se utiliza la clave de condición iam:PassedToService para especificar la entidad principal del servicio de Amazon MWAA (airflow.amazonaws.com) como servicio al que se le puede transferir un rol.
Para obtener más información acerca de iam:PassRole, consulte cómo conceder permisos a un usuario para transferir un rol a un servicio de AWS en la guía del usuario de IAM.
Utilice la siguiente política si desea crear y administrar sus entornos de Amazon MWAA mediante una clave administrada por el cliente para el cifrado en reposo. Para utilizar una clave administrada por el cliente, la entidad principal de IAM debe tener permiso para acceder a los recursos de AWS KMS mediante la clave almacenada en su cuenta.
Política de acceso completo a la consola y a las API: AmazonMWAAFullApiAccess
Es posible que un usuario deba obtener acceso a la política de permisos AmazonMWAAFullApiAccess en caso de tener que acceder a todas las API de Amazon MWAA que se usan para administrar un entorno. Esta política no otorga permisos para acceder a la interfaz de usuario de Apache Airflow.
nota
Las políticas de acceso completo a las API deben incluir permisos para realizar la acción iam:PassRole. Esto permitirá al usuario transferir roles vinculados a servicios y roles de ejecución a Amazon MWAA. Amazon MWAA asumirá estos roles para poder llamar a otros servicios de AWS en su nombre. En el ejemplo siguiente se utiliza la clave de condición iam:PassedToService para especificar la entidad principal del servicio de Amazon MWAA (airflow.amazonaws.com) como servicio al que se le puede transferir un rol.
Para obtener más información acerca de iam:PassRole, consulte cómo conceder permisos a un usuario para transferir un rol a un servicio de AWS en la guía del usuario de IAM.
Utilice la siguiente política si desea crear y administrar sus entornos de Amazon MWAA mediante una Clave propiedad de AWS para el cifrado en reposo.
Utilice la siguiente política si desea crear y administrar sus entornos de Amazon MWAA mediante una clave administrada por el cliente para el cifrado en reposo. Para utilizar una clave administrada por el cliente, la entidad principal de IAM debe tener permiso para acceder a los recursos de AWS KMS mediante la clave almacenada en su cuenta.
Política de acceso de solo lectura a la consola: AmazonMWAAReadOnlyAccess
Es posible que un usuario deba obtener acceso a la política de permisos AmazonMWAAReadOnlyAccess si necesita ver los recursos que usa un entorno en la página de detalles del entorno de la consola de Amazon MWAA. Esta política no permite al usuario crear nuevos entornos, editar los existentes ni ver la UI de Apache Airflow.
Política de acceso a la interfaz de usuario de Apache Airflow: AmazonMWAAWebServerAccess
Es posible que un usuario deba obtener acceso a la política de permisos AmazonMWAAWebServerAccess si necesita acceder a la UI de Apache Airflow. Esta política no permite al usuario ver los entornos de la consola de Amazon MWAA ni usar las API de Amazon MWAA para realizar acciones. Especifique el rol Admin, Op, User, Viewer o Public en {airflow-role} para personalizar el nivel de acceso del usuario al token web. Para obtener más información, consulte la sección Roles predeterminados
nota
-
Amazon MWAA permite integrar IAM con los cinco roles predeterminados de control de acceso basado en roles (RBAC) de Apache Airflow
. Para obtener más información acerca de cómo usar los roles personalizados de Apache Airflow, consulte Tutorial: Restricciones de acceso de los usuarios de Amazon MWAA a un subconjunto de DAG. -
El campo
Resourceen esta política puede usarse para especificar los roles de control de acceso basado en roles de Apache Airflow para el entorno de Amazon MWAA. Sin embargo, no admite el ARN (nombre de recurso de Amazon) del entorno de Amazon MWAA en el campoResourcede la política.
Política de acceso a la API de REST de Apache Airflow: AmazonMWAARestAPIAccess.
Para acceder a la API de REST de Apache Airflow, debe otorgar el permiso airflow:InvokeRestApi en su política de IAM. En el siguiente ejemplo de política, especifique el rol de Admin, Op, User, Viewer o Public en {airflow-role} para personalizar el nivel de acceso del usuario. Para obtener más información, consulte la sección Roles predeterminados
nota
Mientras configura un servidor web privado, la acción
InvokeRestApino se puede invocar desde fuera de una nube privada virtual (VPC). Puede utilizar la claveaws:SourceVpcpara aplicar un control de acceso más detallado para esta operación. Para obtener más información, consulte aws:SourceVpc-
El campo
Resourceen esta política puede usarse para especificar los roles de control de acceso basado en roles de Apache Airflow para el entorno de Amazon MWAA. Sin embargo, no admite el ARN (nombre de recurso de Amazon) del entorno de Amazon MWAA en el campoResourcede la política.
Política de la CLI de Apache Airflow: AmazonMWAAAirflowCliAccess
Es posible que un usuario deba obtener acceso a la política de permisos AmazonMWAAAirflowCliAccess si necesita ejecutar comandos de la CLI de Apache Airflow (por ejemplo trigger_dag). Esta política no permite al usuario ver los entornos de la consola de Amazon MWAA ni usar las API de Amazon MWAA para realizar acciones.
Creación de una política JSON
Puede crear la política JSON y asociarla a su usuario, rol o grupo en la consola de IAM. Los siguientes pasos describen cómo crear la política JSON en IAM.
Pasos para crear la política JSON
-
Abra la página Políticas
en la consola de IAM. -
Elija Crear política.
-
Seleccione la pestaña JSON.
-
Añada su política JSON.
-
Elija Revisar política.
-
Introduzca un valor en el campo de texto Nombre y Descripción (opcional).
Por ejemplo, puede asignar a la política el nombre “
AmazonMWAAReadOnlyAccess”. -
Elija Crear política.
Ejemplo de caso de uso para asociar políticas a un grupo de desarrolladores
Supongamos que utiliza un grupo de IAM denominado “AirflowDevelopmentGroup” para aplicar permisos a todos los desarrolladores de su equipo de desarrollo de Apache Airflow. Estos usuarios deberán obtener acceso a las políticas de permisos de AmazonMWAAFullConsoleAccess, AmazonMWAAAirflowCliAccess y AmazonMWAAWebServerAccess. En esta sección se describe cómo crear un grupo en IAM, cómo crear y asociar estas políticas y cómo vincular el grupo a un usuario de IAM. En los siguientes pasos, se presupone que usa una clave propiedad de AWS.
Pasos para crear la política AmazonMWAAFullConsoleAccess
-
Descargue la política de acceso AmazonMWAAFullConsoleAccess.
-
Abra la página Políticas
en la consola de IAM. -
Elija Crear política.
-
Seleccione la pestaña JSON.
-
Pegue la política JSON de
AmazonMWAAFullConsoleAccess. -
Sustituya los valores siguientes:
-
123456789012: la identificación de su Cuenta de AWS (por ejemplo,0123456789) -
{your-kms-id}: el identificador único de una clave administrada por el cliente, solo en caso de que utilice una clave administrada por el cliente para el cifrado en reposo.
-
-
Elija Consultar política.
-
En Nombre, escriba “
AmazonMWAAFullConsoleAccess”. -
Elija Crear política.
Pasos para crear la política AmazonMWAAWebServerAccess
-
Descargue la política de acceso a AmazonMWAAWebServerAccess.
-
Abra la página Políticas
en la consola de IAM. -
Elija Crear política.
-
Seleccione la pestaña JSON.
-
Pegue la política JSON de
AmazonMWAAWebServerAccess. -
Sustituya los valores siguientes:
-
us-east-1: la región de su entorno de Amazon MWAA (por ejemplo,us-east-1) -
123456789012: la identificación de su Cuenta de AWS (por ejemplo,0123456789) -
{your-environment-name}: el nombre de su entorno de Amazon MWAA (por ejemplo,MyAirflowEnvironment). -
{airflow-role}: el rol predeterminadodel Adminen Apache Airflow.
-
-
Elija Revisar política.
-
En Nombre, escriba “
AmazonMWAAWebServerAccess”. -
Elija Crear política.
Pasos para crear la política AmazonMWAAAirflowCliAccess
-
Descargue la política de acceso AmazonMWAAAirflowCliAccess.
-
Abra la página Políticas
en la consola de IAM. -
Elija Crear política.
-
Seleccione la pestaña JSON.
-
Pegue la política JSON de
AmazonMWAAAirflowCliAccess. -
Elija Consultar política.
-
En Nombre, escriba “
AmazonMWAAAirflowCliAccess”. -
Elija Crear política.
Pasos para crear los grupos
-
Abra la Página del grupo de registros
en la consola de IAM. -
Escriba un nombre de
AirflowDevelopmentGroup. -
Elija Paso siguiente.
-
Escriba “
AmazonMWAA” en Filtrar para filtrar los resultados. -
Elija las tres políticas que ha creado.
-
Elija Paso siguiente.
-
Elija Crear grupo.
Pasos para asociarlas a un usuario
-
Abra la página Users
en la consola de IAM. -
Elija un usuario.
-
Elija Grupos.
-
Elija Añadir usuario al grupo o grupos.
-
Elija el AirflowDevelopmentGroup.
-
Elija Añadir a grupos.
Siguientes pasos
-
Aprenda a generar un token para acceder a la interfaz de usuario de Apache Airflow en Acceso a Apache Airflow.
-
Encontrará más información sobre cómo crear políticas de IAM en Creación de políticas de IAM.