Controllo delle versioni delle policy IAM
Quando apporti modifiche a una policy gestita da un cliente IAM e quando AWS apporta modifiche a una policy gestita da AWS, 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.
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.
Argomenti
Limiti della versione
Una policy gestita può avere fino a cinque versioni. Se è necessario apportare modifiche a una policy gestita di cui esistono già cinque versioni tramite l'AWS Command Line Interface o l'API AWS, è necessario prima eliminare una o più versioni esistenti. Se si utilizza la Console di gestione AWS, non è necessario eliminare una versione prima di modificare la policy. 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 Modificare le 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.
Utilizzare le 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 Console di gestione AWS. 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.
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
Per impedire a un utente di apportare modifiche alla versione predefinita di una policy, è necessario negare sia iam:CreatePolicyVersion sia iam:SetDefaultPolicyVersion.
È possibile utilizzare la policy seguente per negare a un utente l'accesso per modificare una policy gestita dal cliente esistente:
Impostare la versione predefinita di una policy gestita dal cliente
Una delle versioni di una policy gestita viene impostata come versione predefinita. La versione predefinita della policy è la versione operativa, ovvero, è la versione valida per tutte le entità principali (utenti IAM, gruppi IAM e ruoli IAM) 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 gestite da AWS, la versione predefinita viene impostata da AWS. I seguenti diagrammi illustrano questo concetto.
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 policy gestita da AWS o una policy inline.
Per impostare la versione predefinita di una policy gestita dal cliente (console)
Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, seleziona Policies (Policy).
-
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.
-
Selezionare la scheda Policy versions (Versioni policy). Seleziona la casella di controllo accanto alla versione da impostare come predefinita, quindi scegli Imposta come predefinita.
Per ulteriori informazioni su come impostare la versione predefinita di una policy gestita dal cliente tramite l'AWS Command Line Interface o l'API AWS, consulta Modificare le policy IAM (AWS CLI).