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 ambiente Amazon MWAA
Per utilizzare Amazon Managed Workflows for Apache Airflow, devi utilizzare un account e entità IAM con le autorizzazioni necessarie. Questa pagina 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 utenti IAM e definisci invece gruppi o ruoli per fornire un accesso temporaneo alle risorse. AWS
Un ruolo IAM è un'identità IAM che puoi creare nel tuo account e che dispone di autorizzazioni specifiche. Un ruolo IAM è simile a quello di un utente IAM in quanto è un' AWS identità con policy 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 le 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 ulteriori informazioni sulla federazione dei ruoli, consulta Creazione di un ruolo per un provider di identità di terza parte nella Guida per l'utente IAM. Se utilizzi IAM Identity Center, configura un set di autorizzazioni. IAM Identity Center mette in correlazione il set di autorizzazioni con un ruolo in IAM per controllare a cosa possono accedere le identità dopo l'autenticazione. Per informazioni sui set di autorizzazioni, consulta Set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center .
Puoi utilizzare un ruolo IAM 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 l' Account AWS utilizzo dei ruoli IAM nella IAM User Guide.
Sections
- Come funziona
- Politica di accesso completo alla console: FullConsole AmazonMWAA Access
- Politica completa di accesso all'API e alla console: FullApi AmazonMWAA Access
- Politica di accesso alla console di sola lettura: AmazonMWAA Access ReadOnly
- Politica di accesso all'interfaccia utente di Apache Airflow: AmazonMWAA Access WebServer
- Politica CLI di Apache Airflow: AmazonMWAA Access AirflowCli
- Creazione di una policy JSON
- Esempio di utilizzo per allegare politiche a un gruppo di sviluppatori
- Fasi successive
Come funziona
Le risorse e i servizi utilizzati in un ambiente Amazon MWAA non sono accessibili a tutte le entità AWS Identity and Access Management (IAM). È necessario creare una policy 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 policy per verificare se un utente dispone delle autorizzazioni necessarie per eseguire un'azione sulla AWS console o tramite le API utilizzate da un ambiente.
Puoi utilizzare le policy JSON descritte in questo argomento per creare una policy per gli utenti di Apache Airflow in IAM e quindi collegarla a un utente, gruppo o ruolo in IAM.
-
AmazonMWAA FullConsole Access: utilizza questa politica per concedere l'autorizzazione a configurare un ambiente sulla console Amazon MWAA.
-
AmazonMWAA FullApi Access: utilizza questa policy per concedere l'accesso a tutte le API Amazon MWAA utilizzate per gestire un ambiente.
-
AmazonMWAA ReadOnly Access: utilizza questa policy per concedere l'accesso alla visualizzazione delle risorse utilizzate da un ambiente sulla console Amazon MWAA.
-
AmazonMWAA WebServer Access: utilizza questa politica per concedere l'accesso al server web Apache Airflow.
-
AmazonMWAA AirflowCli Access: utilizza questa politica per concedere l'accesso all'esecuzione dei comandi CLI di Apache Airflow.
Per fornire l'accesso, aggiungi autorizzazioni ai tuoi utenti, gruppi o ruoli:
-
Utenti e gruppi in: AWS IAM Identity Center
Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l'utente di AWS IAM Identity Center .
-
Utenti gestiti in IAM tramite un provider di identità:
Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Creating a role for a third-party identity provider (federation) (Creazione di un ruolo per un provider di identità di terze parti [federazione]) nella Guida per l'utente di IAM.
-
Utenti IAM:
-
Crea un ruolo che l'utente possa assumere. Per istruzioni, consulta la pagina Creating a role for an IAM user (Creazione di un ruolo per un utente IAM) nella Guida per l'utente di IAM.
-
(Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina Aggiunta di autorizzazioni a un utente (console) nella Guida per l'utente di IAM.
-
Politica di accesso completo alla console: FullConsole AmazonMWAA Access
Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAFullConsoleAccess
delle autorizzazioni se deve configurare un ambiente sulla console Amazon MWAA.
Nota
La tua policy di accesso completo alla console deve includere le autorizzazioni per l'esecuzione. iam:PassRole
Ciò consente all'utente di passare 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 il servizio Amazon MWAA principal (airflow.amazonaws.com
) come servizio a cui passare un ruolo.
Per ulteriori informazioni in meritoiam:PassRole
, consulta Concessione a un utente delle autorizzazioni per il trasferimento di un ruolo a un AWS servizio nella IAM User Guide.
Utilizza la seguente policy se desideri creare e gestire i tuoi ambienti Amazon MWAA 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 policy se desideri creare e gestire i tuoi ambienti Amazon MWAA utilizzando una chiave gestita dal cliente per la crittografia a riposo. Per utilizzare una chiave gestita dal cliente, il responsabile IAM 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 completa di accesso all'API e alla console: FullApi AmazonMWAA Access
Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAFullApiAccess
delle autorizzazioni se ha bisogno di accedere a tutte le API Amazon MWAA utilizzate per gestire un ambiente. Non concede le autorizzazioni per accedere all'interfaccia utente di Apache Airflow.
Nota
Una politica di accesso API completa deve includere le autorizzazioni da eseguire. iam:PassRole
Ciò consente all'utente di passare 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 il servizio Amazon MWAA principal (airflow.amazonaws.com
) come servizio a cui passare un ruolo.
Per ulteriori informazioni in meritoiam:PassRole
, consulta Concessione a un utente delle autorizzazioni per il trasferimento di un ruolo a un AWS servizio nella IAM User Guide.
Utilizza la seguente policy se desideri creare e gestire i tuoi ambienti Amazon MWAA 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 policy se desideri creare e gestire i tuoi ambienti Amazon MWAA utilizzando una chiave gestita dal cliente per la crittografia a riposo. Per utilizzare una chiave gestita dal cliente, il responsabile IAM 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:*:
:key/
YOUR_ACCOUNT_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/*" ] } ] }
YOUR_KMS_ID
Politica di accesso alla console di sola lettura: AmazonMWAA Access ReadOnly
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 console Amazon MWAA. 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: AmazonMWAA Access WebServer
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 console Amazon MWAA o di utilizzare le API Amazon MWAA per eseguire alcuna azione. Specificate il Admin
Op
,User
, 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
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:
{your-region}
::role/
YOUR_ACCOUNT_ID
{your-environment-name}
/{airflow-role}
" ] } ] }
Nota
Amazon MWAA fornisce l'integrazione IAM con i cinque ruoli RBAC (Role-based access control) predefiniti di Apache Airflow
Politica CLI di Apache Airflow: AmazonMWAA Access AirflowCli
Un utente potrebbe aver bisogno di accedere alla politica AmazonMWAAAirflowCliAccess
delle autorizzazioni se deve eseguire comandi CLI di Apache Airflow (come). trigger_dag
Non consente all'utente di visualizzare gli ambienti sulla console Amazon MWAA o di utilizzare le API Amazon MWAA per eseguire alcuna azione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:CreateCliToken" ], "Resource": "*" } ] }
Creazione di una policy JSON
Puoi creare la policy JSON e allegarla al tuo utente, ruolo o gruppo sulla console IAM. I passaggi seguenti descrivono come creare una policy JSON in IAM.
Per creare la policy JSON
-
Apri la pagina Policies
sulla console IAM. -
Scegli Crea policy.
-
Scegliere la scheda JSON.
-
Aggiungi la tua policy JSON.
-
Scegli Verifica policy.
-
Inserisci un valore nel campo di testo per Nome e Descrizione (opzionale).
Ad esempio, è possibile assegnare un nome alla politica
AmazonMWAAReadOnlyAccess
. -
Scegli Crea policy.
Esempio di utilizzo per allegare politiche a un gruppo di sviluppatori
Supponiamo che tu stia utilizzando un gruppo in IAM denominato 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 in IAM, creare e allegare queste policy e associare il gruppo a un utente IAM. I passaggi presuppongono che tu stia utilizzando una chiave AWS proprietaria.
Per creare la policy FullConsoleAccess AmazonMWAA
-
Scarica la politica di accesso di AmazonMWAA. FullConsoleAccess
-
Apri la pagina delle politiche
sulla console IAM. -
Scegli Crea policy.
-
Scegliere la scheda JSON.
-
Incolla la policy JSON per
AmazonMWAAFullConsoleAccess
. -
Sostituisci i seguenti valori:
-
{your-account-id} — L'ID
del tuo AWS account (ad esempio)0123456789
-
{your-kms-id}
— L'identificatore univoco di una chiave gestita dal cliente, applicabile solo se utilizzi una chiave gestita dal cliente per la crittografia a riposo.
-
-
Scegli la politica di revisione.
-
AmazonMWAAFullConsoleAccess
Digita il nome. -
Scegli Crea policy.
Per creare la politica WebServerAccess AmazonMWAA
-
Scarica la politica di accesso di AmazonMWAA. WebServerAccess
-
Apri la pagina delle politiche
sulla console IAM. -
Scegli Crea policy.
-
Scegliere la scheda JSON.
-
Incolla la policy JSON per
AmazonMWAAWebServerAccess
. -
Sostituisci i seguenti valori:
-
{your-region}
: la regione del tuo ambiente Amazon MWAA (ad esempio)us-east-1
-
{your-account-id} — l'ID
del tuo account (ad esempio) AWS0123456789
-
{your-environment-name} — il nome
dell'ambiente Amazon MWAA (ad esempio)MyAirflowEnvironment
-
{airflow-role} — il ruolo predefinito di Apache Airflow
Admin
-
-
Scegli Verifica policy.
-
AmazonMWAAWebServerAccess
Digita il nome. -
Scegli Crea policy.
Per creare la politica AirflowCliAccess AmazonMWAA
-
Scarica la politica di accesso di AmazonMWAA. AirflowCliAccess
-
Apri la pagina delle politiche
sulla console IAM. -
Scegli Crea policy.
-
Scegliere la scheda JSON.
-
Incolla la policy JSON per
AmazonMWAAAirflowCliAccess
. -
Scegli la politica di revisione.
-
AmazonMWAAAirflowCliAccess
Digita il nome. -
Scegli Crea policy.
Per creare il gruppo
-
Apri la pagina Gruppi
sulla console IAM. -
Digita un nome di
AirflowDevelopmentGroup
. -
Selezionare Next Step (Fase successiva).
-
Digitare
AmazonMWAA
per filtrare i risultati in Filtro. -
Seleziona le tre politiche che hai creato.
-
Selezionare Next Step (Fase successiva).
-
Selezionare Create Group (Crea gruppo).
Da associare a un utente
-
Apri la pagina Utenti
sulla console IAM. -
Scegli un utente.
-
Scegliere Groups (Gruppi).
-
Scegli Aggiungi utente ai gruppi.
-
Seleziona il AirflowDevelopmentgruppo.
-
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 policy IAM in Creazione di policy IAM.