Accesso a un MWAA ambiente Amazon - Amazon Managed Workflows for Apache Airflow

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accesso a un MWAA ambiente Amazon

Per utilizzare Amazon Managed Workflows for Apache Airflow, devi utilizzare un account ed IAM entità con le autorizzazioni necessarie. Questo argomento descrive le politiche di accesso che puoi collegare al tuo team di sviluppo di Apache Airflow e agli utenti di Apache Airflow per il tuo ambiente Amazon Managed Workflows for Apache Airflow.

Ti consigliamo di utilizzare credenziali temporanee e configurare identità federate con gruppi e ruoli per accedere alle tue risorse Amazon. MWAA Come best practice, evita di associare le policy direttamente agli IAM utenti e definisci invece gruppi o ruoli per fornire un accesso temporaneo alle risorse. AWS

Un IAMruolo è un'IAMidentità che puoi creare nel tuo account con autorizzazioni specifiche. Un IAM ruolo è simile a un IAM utente in quanto è un' AWS identità con politiche di autorizzazioni che determinano ciò in cui l'identità può e non può fare. AWS Tuttavia, invece di essere associato in modo univoco a una persona, un ruolo è destinato a essere assunto da chiunque. Inoltre, un ruolo non ha credenziali a lungo termine standard associate (password o chiavi di accesso). Tuttavia, quando assumi un ruolo, vengono fornite le credenziali di sicurezza provvisorie per la sessione del ruolo.

Per assegnare autorizzazioni a un'identità federata, si crea un ruolo e si definiscono le autorizzazioni per il ruolo. Quando un'identità federata viene autenticata, l'identità viene associata al ruolo e ottiene le autorizzazioni da esso definite. Per informazioni sui ruoli per la federazione, consulta Creare un ruolo per un provider di identità di terze parti (federazione) nella Guida per l'utente. IAM Se utilizzi IAM Identity Center, configuri un set di autorizzazioni. Per controllare a cosa possono accedere le identità dopo l'autenticazione, IAM Identity Center correla il set di autorizzazioni a un ruolo in. IAM Per informazioni sui set di autorizzazioni, consulta Set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center .

Puoi utilizzare un IAM ruolo nel tuo account per concedere altre Account AWS autorizzazioni per accedere alle risorse del tuo account. Per un esempio, consulta Tutorial: Delegate l'accesso attraverso IAM i ruoli d' Account AWS uso nella Guida per l'IAMutente.

Come funziona

Le risorse e i servizi utilizzati in un MWAA ambiente Amazon non sono accessibili a tutte le AWS Identity and Access Management (IAM) entità. È necessario creare una politica che conceda agli utenti di Apache Airflow l'autorizzazione ad accedere a queste risorse. Ad esempio, è necessario concedere l'accesso al team di sviluppo di Apache Airflow.

Amazon MWAA utilizza queste politiche per verificare se un utente dispone delle autorizzazioni necessarie per eseguire un'azione sulla AWS console o tramite l'ambiente APIs utilizzato da un ambiente.

Puoi utilizzare le JSON politiche in questo argomento per creare una politica per i tuoi utenti di Apache Airflow e quindi allegarla a un utente, gruppo o ruolo inIAM. IAM

  • R mazonMWAAFull ConsoleAccess: Utilizza questa politica per concedere l'autorizzazione a configurare un ambiente sulla MWAA console Amazon.

  • R mazonMWAAFull ApiAccess: Utilizza questa politica per concedere l'accesso a tutti gli Amazon MWAA APIs utilizzati per gestire un ambiente.

  • R mazonMWAARead OnlyAccess: Utilizza questa politica per concedere l'accesso alla visualizzazione delle risorse utilizzate da un ambiente sulla MWAA console Amazon.

  • R mazonMWAAWeb ServerAccess — Utilizza questa policy per concedere l'accesso al server web Apache Airflow.

  • A mazonMWAAAirflow CliAccess — Utilizzate questa politica per concedere l'accesso all'esecuzione dei comandi Apache Airflow. CLI

Per fornire l'accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:

Politica di accesso completo alla console: A mazonMWAAFull ConsoleAccess

Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAFullConsoleAccess delle autorizzazioni se deve configurare un ambiente sulla MWAA console Amazon.

Nota

La tua politica di accesso completo alla console deve includere le autorizzazioni per l'esecuzione. iam:PassRole Ciò consente all'utente di trasferire ruoli collegati al servizio e ruoli di esecuzione ad Amazon. MWAA Amazon MWAA assume ogni ruolo per chiamare altri AWS servizi per tuo conto. L'esempio seguente utilizza la chiave iam:PassedToService condition per specificare Amazon MWAA service principal (airflow.amazonaws.com) come servizio a cui passare un ruolo.

Per maggiori informazioni in meritoiam:PassRole, consulta Concedere a un utente le autorizzazioni per passare un ruolo a un AWS servizio nella Guida per l'IAMutente.

Utilizza la seguente politica se desideri creare e gestire i tuoi MWAA ambienti Amazon utilizzando una crittografia Chiave di proprietà di AWSa riposo.

{ "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/*" ] } ] }

Utilizza la seguente politica se desideri creare e gestire i tuoi MWAA ambienti Amazon utilizzando una chiave gestita dal cliente per la crittografia a riposo. Per utilizzare una chiave gestita dal cliente, il IAM responsabile deve disporre dell'autorizzazione ad accedere alle AWS KMS risorse utilizzando la chiave memorizzata nel tuo account.

{ "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/*" ] } ] }

Politica di accesso completo API e da console: A mazonMWAAFull ApiAccess

Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAFullApiAccess delle autorizzazioni se ha bisogno di accedere a tutti gli Amazon MWAA APIs utilizzati per gestire un ambiente. Non concede le autorizzazioni per accedere all'interfaccia utente di Apache Airflow.

Nota

Una politica di API accesso completo deve includere le autorizzazioni per l'esecuzione. iam:PassRole Ciò consente all'utente di trasferire ruoli collegati al servizio e ruoli di esecuzione ad Amazon. MWAA Amazon MWAA assume ogni ruolo per chiamare altri AWS servizi per tuo conto. L'esempio seguente utilizza la chiave iam:PassedToService condition per specificare Amazon MWAA service principal (airflow.amazonaws.com) come servizio a cui passare un ruolo.

Per maggiori informazioni in meritoiam:PassRole, consulta Concedere a un utente le autorizzazioni per passare un ruolo a un AWS servizio nella Guida per l'IAMutente.

Utilizza la seguente politica se desideri creare e gestire i tuoi MWAA ambienti Amazon utilizzando una crittografia Chiave di proprietà di AWS a riposo.

{ "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/*" ] } ] }

Utilizza la seguente politica se desideri creare e gestire i tuoi MWAA ambienti Amazon utilizzando una chiave gestita dal cliente per la crittografia a riposo. Per utilizzare una chiave gestita dal cliente, il IAM responsabile deve disporre dell'autorizzazione ad accedere alle AWS KMS risorse utilizzando la chiave memorizzata nel tuo account.

{ "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/*" ] } ] }

Politica di accesso alla console di sola lettura: A mazonMWAARead OnlyAccess

Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAReadOnlyAccess delle autorizzazioni se deve visualizzare le risorse utilizzate da un ambiente nella pagina dei dettagli dell'ambiente della MWAA console Amazon. Non consente a un utente di creare nuovi ambienti, modificare ambienti esistenti o visualizzare l'interfaccia utente di Apache Airflow.

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

Politica di accesso all'interfaccia utente di Apache Airflow: A mazonMWAAWeb ServerAccess

Un utente potrebbe aver bisogno di accedere alla politica delle AmazonMWAAWebServerAccess autorizzazioni se deve accedere all'interfaccia utente di Apache Airflow. Non consente all'utente di visualizzare gli ambienti sulla MWAA console Amazon o di utilizzare Amazon MWAA APIs per eseguire alcuna azione. Specificate il Admin OpUser,, Viewer o il Public ruolo in {airflow-role} per personalizzare il livello di accesso per l'utente del token web. Per ulteriori informazioni, consulta Ruoli predefiniti nella guida di riferimento di 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

Politica di API accesso Apache Airflow Rest: A mazonMWAARest APIAccess

Per accedere ad Apache Airflow RESTAPI, devi concedere l'airflow:InvokeRestApiautorizzazione prevista dalla tua politica. IAM Nel seguente esempio di policy, specifica ilAdmin, OpUser, Viewer o il Public ruolo {airflow-role} per personalizzare il livello di accesso degli utenti. Per ulteriori informazioni, consulta Ruoli predefiniti nella guida di riferimento di Apache Airflow.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowMwaaRestApiAccess", "Effect": "Allow", "Action": "airflow:InvokeRestApi", "Resource": [ "arn:aws:airflow:{your-region}:YOUR_ACCOUNT_ID:role/{your-environment-name}/{airflow-role}" ] } ] }
Nota
  • Durante la configurazione di un server Web privato, l'InvokeRestApiazione non può essere richiamata dall'esterno di un Virtual Private Cloud (). VPC È possibile utilizzare la aws:SourceVpc chiave per applicare un controllo di accesso più granulare per questa operazione. Per ulteriori informazioni, consulta aws: SourceVpc

  • Il Resource campo di questa policy può essere utilizzato per specificare i ruoli di controllo degli accessi basati sui ruoli di Apache Airflow per l'ambiente Amazon. MWAA Tuttavia, non supporta l'MWAAambiente Amazon ARN (Amazon Resource Name) nel Resource campo della politica.

CLIPolitica Apache Airflow: A mazonMWAAAirflow CliAccess

Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAAirflowCliAccess delle autorizzazioni se deve eseguire CLI comandi Apache Airflow (come). trigger_dag Non consente all'utente di visualizzare gli ambienti sulla MWAA console Amazon o di utilizzare Amazon MWAA APIs per eseguire alcuna azione.

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

Creazione di una JSON politica

Puoi creare la JSON policy e allegarla al tuo utente, ruolo o gruppo sulla IAM console. I passaggi seguenti descrivono come creare una JSON politica inIAM.

Per creare la policy JSON
  1. Apri la pagina Politiche sulla IAM console.

  2. Scegli Create Policy (Crea policy).

  3. Scegliere la scheda JSON.

  4. Aggiungi la tua JSON politica.

  5. Scegli Verifica policy.

  6. Inserisci un valore nel campo di testo per Nome e Descrizione (opzionale).

    Ad esempio, è possibile assegnare un nome alla politicaAmazonMWAAReadOnlyAccess.

  7. Scegli Create Policy (Crea policy).

Esempio di utilizzo per allegare politiche a un gruppo di sviluppatori

Supponiamo che tu stia utilizzando un gruppo in IAM named AirflowDevelopmentGroup per applicare le autorizzazioni a tutti gli sviluppatori del tuo team di sviluppo di Apache Airflow. Questi utenti devono accedere alle politiche di AmazonMWAAFullConsoleAccess accesso e AmazonMWAAAirflowCliAccess AmazonMWAAWebServerAccess autorizzazione. Questa sezione descrive come creare un gruppo inIAM, creare e allegare queste politiche e associare il gruppo a un IAM utente. I passaggi presuppongono che tu stia utilizzando una chiave AWS proprietaria.

Per creare la mazonMWAAFull ConsoleAccess politica A
  1. Scarica la politica di mazonMWAAFull ConsoleAccess accesso A.

  2. Apri la pagina Politiche sulla IAM console.

  3. Scegli Create Policy (Crea policy).

  4. Scegliere la scheda JSON.

  5. Incolla la JSON politica perAmazonMWAAFullConsoleAccess.

  6. Sostituisci i seguenti valori:

    1. {your-account-id}— L'ID AWS del tuo account (ad esempio0123456789)

    2. {your-kms-id}— L'identificatore univoco di una chiave gestita dal cliente, applicabile solo se si utilizza una chiave gestita dal cliente per la crittografia a riposo.

  7. Scegli la politica di revisione.

  8. AmazonMWAAFullConsoleAccessDigita il nome.

  9. Scegli Create Policy (Crea policy).

Per creare la mazonMWAAWeb ServerAccess politica A
  1. Scarica la politica di mazonMWAAWeb ServerAccess accesso A.

  2. Apri la pagina Politiche sulla IAM console.

  3. Scegli Create Policy (Crea policy).

  4. Scegliere la scheda JSON.

  5. Incolla la JSON politica perAmazonMWAAWebServerAccess.

  6. Sostituisci i seguenti valori:

    1. {your-region}— la regione del tuo MWAA ambiente Amazon (ad esempious-east-1)

    2. {your-account-id}— l'ID AWS del tuo account (ad esempio0123456789)

    3. {your-environment-name}— il nome del tuo MWAA ambiente Amazon (ad esempioMyAirflowEnvironment)

    4. {airflow-role}— il ruolo predefinito di Admin Apache Airflow

  7. Scegli Verifica policy.

  8. Digita il AmazonMWAAWebServerAccess nome.

  9. Scegli Create Policy (Crea policy).

Per creare la mazonMWAAAirflow CliAccess politica A
  1. Scarica la politica di mazonMWAAAirflow CliAccess accesso A.

  2. Apri la pagina Politiche sulla IAM console.

  3. Scegli Create Policy (Crea policy).

  4. Scegliere la scheda JSON.

  5. Incolla la JSON politica perAmazonMWAAAirflowCliAccess.

  6. Scegli la politica di revisione.

  7. AmazonMWAAAirflowCliAccessDigita il nome.

  8. Scegli Create Policy (Crea policy).

Per creare il gruppo
  1. Apri la pagina Gruppi sulla IAM console.

  2. Digita un nome diAirflowDevelopmentGroup.

  3. Selezionare Next Step (Fase successiva).

  4. Digitare AmazonMWAA per filtrare i risultati in Filtro.

  5. Seleziona le tre politiche che hai creato.

  6. Selezionare Next Step (Fase successiva).

  7. Selezionare Create Group (Crea gruppo).

Da associare a un utente
  1. Apri la pagina Utenti sulla IAM console.

  2. Scegli un utente.

  3. Scegliere Groups (Gruppi).

  4. Scegli Aggiungi utente ai gruppi.

  5. Selezionare il AirflowDevelopmentGroup.

  6. Scegliere Add to Groups (Aggiungi a gruppi).

Fasi successive

  • Scopri come generare un token per accedere all'interfaccia utente di Apache Airflow. Accesso ad Apache Airflow

  • Scopri di più sulla creazione di IAM politiche in IAMCreazione di politiche.