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

Policy IAM per AWS Data Pipeline

Per impostazione predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita, le entità IAM non dispongono dell'autorizzazione per creare o modificare risorse AWS. Per permettere alle entità IAM di creare o modificare le risorse ed eseguire le attività, devi creare policy IAM che concedano alle entità IAM l'autorizzazione a utilizzare specifiche risorse e operazioni API e quindi collegare tali policy alle entità IAM che richiedono tali autorizzazioni.

Quando si collega una policy a un utente o a un gruppo di utenti, tramite essa viene concessa o rifiutata agli utenti l'autorizzazione per l'esecuzione delle attività specificate per le risorse specificate. Per informazioni generali sulle policy IAM, consulta la sezione relativa ad autorizzazioni e policy nella Guida per l'utente di IAM. Per ulteriori informazioni sulla gestione e la creazione di policy IAM personalizzate, consulta la sezione relativa alla gestione delle policy IAM.

Sintassi delle policy

Una policy IAM è un documento JSON costituito da una o più dichiarazioni. Ogni dichiarazione è strutturata come segue:

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"*", "Condition":{ "condition":{ "key":"value" } } } ] }

Una dichiarazione di policy include i seguenti elementi:

  • Effect (Effetto): l'elemento effect può essere Allow o Deny. Per impostazione predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita predefinita, le entità IAM non dispongono dell'autorizzazione per l'utilizzo di risorse e operazioni API, pertanto tutte le richieste vengono rifiutate. Un permesso esplicito sostituisce l'impostazione predefinita. Un rifiuto esplicito sovrascrive tutti i consensi.

  • Action (Operazione): l'elemento action corrisponde all'operazione API specifica per la quale si concede o si nega l'autorizzazione. Per un elenco di azioni perAWS Data Pipeline, consulta Azioni nel riferimentoAWS Data Pipeline API.

  • Resource (Risorsa): la risorsa che viene modificata dall'operazione. L'unico valore valido qui è "*".

  • Condition: le condizioni sono facoltative. Possono essere utilizzate per controllare quando sarà in vigore una policy.

    AWS Data Pipeline implementa le chiavi di contesto AWS (consulta la sezione relativa alle chiavi disponibili), oltre alle seguenti chiavi specifiche per i servizi.

Controllo degli accessi alle pipeline tramite i tag

Puoi creare criteri IAM che fanno riferimento ai tag per la pipeline. In questo modo è possibile utilizzare l'applicazione di tag alle pipeline per eseguire quanto segue:

  • Concedere l'accesso in sola lettura a una pipeline

  • Concedere l'accesso in lettura/scrittura a una pipeline

  • Bloccare l'accesso a una pipeline

Ad esempio, supponiamo che un responsabile disponga di due ambienti di pipeline, produzione e sviluppo, e di un gruppo IAM per ogni ambiente. Per le pipeline nell'ambiente di produzione, il manager concede l'accesso di lettura/scrittura agli utenti del gruppo IAM di produzione, ma concede l'accesso in sola lettura agli utenti del gruppo IAM di sviluppo. Per le pipeline nell'ambiente di sviluppo, il manager concede l'accesso di lettura/scrittura sia ai gruppi IAM di produzione che a quelli di sviluppo.

Per realizzare questo scenario, il manager etichetta le pipeline di produzione con il tag «environment=production» e allega la seguente politica al gruppo IAM di sviluppatori. La prima istruzione concede l'accesso in sola lettura a tutte le pipeline. La seconda istruzione consente l'accesso in lettura/scrittura alle pipeline che non dispongono di un tag "environment=production".

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:ListPipelines", "datapipeline:GetPipelineDefinition", "datapipeline:QueryObjects" ], "Resource": "*" }, { "Effect": "Allow", "Action": "datapipeline:*", "Resource": "*", "Condition": { "StringNotEquals": {"datapipeline:Tag/environment": "production"} } } ] }

Inoltre, il manager allega la seguente politica al gruppo IAM di produzione. Questa istruzione concede l'accesso completo a tutte le pipeline.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "datapipeline:*", "Resource": "*" } ] }

Per ulteriori esempi, vedi Concessione agli utenti dell'accesso in sola lettura basato su un tag e Concessione agli utenti dell'accesso completo basato su un tag.

Controllo degli accessi alle pipeline tramite i gruppi di lavoratori

È possibile creare politiche IAM che fanno riferimento ai nomi dei gruppi di lavoro.

Ad esempio, supponiamo che un responsabile disponga di due ambienti di pipeline, produzione e sviluppo, e di un gruppo IAM per ogni ambiente. Il responsabile ha tre server di database con runner di attività configurati, rispettivamente, per gli ambienti di produzione, pre-produzione e sviluppo. Il manager desidera garantire che gli utenti del gruppo IAM di produzione possano creare pipeline che trasferiscono le attività alle risorse di produzione e che gli utenti del gruppo IAM di sviluppo possano creare pipeline che trasferiscono le attività alle risorse di preproduzione e di sviluppo.

Per ottenere questo scenario, il responsabile installa runner di attività sulle risorse di produzione con le credenziali relative e imposta workerGroup su "prodresource". Inoltre, il responsabile installa il runner delle attività sulle risorse di sviluppo con le credenziali di sviluppo e imposta workerGroup su "pre-produzione" e "sviluppo". Il manager allega la seguente politica al gruppo IAM degli sviluppatori per bloccare l'accesso alle risorse «prodresource». La prima istruzione concede l'accesso in sola lettura a tutte le pipeline. La seconda istruzione consente di concedere l'accesso in lettura/scrittura alle pipeline quando il nome del gruppo di lavoratori ha il prefisso "dev" o "pre-prod".

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:ListPipelines", "datapipeline:GetPipelineDefinition", "datapipeline:QueryObjects" ], "Resource": "*" }, { "Action": "datapipeline:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringLike": { "datapipeline:workerGroup": ["dev*","pre-prod*"] } } } ] }

Inoltre, il manager allega la seguente politica al gruppo IAM di produzione per concedere l'accesso alle risorse «prodresource». La prima istruzione concede l'accesso in sola lettura a tutte le pipeline. La seconda istruzione consente l'accesso in lettura/scrittura quando il nome del gruppo di lavoratori ha il prefisso "prod".

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:ListPipelines", "datapipeline:GetPipelineDefinition", "datapipeline:QueryObjects" ], "Resource": "*" }, { "Effect": "Allow", "Action": "datapipeline:*", "Resource": "*", "Condition": { "StringLike": {"datapipeline:workerGroup": "prodresource*"} } } ] }