Controllo delle versioni delle policy IAM - 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 delle versioni delle policy IAM

Quando apporti modifiche a una policy gestita dai clienti IAM e quando AWS apporti modifiche a una policy AWS gestita, la policy modificata non sovrascrive la policy esistente. IAM crea invece una nuova versione della policy gestita. IAM memorizza fino a cinque versioni di una policy gestita dal cliente. IAM non supporta il controllo delle versioni per le policy in linea.

Il diagramma seguente illustra la funzione Versioni multiple per una policy gestita dal cliente. In questo esempio, vengono salvate le versioni 1-4. Puoi salvare fino a cinque versioni delle policy gestite in IAM. Quando si modifica una policy che creerebbe una sesta versione salvata, è possibile scegliere quale versione precedente non memorizzare più. È possibile ripristinare una qualsiasi delle altre quattro versioni salvate in qualsiasi momento.

Le modifiche apportate alle policy gestite diventano nuove versioni della policy

Una versione di policy è diversa da un elemento Version della policy. L'elemento di policy Version viene utilizzato all'interno di una policy e definisce la versione del linguaggio di policy. Per ulteriori informazioni sull'elemento di policy Version, consultare Elementi delle policy JSON IAM: Version.

È possibile utilizzare le versioni per tenere traccia delle modifiche apportate a una policy gestita. Ad esempio, è possibile effettuare una modifica a una policy gestita e quindi scoprire che la modifica ha avuto effetti non previsti. In questo caso, è possibile eseguire il rollback a una versione precedente della policy gestita impostando la versione precedente come versione predefinita.

Negli argomenti seguenti viene illustrato come è possibile utilizzare il controllo delle versioni per le policy gestite.

Autorizzazioni per impostare la versione predefinita di una policy

Le autorizzazioni necessarie per impostare la versione predefinita di una policy corrispondono alle operazioni API di AWS per l'attività. È possibile utilizzare l'operazione API CreatePolicyVersion o SetDefaultPolicyVersion per impostare la versione predefinita di una policy. Per consentire a un utente di impostare la versione predefinita di una policy esistente, è possibile consentire l'accesso all'operazione iam:CreatePolicyVersion o all'operazione iam:SetDefaultPolicyVersion. L'operazione iam:CreatePolicyVersion consente di creare una nuova versione della policy e di impostarla come predefinita. L'operazione iam:SetDefaultPolicyVersion consente di impostare qualsiasi versione esistente della policy come predefinita.

Importante

Negare l'operazione iam:SetDefaultPolicyVersion nella policy di un utente non impedisce a quest'ultimo di creare una nuova versione della policy e di impostarla come predefinita.

È possibile utilizzare la policy seguente per negare a un utente l'accesso per modificare una policy gestita dal cliente esistente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iam:CreatePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": "arn:aws:iam::*:policy/POLICY-NAME" } ] }

Impostare la versione predefinita di una policy gestita dal cliente

Una delle versioni di una policy gestita viene impostata come versione predefinita. La versione di default della policy è la versione operativa, ovvero, è la versione valida per tutte le entità principali (utenti, gruppi di utenti e ruoli) a cui è collegata la policy gestita.

Quando si crea una policy gestita dal cliente, la policy inizia con una singola versione identificata come v1. Per le policy gestite con una sola versione, tale versione viene automaticamente impostata come predefinita. Per le policy gestite dal cliente con più di una versione, selezionare la versione da impostare come predefinita. Per le policy AWS gestite, la versione predefinita è impostata da AWS. I seguenti diagrammi illustrano questo concetto.

Policy gestita con una singola versione, che è la versione predefinita

Policy gestita dal cliente con tre versioni, in cui la versione v2 è la versione predefinita.

Puoi impostare la versione predefinita di una policy gestita dal cliente per applicarla a tutte le identità IAM (utente, gruppo di utenti e ruolo) a cui è collegata la policy. Non è possibile impostare la versione predefinita per una politica AWS gestita o una politica in linea.

Per impostare la versione predefinita di una policy gestita dal cliente (console)
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, seleziona Policy.

  3. Nell'elenco delle policy, selezionare il nome della policy per cui impostare la versione predefinita. Puoi utilizzare la casella di ricerca per filtrare l'elenco delle policy.

  4. Selezionare la scheda Policy versions (Versioni policy). Selezionare la casella di controllo a fianco della versione da impostare come predefinita e selezionare Set as default (Imposta come predefinita).

Per informazioni su come impostare la versione predefinita di una policy gestita dal cliente dall'API AWS Command Line Interface o dall' AWS API, consultaModifica di policy gestite dal cliente (AWS CLI).

Utilizzo delle versioni per il rollback delle modifiche

È possibile impostare la versione predefinita di una policy gestita dal cliente per eseguire il rollback delle modifiche. Si consideri ad esempio lo scenario riportato di seguito:

Crea una policy gestita dal cliente che consenta agli utenti di amministrare un determinato bucket Amazon S3 utilizzando la AWS Management Console. Al momento della creazione, la policy gestita dal cliente ha solo una versione, identificata come v1, in modo che questa versione venga automaticamente impostata come predefinita. La policy funziona come previsto.

Successivamente, si aggiorna la policy per aggiungere l'autorizzazione per amministrare un secondo bucket Amazon S3. IAM crea una nuova versione della policy, identificata come v2, che contiene le modifiche. Imposta la versione v2 come predefinita e poco dopo gli utenti segnalano che non dispongono dell'autorizzazione per utilizzare la console Amazon S3. In questo caso, è possibile ripristinare la versione v1 della policy, che funziona come previsto. Per eseguire questa operazione, è necessario impostare la versione v1 come versione predefinita. Gli utenti sono ora in grado di utilizzare la console Amazon S3 per amministrare il bucket originale.

Successivamente, dopo aver determinato l'errore nella versione v2 della policy, aggiorna nuovamente la policy per aggiungere l'autorizzazione per amministrare il secondo bucket Amazon S3. IAM crea una nuova versione della policy, identificata come v3. Si imposta quindi la versione v3 come predefinita e questa versione funziona come previsto. A questo punto, si elimina la versione v2 della policy.

Limiti della versione

Una policy gestita può avere fino a cinque versioni. Se devi apportare modifiche a una policy gestita in più di cinque versioni della AWS Command Line Interface o dell' AWS API, devi prima eliminare una o più versioni esistenti. Se si utilizza la AWS Management Console, non è necessario eliminare una versione prima di modificare la politica. Quando si salva una sesta versione, verrà visualizzata una finestra di dialogo che richiede di eliminare una o più versioni non predefinite della policy. È possibile visualizzare il documento della policy JSON per ogni versione per facilitare la scelta. Per ulteriori informazioni su questa finestra di dialogo, consultare Modifica delle policy IAM.

È possibile eliminare qualsiasi versione di policy gestita desiderata, ad eccezione della versione predefinita. Quando si elimina una versione, gli identificatori di versione per le versioni rimanenti non vengono modificati. Di conseguenza, gli identificativi di versione potrebbero non essere sequenziali. Ad esempio, se si eliminano le versioni v2 e v4 di una policy gestita e si aggiungono due nuove versioni, gli identificativi della versione rimanenti potrebbero essere v1, v3, v5, v6 e v7.