Controllo dell'accesso alle AWS risorse tramite le policy - AWS Identity and Access Management

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

Controllo dell'accesso alle AWS risorse tramite le policy

Puoi usare una policy per controllare l'accesso alle risorse in tutto IAM o in tutto AWS.

Per utilizzare una politica per controllare l'accesso in AWS, è necessario comprendere in che modo AWS concede l'accesso. AWS è composto da raccolte di risorse. Un utente IAM è una risorsa. Un bucket Amazon S3 è una risorsa. Quando si utilizza il AWS API AWS CLI, il o il AWS Management Console per eseguire un'operazione (ad esempio la creazione di un utente), si invia una richiesta per tale operazione. La richiesta specifica un'operazione, una risorsa, un'entità principale (utente o ruolo), un account principale e qualsiasi altra informazione necessaria per la richiesta. Tutte queste informazioni forniscono il contesto.

AWS controlla quindi che l'utente (principale) sia autenticato (connesso) e autorizzato (disponga di autorizzazione) per eseguire l'operazione specificata nella risorsa specificata. Durante l'autorizzazione, AWS controlla tutte le policy applicabili al contesto della richiesta. La maggior parte delle policy viene memorizzata in sotto AWS forma di JSONdocumenti e specifica le autorizzazioni per le entità principali. Per ulteriori informazioni sui tipi di policy e i relativi utilizzi, consulta Politiche e autorizzazioni in AWS Identity and Access Management.

AWS autorizza la richiesta solo se ogni parte della richiesta è autorizzata in base alla policy. Per visualizzare un diagramma di questo processo, consultare Come IAM funziona. Per ulteriori informazioni su come AWS determina se una richiesta è consentita, consultaLogica di valutazione delle policy.

Quando crei una IAM policy, puoi controllare l'accesso ai seguenti elementi:

  • Principali: controlla quello che la persona che effettua la richiesta (principale) è autorizzata a fare.

  • IAMIdentità: controlla a quali IAM identità (IAMgruppi, utenti e ruoli) è possibile accedere e in che modo.

  • IAMPolicy: controlla quali utenti possono creare, modificare ed eliminare le policy gestite dal cliente e quali utenti possono collegare e scollegare tutte le policy gestite.

  • Risorse AWS: consente di controllare quali utenti hanno accesso alle risorse tramite una policy basata sulle identità o una policy basata sulle risorse.

  • Account AWS: consente di controllare se una richiesta è consentita solo per i membri di un determinato account.

Le policy consentono di specificare quali utenti hanno accesso alle AWS risorse e quali operazioni possono eseguire su tali risorse. Inizialmente, nessun IAM utente dispone di autorizzazioni. Ovvero, per impostazione predefinita, gli utenti non possono eseguire alcuna operazione, neppure visualizzare le proprie chiavi di accesso. Per fornire a un utente l'autorizzazione per eseguire un'operazione, è possibile aggiungere l'autorizzazione all'utente, ovvero collegare una policy all'utente. In alternativa, puoi aggiungere l'utente a un gruppo di utenti con l'autorizzazione desiderata.

Ad esempio, è possibile concedere a un utente l'autorizzazione per l'elencazione delle proprie chiavi di accesso. È inoltre possibile espandere tale autorizzazione e consentire inoltre a ciascun utente di creare, aggiornare ed eliminare le proprie chiavi.

Quando concedi le autorizzazioni a un gruppo di utenti, tutti gli utenti in quel gruppo potranno usufruire di tali autorizzazioni. Ad esempio, è possibile fornire al gruppo Amministratori l'autorizzazione per eseguire qualsiasi operazione su qualsiasi Account AWS risorsa dell'. IAM Un altro esempio: è possibile fornire al gruppo di utenti Manager l'autorizzazione per descrivere le EC2 istanze Amazon di Account AWS.

Per informazioni su come delegare le autorizzazioni di base per utenti, IAM gruppi e ruoli, consulta. Autorizzazioni necessarie per accedere alle risorse IAM Per ulteriori esempi di policy che utilizzano queste autorizzazioni, consultare Esempi di policy per amministrare le risorse IAM.

Controllo dell'accesso per le entità principali

È possibile usare le policy per controllare le operazioni che la persona da cui proviene la richiesta (entità principale) è autorizzata a effettuare. A tale scopo, è necessario collegare una policy basata su identità all'identità di questa persona (utente, gruppo di utenti o ruolo). È possibile utilizzare anche un limite di autorizzazioni per impostare il numero massimo di autorizzazioni che un'entità (utente o ruolo) può avere.

Supponiamo, ad esempio, di volere che l'utente Zhang Wei abbia accesso completo ad Amazon DynamoDB CloudWatch, Amazon e Amazon S3. EC2 È possibile creare due policy diverse, in modo che successivamente sia possibile suddividerle nel caso sia necessario un set di autorizzazioni per un utente diverso. In alternativa, è possibile includere entrambe le autorizzazioni in una singola policy e quindi collegare tale policy all'IAMutente denominato Zhang Wei. È anche possibile collegare una policy a un gruppo di utenti a cui Zhang appartiene o a un ruolo che Zhang può assumere. Di conseguenza, quando Zhang visualizza i contenuti di un bucket di S3, le sue richieste vengono accettate. Se prova a creare un nuovo IAM utente, la richiesta viene rifiutata perché non dispone dell'autorizzazione.

È possibile utilizzare un limite delle autorizzazioni su Zhang per fare in modo che non gli venga mai dato accesso al bucket amzn-s3-demo-bucket1 di S3. A tale scopo, è necessario determinare il numero massimo di autorizzazioni per Zhang. In questo caso è possibile controllare le sue attività con le policy di autorizzazione. L'importante è che non possa accedere al bucket riservato. Puoi quindi utilizzare la policy seguente per definire il limite per Zhang e consentire tutte le AWS operazioni per Amazon S3 e alcuni altri servizi, ma negare l'accesso al bucket S3. amzn-s3-demo-bucket1 Poiché il limite delle autorizzazioni non consente alcuna IAM operazione, impedisce a Zhang di eliminare il proprio limite o quello di altri utenti.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionsBoundarySomeServices", "Effect": "Allow", "Action": [ "cloudwatch:*", "dynamodb:*", "ec2:*", "s3:*" ], "Resource": "*" }, { "Sid": "PermissionsBoundaryNoConfidentialBucket", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] } ] }

Quando si assegna una policy come questa come limite delle autorizzazioni per un utente, la policy non concede alcuna autorizzazione. Imposta il numero massimo di autorizzazioni che una policy basata su identità può concedere a un'entità. IAM Per ulteriori informazioni sui limiti delle autorizzazioni, consultare Limiti delle autorizzazioni per le entità IAM.

Per informazioni dettagliate sulle procedure precedenti, è possibile consultare le risorse seguenti:

Controllo dell'accesso alle identità

Puoi usare IAM le policy per controllare le operazioni che tutti gli utenti possono eseguire per un'identità mediante la creazione di una policy da collegare a tutti gli utenti tramite un gruppo di utenti. Per eseguire questa operazione, è necessario creare una policy che limita le operazioni che possono essere eseguite per un'identità oppure gli utenti che possono accedere.

Ad esempio, è possibile creare un gruppo di utenti denominato AllUserse quindi collegare tale gruppo a tutti gli utenti. Quando si crea il gruppo di utenti, è possibile fornire a tutti gli utenti l'accesso per impostare le proprie credenziali come descritto nella sezione precedente. È quindi possibile creare una policy che rifiuti l'accesso alla modifica del gruppo di utenti a meno che il nome utente non sia incluso nella condizione della policy. Tuttavia, la parte della policy rifiuta solo l'accesso a chiunque eccetto gli utenti elencati. È inoltre necessario includere le autorizzazioni per permettere tutte le operazioni di gestione del gruppo di utenti per tutti gli utenti del gruppo. Infine, puoi collegare questa policy al gruppo di utenti in modo che venga applicata a tutti gli utenti. Di conseguenza, quando un utente non specificato nella policy cerca di apportare modifiche al gruppo di utenti, la richiesta viene rifiutata.

Per creare questa policy con l'editor visivo
  1. Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione a sinistra, seleziona Policies (Policy).

    Se è la prima volta che selezioni Policy, verrà visualizzata la pagina Benvenuto nelle policy gestite. Seleziona Inizia.

  3. Scegli Create Policy (Crea policy).

  4. Nella sezione Editor di policy, scegli l'opzione Visivo.

  5. In Seleziona un servizio scegli IAM.

  6. In Operazioni consentite, digita group nella casella di ricerca. L'editor visivo mostra tutte le operazioni IAM che contengono la parola group. Seleziona tutte le caselle di controllo.

  7. Selezionare Resources (Risorse) per specificare le risorse per la policy. In base alle operazioni scelte, dovrebbero venire visualizzati i tipi di risorse gruppo e utente.

    • gruppo: scegli Aggiungi ARNs. Per Risorse in, seleziona l'opzione Qualsiasi account. Seleziona la casella di controllo Qualsiasi nome di gruppo con percorso, quindi digita il nome AllUsers del gruppo di utenti. Quindi scegliere Add (Aggiungi)ARNs.

    • utente: seleziona la casella di controllo accanto a Qualsiasi in questo account.

    Una delle operazioni scelte, ListGroups, non supporta l'utilizzo di risorse specifiche. Non è necessario selezionare All resources (Tutte le risorse) per tale operazione. Quando salvi la policy o la visualizzi nell'JSONeditor, puoi notare che IAM viene creato automaticamente un nuovo blocco di autorizzazioni che concede l'autorizzazione per questa operazione a tutte le risorse.

  8. Per aggiungere un altro blocco di autorizzazioni, scegli Aggiungi altre autorizzazioni.

  9. Scegli Seleziona un servizio, quindi scegli IAM.

  10. Scegli Operazioni consentite, quindi seleziona Passa ad autorizzazioni rifiutate. In questo caso, l'intero blocco viene utilizzato per rifiutare le autorizzazioni.

  11. Nella casella di ricerca digitare group. L'editor visivo mostra tutte le operazioni IAM che contengono la parola group. Selezionare le caselle di controllo accanto alle seguenti operazioni:

    • CreateGroup

    • DeleteGroup

    • RemoveUserFromGroup

    • AttachGroupPolicy

    • DeleteGroupPolicy

    • DetachGroupPolicy

    • PutGroupPolicy

    • UpdateGroup

  12. Selezionare Resources (Risorse) per specificare le risorse per la policy. In base alle operazioni scelte, dovrebbe venire visualizzato il tipo di risorse group (gruppo). Scegli Aggiungi ARNs. Per Risorse in, seleziona l'opzione Qualsiasi account. Per Qualsiasi nome gruppo con percorso, digita il nome del gruppo di utenti AllUsers. Quindi scegliere Add (Aggiungi)ARNs.

  13. Scegli Condizioni di richiesta - opzionale, quindi scegli Aggiungi altra condizione. Completare il modulo con i seguenti valori:

    • Chiave di condizione: scegli aws:username

    • Qualificatore: scegli Default

    • Operatore: scegli StringNotEquals

    • Valore: digita srodriguez, quindi scegli Aggiungi per aggiungere un altro valore. Digita mjackson, quindi scegli Aggiungi per aggiungere un altro valore. Digita adesai e quindi seleziona Aggiungi un altro valore di condizione.

    Questa condizione garantisce che l'accesso venga rifiutato per le operazioni di gestione del gruppo di utenti specificate se l'utente che effettua la chiamata non è incluso nell'elenco. Poiché l'autorizzazione viene rifiutata in modo esplicito, il blocco precedente che consentiva a tali utenti di chiamare le operazioni viene ignorato. Per gli utenti inclusi nell'elenco, l'accesso non viene rifiutato e viene concessa dell'autorizzazione del primo blocco di autorizzazioni, in modo che possano gestire completamente il gruppo.

  14. Quando hai terminato, seleziona Successivo.

    Nota

    Puoi passare dall'opzione Visual a quella JSONdell'editor in qualsiasi momento. Se tuttavia si apportano modifiche o si seleziona Successivo nell'opzione dell'editor Visivo, IAM potrebbe ristrutturare la policy in modo da ottimizzarla per l'editor visivo. Per ulteriori informazioni, consulta Modifica della struttura delle policy.

  15. Nella pagina Verifica e crea, digita LimitAllUserGroupManagement in Nome della policy. In Description (Descrizione), digitare Allows all users read-only access to a specific user group, and allows only specific users access to make changes to the user group. Rivedi il campo Autorizzazioni definite in questa policy per accertarti di disporre delle autorizzazioni previste. Quindi selezionare Create policy (Crea policy) per salvare la nuova policy.

  16. Collega la policy al tuo gruppo di utenti. Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per le IAM identità.

In alternativa, è possibile creare la stessa politica utilizzando questo documento di JSON policy di esempio. Per visualizzare questa JSON politica, vedereIAM: consente a utenti IAM specifici di gestire un gruppo a livello di programmazione e nella console. Per istruzioni dettagliate sulla creazione di una politica utilizzando un JSON documento, vedereCreazione di policy utilizzando l'JSONeditor.

Controllo dell'accesso alle policy

Puoi controllare in che modo gli utenti possono applicare le policy AWS gestite. Per eseguire questa operazione, collegare questa policy per tutti gli utenti. In teoria, è possibile eseguire questa operazione utilizzando un gruppo di utenti.

Ad esempio, è possibile creare una politica che consenta agli utenti di allegare solo IAMUserChangePasswordle politiche PowerUserAccess AWS gestite a un nuovo IAM utente, gruppo di utenti o ruolo.

Per le policy gestite dal cliente, è possibile controllare chi può creare, aggiornare ed eliminare queste policy. È possibile controllare chi può collegare e distaccare le policy per le entità principali (utenti, IAM gruppi di utenti e ruoli). È inoltre possibile controllare quali policy un utente può collegare o distaccare e per quale entità.

Ad esempio, è possibile concedere autorizzazioni a un account amministratore per creare, aggiornare ed eliminare le policy. Quindi è possibile assegnare le autorizzazioni a un team leader o a un altro amministratore limitato collegare o distaccare queste policy a/da entità principali che l'amministratore limitato gestisce.

Per ulteriori informazioni, fare riferimento a queste risorse:

Controllo delle autorizzazioni per la creazione, l'aggiornamento e l'eliminazione di policy gestite dal cliente

Puoi usare IAMle policy per controllare chi può creare, aggiornare ed eliminare le policy gestite dal cliente nell' Account AWS. L'elenco seguente contiene API le operazioni che riguardano direttamente la creazione, l'aggiornamento e l'eliminazione delle politiche o delle versioni delle politiche:

Le API operazioni nell'elenco precedente corrispondono alle operazioni che è possibile consentire o rifiutare, ovvero le autorizzazioni che è possibile concedere, utilizzando una policy. IAM

Esaminiamo l'esempio di policy seguente. Permette a un utente di creare, aggiornare (ovvero creare una nuova versione della policy), eliminare e impostare una versione predefinita per tutte le policy gestite dal cliente nell' Account AWS. La policy di esempio, inoltre, consente all'utente di elencare e ottenere le policy. Per ulteriori informazioni su come creare una policy usando il documento di JSON policy di esempio, consultaCreazione di policy utilizzando l'JSONeditor.

Esempio di policy che permette la creazione, l'aggiornamento, l'eliminazione, la visualizzazione, l'ottenimento e la configurazione della versione di default per tutte le policy
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicy", "iam:DeletePolicyVersion", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:ListPolicies", "iam:ListPolicyVersions", "iam:SetDefaultPolicyVersion" ], "Resource": "*" } }

È possibile creare politiche che limitano l'uso di queste API operazioni in modo da influire solo sulle politiche gestite specificate. Ad esempio, è possibile permettere a un utente di impostare la versione predefinita ed eliminare le versioni di policy, ma solo per determinate policy gestite dal cliente. A tale scopo, è necessario specificare la politica ARN nell'Resourceelemento della politica che concede tali autorizzazioni.

L'esempio seguente mostra una policy che consente a un utente di eliminare versioni della policy e impostare la versione predefinita. Tuttavia, queste azioni sono consentite solo per le politiche gestite dai clienti che includono il percorso/-A/. TEAM La politica gestita dal cliente ARN è specificata nell'Resourceelemento della politica. In questo esempio ARN include un percorso e un jolly e quindi corrisponde a tutte le policy gestite dal cliente che includono il percorso/TEAM-A/. Per ulteriori informazioni su come creare una policy usando il documento di JSON policy di esempio, consultaCreazione di policy utilizzando l'JSONeditor.

Per ulteriori informazioni sull'utilizzo di percorsi di clienti nei nomi delle policy gestite dal cliente, consultare Nomi descrittivi e percorsi.

Esempio di policy che consente di eliminare le versioni di policy e impostare la versione di default solo per policy specifiche
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:DeletePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": "arn:aws:iam::account-id:policy/TEAM-A/*" } }

Controllo delle autorizzazioni per collegare e distaccare le policy gestite

È possibile utilizzare IAM le policy anche per permettere agli utenti di utilizzare policy specifiche. In pratica, è possibile controllare le autorizzazioni che un utente può concedere ad altre entità principali.

L'elenco seguente mostra API le operazioni che riguardano direttamente il collegamento e il distacco delle politiche gestite da e verso le entità principali:

È possibile creare politiche che limitano l'uso di queste API operazioni in modo da influire solo sulle politiche gestite specifiche e/o sulle entità principali specificate. Ad esempio, è possibile permettere a un utente di collegare le policy gestite, ma per le policy specificate dall'utente. Oppure, è possibile permettere a un utente di collegare le policy gestite, ma alle entità del principale specificate dall'utente.

L'esempio di policy seguente consente a un utente di collegare le policy gestite solo ai IAM gruppi e ai ruoli che includono il percorso/TEAM-A/. Il gruppo di utenti e il ruolo ARNs sono specificati nell'Resourceelemento della policy. In questo esempio ARNs includono un percorso e un carattere jolly e quindi corrispondono a tutti i IAM gruppi e ai ruoli che includono il percorso/TEAM-A/. Per ulteriori informazioni su come creare una policy usando il documento di JSON policy di esempio, consultaCreazione di policy utilizzando l'JSONeditor.

Esempio di policy che consente di collegare policy gestite solo a gruppi di utenti o ruoli specifici
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::account-id:group/TEAM-A/*", "arn:aws:iam::account-id:role/TEAM-A/*" ] } }

È possibile limitare ulteriormente le operazioni dell'esempio precedente per influire solo su determinate policy. In altre parole, puoi controllare le autorizzazioni che un utente può collegare ad altre entità principali, aggiungendo una condizione alla policy.

In questo esempio, la condizione garantisce che le autorizzazioni AttachGroupPolicy e AttachRolePolicy siano consentite solo quando la policy da collegare corrisponde a uno delle policy specificate. La condizione utilizza la chiave della condizione iam:PolicyARN per determinare quali policy possono essere collegate. L'esempio di policy seguente amplia il concetto espresso nell'esempio precedente. Consente a un utente di collegare solo le policy gestite che includono path /TEAM-A/ to only the IAM groups and roles that include the path /TEAM -A/. Per ulteriori informazioni su come creare una policy usando il documento di JSON policy di esempio, consultaCreazione di policy utilizzando l'JSONeditor.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::account-id:group/TEAM-A/*", "arn:aws:iam::account-id:role/TEAM-A/*" ], "Condition": {"ArnLike": {"iam:PolicyARN": "arn:aws:iam::account-id:policy/TEAM-A/*"} } } }

Questa policy utilizza l'operatore di condizione ArnLike ma puoi anche utilizzare l'operatore di condizione ArnEquals perché questi due operatori si comportano in modo identico. Per ulteriori informazioni su ArnLike e ArnEquals, consulta Operatori di condizione con Amazon Resource Name (ARN) nella sezione Tipi di condizione dei Riferimenti agli elementi della policy.

Ad esempio, è possibile limitare l'uso di operazioni per coinvolgere solo le policy gestite specificate dall'utente. A tale scopo, è necessario specificare la politica ARN nell'Conditionelemento della politica che concede tali autorizzazioni. Ad esempio, per specificare ARN la policy gestita dal cliente:

"Condition": {"ArnEquals": {"iam:PolicyARN": "arn:aws:iam::123456789012:policy/POLICY-NAME"} }

È inoltre possibile specificare il valore ARN di una politica AWS gestita nell'Conditionelemento di una politica. L'utilizzo ARN di una politica AWS gestita utilizza l'alias speciale aws nella politica ARN anziché un ID di account, come in questo esempio:

"Condition": {"ArnEquals": {"iam:PolicyARN": "arn:aws:iam::aws:policy/AmazonEC2FullAccess"} }

Controllo dell'accesso alle risorse

È possibile controllare chi ha accesso alle risorse utilizzando una policy basata sulle identità o una policy basata sulle risorse. In una policy basata sulle identità si collega la policy a un'identità e si specifica a quali risorse può accedere tale identità. In una policy basata sulle risorse, si collega una policy alla risorsa che si desidera controllare. Nella policy, è necessario specificare quali entità principali possono accedere a tale risorsa. Per ulteriori informazioni su entrambi questi tipi di policy, consultare Policy basate sulle identità e policy basate su risorse.

Per ulteriori informazioni, fare riferimento a queste risorse:

Gli autori delle risorse non dispongono automaticamente di autorizzazioni

Se effettui l'accesso utilizzando Utente root dell'account AWS le credenziali, disponi dell'autorizzazione per eseguire qualsiasi operazione con risorse che appartengono all'account. Tuttavia, ciò non è valido per IAM gli utenti. Un IAM utente potrebbe disporre dell'accesso per creare una risorsa, ma le autorizzazioni dell'utente, anche per tale risorsa, sono limitate a quanto è stato concesso esplicitamente. Ciò significa che solo perché si crea una risorsa, ad esempio un IAM ruolo, non si dispone automaticamente dell'autorizzazione per modificare o eliminare quel ruolo. Inoltre, l'autorizzazione può essere revocata in qualsiasi momento dal proprietario dell'account o da un altro utente che dispone dell'accesso per gestire le autorizzazioni.

Controllo dell'accesso ai principali in un account specifico

È possibile concedere direttamente IAM agli utenti dell'account l'accesso alle risorse. Se gli utenti di un altro account devono accedere alle risorse, è possibile creare un IAM ruolo. Un ruolo è un'entità che include autorizzazioni, ma non è associata a un utente specifico. Gli utenti di altri account possono assumere quel ruolo e accedere alle risorse in base alle autorizzazioni assegnate al ruolo. Per ulteriori informazioni, consulta Accesso per un IAM utente in un altro Account AWS di tua proprietà.

Nota

Alcuni servizi supportano le policy basate sulle risorse, come descritto in Policy basate sulle identità e policy basate su risorse (ad esempio Amazon S3, SNS Amazon e Amazon). SQS Per tali servizi, un'alternativa all'utilizzo dei ruoli consiste nel collegare una policy alla risorsa (bucket, argomento o coda) che si desidera condividere. La policy basata sulle risorse è in grado di specificare l' AWS account che dispone delle autorizzazioni per accedere alla risorsa.