Ruoli IAM per AWS Data Pipeline - AWS Data Pipeline

AWS Data Pipeline non è più disponibile per i nuovi clienti. Clienti esistenti di AWS Data Pipeline possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

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

Ruoli IAM per AWS Data Pipeline

AWS Data Pipelineutilizza iAWS Identity and Access Management ruoli. Le politiche di autorizzazione associate ai ruoli IAM determinano quali azioniAWS Data Pipeline e le applicazioni possono eseguire e a qualiAWS risorse possono accedere. Per ulteriori informazioni, consulta Ruoli IAM nella Guida per l'utente IAM.

AWS Data Pipelinerichiede due ruoli IAM:

  • Il ruolo della pipeline controllaAWS Data Pipeline l'accesso alle risorse di AWS. Nelle definizioni degli oggetti della pipeline, ilrole campo specifica questo ruolo.

  • Il ruolo dell'istanza EC2 controlla l'accesso delle applicazioni in esecuzione sulle istanze EC2, comprese le istanze EC2 nei cluster Amazon EMR, alleAWS risorse. Nelle definizioni degli oggetti della pipeline, ilresourceRole campo specifica questo ruolo.

Importante

Se hai creato una pipeline prima del 3 ottobre 2022 utilizzando laAWS Data Pipeline console con ruoli predefiniti, l'haiAWS Data Pipeline creataDataPipelineDefaultRole per te e hai collegato la policyAWSDataPipelineRole gestita al ruolo. A partire dal 3 ottobre 2022, la policyAWSDataPipelineRole gestita è obsoleta e il ruolo della pipeline deve essere specificato per una pipeline quando si utilizza la console.

Ti consigliamo di esaminare le pipeline esistenti e determinare seDataPipelineDefaultRole sono associate alla pipeline e seAWSDataPipelineRole sono collegate a quel ruolo. In tal caso, verifica l'accesso consentito da questa politica per assicurarti che sia appropriato per i tuoi requisiti di sicurezza. Aggiungi, aggiorna o sostituisci le politiche e le dichiarazioni politiche allegate a questo ruolo, se necessario. In alternativa, puoi aggiornare una pipeline per utilizzare un ruolo creato con politiche di autorizzazione diverse.

Esempi di politiche di autorizzazione perAWS Data Pipeline i ruoli

A ogni ruolo sono associate una o più politiche di autorizzazione che determinano leAWS risorse a cui il ruolo può accedere e le azioni che il ruolo può eseguire. Questo argomento fornisce un esempio di politica di autorizzazione per il ruolo della pipeline. Fornisce inoltre il contenuto diAmazonEC2RoleforDataPipelineRole, che è la politica gestita per il ruolo di istanza EC2 predefinito,DataPipelineDefaultResourceRole.

Esempio di policy di autorizzazione del ruolo di pipeline

La politica di esempio che segue ha lo scopo di consentire le funzioni essenziali cheAWS Data Pipeline richiedono l'esecuzione di una pipeline con risorse Amazon EC2 e Amazon EMR. Fornisce inoltre autorizzazioni per l'accesso ad altreAWS risorse, come Amazon S3 e Amazon S3, che richiedono molte pipeline. Se gli oggetti definiti in una pipeline non richiedono le risorse di unAWS servizio, si consiglia vivamente di rimuovere le autorizzazioni per accedere a tale servizio. Ad esempio, se la pipeline non definisceynamoDBDataNodo D o non utilizza l'SnsAlarmazione, si consiglia di rimuovere le istruzioni di autorizzazione per tali azioni.

  • Sostituisci 111122223333 con il tuo ID account AWS.

  • SostituisciNameOfDataPipelineRole con il nome del ruolo della pipeline (il ruolo a cui è associata questa politica).

  • SostituisciNameOfDataPipelineResourceRole con il nome del ruolo dell'istanza EC2.

  • Sostituiscius-west-1 con la regione appropriata per la tua applicazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/NameOfDataPipelineRole", "arn:aws:iam::111122223333 :role/NameOfDataPipelineResourceRole" ] }, { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CancelSpotInstanceRequests", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DeleteTags", "ec2:DescribeAvailabilityZones", "ec2:DescribeAccountAttributes", "ec2:DescribeDhcpOptions", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplates", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaces", "ec2:DescribePrefixLists", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSpotPriceHistory", "ec2:DescribeSubnets", "ec2:DescribeTags", "ec2:DescribeVpcAttribute", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcEndpointServices", "ec2:DescribeVpcs", "ec2:DetachNetworkInterface", "ec2:ModifyImageAttribute", "ec2:ModifyInstanceAttribute", "ec2:RequestSpotInstances", "ec2:RevokeSecurityGroupEgress", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeVolumeStatus", "ec2:DescribeVolumes", "elasticmapreduce:TerminateJobFlows", "elasticmapreduce:ListSteps", "elasticmapreduce:ListClusters", "elasticmapreduce:RunJobFlow", "elasticmapreduce:DescribeCluster", "elasticmapreduce:AddTags", "elasticmapreduce:RemoveTags", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:ModifyInstanceGroups", "elasticmapreduce:GetCluster", "elasticmapreduce:DescribeStep", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:ListInstances", "iam:ListInstanceProfiles", "redshift:DescribeClusters" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:GetTopicAttributes", "sns:Publish" ], "Resource": [ "arn:aws:sns:us-west-1:111122223333:MyFirstSNSTopic", "arn:aws:sns:us-west-1:111122223333:MySecondSNSTopic", "arn:aws:sns:us-west-1:111122223333:AnotherSNSTopic" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListMultipartUploads" ], "Resource": [ "arn:aws:s3:::MyStagingS3Bucket", "arn:aws:s3:::MyLogsS3Bucket", "arn:aws:s3:::MyInputS3Bucket", "arn:aws:s3:::MyOutputS3Bucket", "arn:aws:s3:::AnotherRequiredS3Buckets" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectMetadata", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::MyStagingS3Bucket/*", "arn:aws:s3:::MyLogsS3Bucket/*", "arn:aws:s3:::MyInputS3Bucket/*", "arn:aws:s3:::MyOutputS3Bucket/*", "arn:aws:s3:::AnotherRequiredS3Buckets/*" ] }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable" ], "Resource": [ "arn:aws:dynamodb:us-west-1:111122223333:table/MyFirstDynamoDBTable", "arn:aws:dynamodb:us-west-1:111122223333:table/MySecondDynamoDBTable", "arn:aws:dynamodb:us-west-1:111122223333:table/AnotherDynamoDBTable" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeDBInstances" ], "Resource": [ "arn:aws:rds:us-west-1:111122223333:db:MyFirstRdsDb", "arn:aws:rds:us-west-1:111122223333:db:MySecondRdsDb", "arn:aws:rds:us-west-1:111122223333:db:AnotherRdsDb" ] } ] }

Policy gestita predefinita per il ruolo dell'istanza EC2

Il contenuto diAmazonEC2RoleforDataPipelineRole è mostrato di seguito. Questa è la politica gestita associata al ruolo di risorsa predefinito perAWS Data Pipeline,DataPipelineDefaultResourceRole. Quando si definisce un ruolo di risorsa per la pipeline, si consiglia di iniziare con questa politica di autorizzazione e quindi rimuovere le autorizzazioni per le azioni diAWS servizio che non sono necessarie.

Viene mostrata la versione 3 della politica, che è la versione più recente al momento della stesura di questo documento. Visualizza la versione più recente della policy utilizzando la console IAM.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudwatch:*", "datapipeline:*", "dynamodb:*", "ec2:Describe*", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:Describe*", "elasticmapreduce:ListInstance*", "elasticmapreduce:ModifyInstanceGroups", "rds:Describe*", "redshift:DescribeClusters", "redshift:DescribeClusterSecurityGroups", "s3:*", "sdb:*", "sns:*", "sqs:*" ], "Resource": ["*"] }] }

Creazione di ruoli IAMAWS Data Pipeline e modifica delle autorizzazioni dei ruoli

Utilizza le procedure seguenti per creare ruoli per l'AWS Data Pipelineutilizzo della console IAM. Il processo è costituito da due fasi. Per prima cosa devi creare una policy di autorizzazione da collegare al ruolo. Successivamente, devi creare il ruolo e collega quindi la policy. Dopo aver creato un ruolo, puoi modificarne le autorizzazioni allegando e scollegando i criteri di autorizzazione.

Nota

Quando si creano ruoli per l'AWS Data Pipelineutilizzo della console come descritto di seguito, IAM crea e allega le politiche di fiducia appropriate richieste dal ruolo.

Per creare una politica di autorizzazioni da utilizzare con un ruolo perAWS Data Pipeline
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, selezionare Policies e scegliere Create Policy (Crea policy).

  3. Scegliere la scheda JSON.

  4. Se state creando un ruolo di pipeline, copiate e incollate il contenuto dell'esempio di policy e modificatelo inEsempio di policy di autorizzazione del ruolo di pipeline base ai vostri requisiti di sicurezza. In alternativa, se state creando un ruolo di istanza EC2 personalizzato, fate lo stesso per l'esempio inPolicy gestita predefinita per il ruolo dell'istanza EC2.

  5. Scegli Review policy (Esamina policy).

  6. Inserisci un nome per la politica, ad esempio,MyDataPipelineRolePolicy e una descrizione facoltativa, quindi scegli Crea politica.

  7. Prendere nota del nome della policy. Questa informazione è necessaria in fase di creazione del ruolo.

Per creare un ruolo IAM per AWS Data Pipeline
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, scegliere Roles (Ruoli) e quindi Create role (Crea ruolo).

  3. In Scegli un caso d'uso, scegli Data Pipeline.

  4. In Seleziona il tuo caso d'uso, esegui una delle seguenti operazioni:

    • SceglieteData Pipeline di creare un ruolo nella pipeline.

    • ScegliEC2 Role for Data Pipeline di creare un ruolo di risorsa.

  5. Scegliere Successivo: Autorizzazioni.

  6. SeAWS Data Pipeline è elencata la politica predefinita per, procedi con i seguenti passaggi per creare il ruolo, quindi modificalo in base alle istruzioni della procedura successiva. In caso contrario, inserisci il nome della policy creata nella procedura precedente, quindi selezionala dall'elenco.

  7. Scegli Avanti: Tag, inserisci i tag da aggiungere al ruolo, quindi scegli Avanti: Revisione.

  8. Inserisci un nome per il ruolo, ad esempioMyDataPipelineRole, e una descrizione facoltativa, quindi scegli Crea ruolo.

Per allegare o scollegare una politica di autorizzazioni per un ruolo IAM perAWS Data Pipeline
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, selezionare Roles (Ruoli).

  3. Nella casella di ricerca, inizia a digitare il nome del ruolo che desideri modificare, ad esempio DataPipelineDefaultRoleo MyDataPipelineRole, quindi scegli il nome del ruolo dall'elenco.

  4. Nella scheda Autorizzazioni, segui questi passaggi:

    • Per scollegare un criterio di autorizzazione, in Criteri di autorizzazione, scegli il pulsante di rimozione all'estrema destra della voce del criterio. Scegli Detach quando ti viene richiesto di confermare.

    • Per allegare un criterio creato in precedenza, scegli Allega criteri. Nella casella di ricerca, inizia a digitare il nome della policy che desideri modificare, selezionala dall'elenco, quindi scegli Collegare policy.

Modifica dei ruoli per una pipeline esistente

Se desideri assegnare un ruolo di pipeline o un ruolo di risorsa diverso a una pipeline, puoi utilizzare l'editor di architettura nellaAWS Data Pipeline console.

Per modificare i ruoli assegnati a una pipeline utilizzando la console
  1. Apri laAWS Data Pipeline console all'indirizzo https://console.aws.amazon.com/datapipeline/.

  2. Selezionate la pipeline dall'elenco, quindi scegliete Azioni, Modifica.

  3. Nel riquadro destro dell'editor dell'architetto, scegli Altri.

  4. Dagli elenchi Ruolo e ruolo della risorsa, scegli i ruoliAWS Data Pipeline che desideri assegnare, quindi scegli Salva.