Acceder a un MWAA entorno de Amazon - 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.

Acceder a un MWAA entorno de Amazon

Para usar Amazon Managed Workflows para Apache Airflow, debe usar una cuenta y IAM entidades con los permisos necesarios. En esta página se describen las políticas de acceso que puede asociar a su equipo de desarrollo de Apache Airflow y a los usuarios del mismo en relación con su entorno de Amazon Managed Workflows para Apache Airflow.

Te recomendamos usar credenciales temporales y configurar identidades federadas con grupos y roles para acceder a tus MWAA recursos de Amazon. Como práctica recomendada, evite adjuntar políticas directamente a sus IAM usuarios y, en su lugar, defina grupos o roles para proporcionar acceso temporal a los AWS recursos.

Un IAMrol es una IAM identidad que puedes crear en tu cuenta con permisos específicos. Un IAM rol es similar al de un IAM usuario en el sentido de que es una AWS identidad con políticas de permisos que determinan lo que la identidad puede y no puede hacer en él 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 sobre los roles para la federación, consulte Creación de un rol para un proveedor de identidades externo en la Guía del IAM usuario. Si usa IAM Identity Center, configura un conjunto de permisos. Para controlar a qué pueden acceder sus identidades después de autenticarse, IAM Identity Center correlaciona el conjunto de permisos con un rol en. IAM Para obtener información acerca de los conjuntos de permisos, consulte Conjuntos de permisos en la Guía del usuario de AWS IAM Identity Center .

Puede usar un IAM rol de su cuenta para conceder a otro Cuenta de AWS permiso de acceso a los recursos de su cuenta. Para ver un ejemplo, consulta el Tutorial: Delegar el acceso Cuentas de AWS mediante el uso de IAM roles en la Guía del IAM usuario.

Funcionamiento

Los recursos y servicios utilizados en un MWAA entorno de Amazon no son accesibles para todas las entidades AWS Identity and Access Management (IAM). 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 utiliza estas políticas para validar si un usuario tiene los permisos necesarios para realizar una acción en la AWS consola o mediante los APIs utilizados por un entorno.

Puede usar las JSON políticas de este tema para crear una política para sus usuarios de Apache Airflow yIAM, a continuación, adjuntar la política a un usuario, grupo o rol. IAM

Para dar acceso, agregue permisos a los usuarios, grupos o roles:

Política completa de acceso a la consola: A mazonMWAAFull ConsoleAccess

Es posible que un usuario necesite acceder a la política de AmazonMWAAFullConsoleAccess permisos si necesita configurar un entorno en la MWAA consola de Amazon.

nota

Su política de acceso completo a la consola debe incluir permisos para realizar la acción iam:PassRole. Esto permite al usuario transferir funciones vinculadas a servicios y funciones de ejecución a Amazon. MWAA Amazon MWAA asume todas las funciones para llamar a otros AWS servicios en tu nombre. En el siguiente ejemplo, se utiliza la clave de iam:PassedToService condición para especificar el principal de MWAA servicio de Amazon (airflow.amazonaws.com) como el servicio al que se puede transferir un rol.

Para obtener más información al respectoiam:PassRole, consulte Otorgar permisos a un usuario para transferir un rol a un AWS servicio en la Guía del IAM usuario.

Utilice la siguiente política si desea crear y gestionar sus MWAA entornos de Amazon mediante un Clave propiedad de AWScifrado en reposo.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:ListRoles" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:CreatePolicy" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID:policy/service-role/MWAA-Execution-Policy*" }, { "Effect":"Allow", "Action":[ "iam:AttachRolePolicy", "iam:CreateRole" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID:role/service-role/AmazonMWAA*" }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutObject", "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup" ], "Resource":"arn:aws:ec2:*:*:security-group/airflow-security-group-*" }, { "Effect":"Allow", "Action":[ "kms:ListAliases" ], "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }

Usa la siguiente política si quieres crear y gestionar tus MWAA entornos de Amazon mediante una clave gestionada por el cliente para el cifrado en reposo. Para usar una clave administrada por el cliente, el IAM director debe tener permiso para acceder a AWS KMS los recursos mediante la clave almacenada en su cuenta.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:ListRoles" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:CreatePolicy" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID:policy/service-role/MWAA-Execution-Policy*" }, { "Effect":"Allow", "Action":[ "iam:AttachRolePolicy", "iam:CreateRole" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID:role/service-role/AmazonMWAA*" }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutObject", "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup" ], "Resource":"arn:aws:ec2:*:*:security-group/airflow-security-group-*" }, { "Effect":"Allow", "Action":[ "kms:ListAliases" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource":"arn:aws:kms:*:YOUR_ACCOUNT_ID:key/YOUR_KMS_ID" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }

Política de acceso completo API y de consola: A mazonMWAAFull ApiAccess

Es posible que un usuario necesite acceder a la política de AmazonMWAAFullApiAccess permisos si necesita acceder a todo lo que Amazon MWAA APIs utiliza para gestionar un entorno. Esta política no otorga permisos para acceder a la interfaz de usuario de Apache Airflow.

nota

Una política de API acceso completo debe incluir permisos para funcionariam:PassRole. Esto permite al usuario transferir funciones vinculadas a servicios y funciones de ejecución a Amazon. MWAA Amazon MWAA asume todas las funciones para llamar a otros AWS servicios en tu nombre. En el siguiente ejemplo, se utiliza la clave de iam:PassedToService condición para especificar el principal de MWAA servicio de Amazon (airflow.amazonaws.com) como el servicio al que se puede transferir un rol.

Para obtener más información al respectoiam:PassRole, consulte Otorgar permisos a un usuario para transferir un rol a un AWS servicio en la Guía del IAM usuario.

Utilice la siguiente política si desea crear y gestionar sus MWAA entornos de Amazon mediante un Clave propiedad de AWS cifrado en reposo.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }

Usa la siguiente política si quieres crear y gestionar tus MWAA entornos de Amazon mediante una clave gestionada por el cliente para el cifrado en reposo. Para usar una clave administrada por el cliente, el IAM director debe tener permiso para acceder a AWS KMS los recursos mediante la clave almacenada en su cuenta.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource":"arn:aws:kms:*:YOUR_ACCOUNT_ID:key/YOUR_KMS_ID" }, { "Effect":"Allow", "Action":[ "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }

Política de acceso a la consola de solo lectura: A mazonMWAARead OnlyAccess

Es posible que un usuario necesite acceder a la política de AmazonMWAAReadOnlyAccess permisos si necesita ver los recursos que utiliza un entorno en la página de detalles del entorno de la MWAA consola de Amazon. Esta política no permite al usuario crear nuevos entornos, editar los existentes ni ver la interfaz de usuario de Apache Airflow.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:ListEnvironments", "airflow:GetEnvironment", "airflow:ListTagsForResource" ], "Resource": "*" } ] }

Política de acceso a la interfaz de usuario de Apache Airflow: A mazonMWAAWeb ServerAccess

Es posible que un usuario deba obtener acceso a la política de permisos de AmazonMWAAWebServerAccess si necesita acceder a la interfaz de usuario de Apache Airflow. No permite al usuario ver los entornos en la MWAA consola de Amazon ni utilizar Amazon MWAA APIs para realizar ninguna acción. Especifique el rol Admin, Op, User, Viewer o Public en {airflow-role} para personalizar el nivel de acceso del usuario al token web. Para más información, consulte la sección Default Roles en la guía de referencia de Apache Airflow.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:{your-region}:YOUR_ACCOUNT_ID:role/{your-environment-name}/{airflow-role}" ] } ] }
nota

Amazon MWAA ofrece IAM integración con las cinco funciones predeterminadas de control de acceso basado en roles () RBAC de Apache Airflow. Para obtener más información acerca de cómo utilizar los roles personalizados de Apache Airflow, consulte Tutorial: Restricciones de acceso de los usuarios de Amazon MWAA a un subconjunto de DAG.

Política de Apache CLI Airflow: A mazonMWAAAirflow CliAccess

Es posible que un usuario necesite acceder a la política de AmazonMWAAAirflowCliAccess permisos si necesita ejecutar CLI comandos de Apache Airflow (por ejemplo). trigger_dag No permite al usuario ver los entornos en la MWAA consola de Amazon ni utilizar Amazon MWAA APIs para realizar ninguna acción.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:CreateCliToken" ], "Resource": "arn:aws:airflow:${Region}:${Account}:environment/${EnvironmentName}" } ] }

Crear una JSON política

Puede crear la JSON política y adjuntarla a su usuario, rol o grupo en la IAM consola. En los pasos siguientes se describe cómo crear una JSON política enIAM.

Para crear la política de JSON
  1. Abre la página de políticas en la IAM consola.

  2. Elija Crear política.

  3. Seleccione la JSONpestaña.

  4. Agrega tu JSON póliza.

  5. Elija Revisar política.

  6. Introduzca un valor en el campo de texto Nombre y Descripción (opcional).

    Por ejemplo, puede asignarle el nombre “AmazonMWAAReadOnlyAccess” a la política.

  7. Elija Crear política.

Ejemplo de caso de uso para asociar políticas a un grupo de desarrolladores

Supongamos que utilizas un grupo IAM denominado AirflowDevelopmentGroup para aplicar permisos a todos los desarrolladores de tu 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 grupoIAM, crear y adjuntar estas políticas y cómo asociar el grupo a un IAM usuario. En los siguientes pasos se presupone que utiliza una clave propiedad de AWS.

Para crear la mazonMWAAFull ConsoleAccess política A
  1. Descargue la política de mazonMWAAFull ConsoleAccess acceso A.

  2. Abre la página de políticas en la IAM consola.

  3. Elija Crear política.

  4. Seleccione la JSONpestaña.

  5. Pegue la JSON política deAmazonMWAAFullConsoleAccess.

  6. Sustituya los valores siguientes:

    1. {your-account-id} — El identificador AWS de su cuenta (por ejemplo,0123456789)

    2. {your-kms-id} — El identificador único de una clave gestionada por el cliente, aplicable únicamente si utilizas una clave gestionada por el cliente para el cifrado en reposo.

  7. Elija Consultar política.

  8. En Nombre, escriba “AmazonMWAAFullConsoleAccess.

  9. Elija Crear política.

Para crear la política A mazonMWAAWeb ServerAccess
  1. Descargue la política de mazonMWAAWeb ServerAccess acceso A.

  2. Abre la página de políticas en la IAM consola.

  3. Elija Crear política.

  4. Seleccione la JSONpestaña.

  5. Pegue la JSON política deAmazonMWAAWebServerAccess.

  6. Sustituya los valores siguientes:

    1. {your-region} — la región de su MWAA entorno de Amazon (por ejemplous-east-1)

    2. {your-account-id} — tu ID AWS de cuenta (por ejemplo,0123456789)

    3. {your-environment-name} — el nombre de su MWAA entorno de Amazon (por ejemploMyAirflowEnvironment)

    4. {airflow-role} — el rol predeterminado de Admin Apache Airflow

  7. Elija Revisar política.

  8. En Nombre, escriba “AmazonMWAAWebServerAccess.

  9. Elija Crear política.

Para crear la política A mazonMWAAAirflow CliAccess
  1. Descargue la política de mazonMWAAAirflow CliAccess acceso A.

  2. Abre la página de políticas en la IAM consola.

  3. Elija Crear política.

  4. Seleccione la JSONpestaña.

  5. Pegue la JSON política deAmazonMWAAAirflowCliAccess.

  6. Elija Consultar política.

  7. En Nombre, escriba “AmazonMWAAAirflowCliAccess.

  8. Elija Crear política.

Pasos para crear los grupos
  1. Abre la página Grupos en la IAM consola.

  2. Escriba el nombre del AirflowDevelopmentGroup.

  3. Elija Paso siguiente.

  4. Escriba “AmazonMWAA” en Filtrar para filtrar los resultados.

  5. Elija las tres políticas que ha creado.

  6. Elija Paso siguiente.

  7. Elija Crear grupo.

Pasos para asociarlas a un usuario
  1. Abre la página de usuarios en la IAM consola.

  2. Elija un usuario.

  3. Elija Grupos.

  4. Elija Añadir usuario al grupo o grupos.

  5. Seleccione el AirflowDevelopmentGroup.

  6. Elija Añadir a grupos.

Siguientes pasos