Se stai lottando per gestire l’accesso alle tue risorse AWS mentre la tua organizzazione cresce, non preoccuparti! Il servizio AWS Security Token (STS) è qui per salvare la situazione.
Con i privilegi di assumere un ruolo di AWS STS, puoi concedere un accesso temporaneo alle tue risorse AWS a utenti e applicazioni senza la necessità di credenziali a lungo termine. E in questo tutorial, imparerai a gestire le tue risorse in modo più efficiente mantenendole sicure.
Continua a leggere e ottieni il controllo completo della tua infrastruttura e delle risorse AWS con facilità!
Prerequisiti
Questo tutorial sarà una dimostrazione pratica. Per seguirci, assicurati di avere un account AWS con la fatturazione attiva, ma un account gratuito è sufficiente.
Creazione di un utente IAM senza alcun accesso
Prima di poter utilizzare i privilegi di assumere un ruolo di AWS STS, devi prima creare un utente IAM a cui non sono assegnate autorizzazioni. Questa azione potrebbe sembrare controintuitiva, ma è cruciale perché gli utenti IAM non possono assumere direttamente ruoli. Devono prima ottenere credenziali di sicurezza temporanee assumendo un ruolo tramite il servizio AWS STS.
Per creare un utente IAM senza autorizzazioni, segui questi passaggi:
1. Apri il tuo browser web preferito e accedi alla Console di Gestione AWS con il tuo account AWS principale.
2. Successivamente, cerca e seleziona IAM dalla lista dei servizi per accedere alla console IAM.

3. Sulla console IAM, vai su Utenti (pannello sinistro) e clicca su Aggiungi Utente per avviare l’aggiunta di un nuovo utente.

4. Ora, configura i dettagli dell’utente di seguito. Questa azione consente all’utente IAM di accedere alla Console di Gestione AWS con il proprio nome utente e password.
- Nome utente – Fornisci un nome per il nuovo utente e spunta la casella sottostante per Fornire accesso all’utente alla Console di Gestione AWS.
- Seleziona l’opzione Voglio creare un utente IAM poiché stai creando un utente IAM.
- Password della console – Scegli l’opzione Password autogenerata per generare una password che potrai cambiare in seguito.
Una volta configurato, clicca su Avanti per continuare la creazione dell’utente IAM.

5. Nella pagina successiva, lascia i valori predefiniti come sono e clicca su Avanti per saltare la configurazione dei permessi dell’utente.
Non c’è bisogno di assegnare alcun permesso a questo utente poiché ne stai creando uno senza permessi e con accesso alla Console di Gestione AWS.
Senza permessi, agli utenti è impedito di agire fino a quando non assumono un ruolo che conferisce loro i permessi necessari.

6. Successivamente, rivedi i dettagli dell’utente configurato e clicca su Crea Utente per finalizzare la creazione dell’utente IAM.

7. Copia e salva l’URL di accesso e la password dell’utente IAM. Avrai bisogno di queste informazioni per accedere successivamente con l’utente IAM.

8. Ora, torna alla console IAM, vai alla pagina Utenti (pannello sinistro) e clicca sul nome del nuovo utente appena creato per accedere alla sua pagina Riepilogo.

9. Infine, sulla pagina Riepilogo, prendi nota dell’Amazon Resource Name (ARN) dell’utente, l’identificatore unico dell’utente. Avrai bisogno di questo ARN successivamente quando assegnerai un ruolo all’utente.

Preparare una Policy di Fiducia Personalizzata
Con un utente IAM dedicato creato, sei pronto per assumere il ruolo, concedendo l’accesso alle risorse AWS. Ma affinché un utente IAM assuma un ruolo, il ruolo deve prima fidarsi dell’utente.
Creando una policy di fiducia personalizzata, stabilirai una “relazione di fiducia” tra l’utente IAM e il ruolo. Questa relazione di fiducia specifica quali utenti o account possono assumere il ruolo e in quali condizioni.
Per preparare una policy di fiducia personalizzata, segui questi passaggi:
1. Vai a Ruoli (pannello sinistro) nella console IAM, e clicca su Crea ruolo per avviare la creazione di un nuovo ruolo.

2. Successivamente, clicca sull’opzione Policy di fiducia personalizzata per creare una policy personalizzata.

3. Inserisci la seguente policy nel campo di testo, come mostrato di seguito, e clicca su Avanti. Sostituisci YOUR_ARN con l’ARN dell’utente IAM che hai annotato nell’ultimo passaggio della sezione “Creazione di un Utente IAM Senza Accesso”.
Di seguito è riportato un esempio di base di una policy di fiducia personalizzata che consente a un determinato utente IAM o ruolo di assumere un ruolo IAM specifico con i seguenti campi:
Field | Function |
---|---|
Version | Specifies the version of the policy language. |
Statement | Contains the policy statement(s). |
Effect | Specifies whether the statement allows or denies access, with Allow, in this case, granting access. |
Principal | Specifies the entity allowed to assume the role; in this example, it is an empty string. |
Action | Specifies the action the IAM user or role is allowed to perform. The sts:AssumeRole value allows the user to assume the specified IAM role. |

4. Nella pagina successiva, cerca e seleziona AmazonEC2FullAccess dall’elenco delle policy che appare e clicca su Avanti. Questa policy concede pieno accesso a tutte le risorse EC2.

5. Successivamente, fornisci un nome per la tua policy di fiducia personalizzata (ad esempio, AWSEC2FULLACCESS).

6. Mantieni le altre impostazioni come sono e clicca su Crea ruolo per finalizzare la creazione del ruolo.
In questo punto, il ruolo dovrebbe essere assumibile dall’utente IAM (sts_user). Quando viene assunto, l’utente avrà accesso a tutte le risorse EC2, come elencazione, creazione ed eliminazione di istanze EC2, ecc.

7. Clicca sul ruolo appena creato, come mostrato di seguito, per visualizzarne i dettagli.

8. Infine, copia il link per passare ai ruoli nella console e salvalo. Avrai bisogno di questo link in seguito per passare ai ruoli nella console quando accedi con l’utente IAM (sts_user).

Cambio e Assunzione di un Ruolo con un Utente IAM
Dopo aver creato un ruolo, puoi ora assumere il ruolo con il tuo utente IAM dedicato. Effettuerai l’accesso alla console AWS con il tuo utente IAM e passerai al ruolo che hai creato per testare l’accesso a EC2.
Per vedere come passare e assumere un ruolo con un utente IAM:
1. Accedere all’URL di accesso che hai annotato nel passaggio sette della sezione “Creazione di un utente IAM senza accesso” e accedere con la password dell’utente IAM.
?Evitare conflitti con il proprio account principale accedendo utilizzando un browser diverso o una finestra di navigazione in incognito.

2. Una volta effettuato l’accesso, accedere alla console EC2 e vedrete molti errori API in rosso, come mostrato di seguito. Questi errori indicano che l’utente IAM non ha le autorizzazioni per accedere alle risorse EC2.
Per risolvere questi errori, è necessario assumere il ruolo creato per ottenere l’accesso a tutte le risorse EC2 (AWSEC2FULLACCESS) nel passaggio successivo. Quando si assume un ruolo in AWS, si acquisiscono temporaneamente le autorizzazioni associate a quel ruolo.

3. Aprire una nuova scheda del browser e accedere al “link per passare a un altro ruolo” annotato nell’ultimo passaggio della sezione “Preparazione di una politica di trust personalizzata”.
Questo link è un URL speciale che ti porta direttamente alla pagina Switch Role nella Console di gestione di AWS. La pagina Switch Role consente di assumere un ruolo diverso, un insieme di autorizzazioni che determinano a quali risorse AWS si può accedere.
4. Ora, fornire un nome descrittivo per la sessione e fare clic su Switch Role per assumere il ruolo. Il nome descrittivo aiuta a tenere traccia delle sessioni attive.
Dopo aver assunto il ruolo, il browser viene reindirizzato alla Console di gestione di AWS con le autorizzazioni del ruolo selezionato.

5. Accedere nuovamente alla console EC2 per confermare che all’utente IAM sia stato concesso l’accesso alle risorse EC2.
Se tutto va bene, non vedrai più gli errori dell’API che hai visto in precedenza, poiché ora hai effettuato l’accesso con i permessi del ruolo, compreso l’accesso alle risorse EC2.

6. Infine, fai clic sul nome visualizzato della tua sessione (in alto a destra) e seleziona “Torna indietro” per tornare all’utente IAM originale.
Sarai disconnesso dalla tua sessione attuale e ti collegherai come il tuo utente IAM originale con il suo set originale di permessi. Questa azione è la pratica migliore per ridurre il rischio di eseguire accidentalmente azioni non intenzionali.

Conclusione
Assumere un ruolo in AWS è una funzionalità potente che ti consente di concedere accesso temporaneo alle risorse senza condividere le tue credenziali permanenti. E durante questo tutorial, hai imparato a sfruttare i privilegi di assume role di AWS STS.
A questo punto, puoi assumere un ruolo con sicurezza con permessi limitati per garantire la sicurezza delle tue risorse e ridurre al minimo l’impatto potenziale di azioni accidentali o dannose.
La Console di Gestione AWS è un ottimo modo per iniziare con i servizi AWS come l’assunzione di ruoli. Ma perché non provare a assumere un ruolo tramite l’interfaccia della riga di comando AWS (CLI)? Esplorare e integrare AWS CLI nei tuoi script di automazione può fornire funzionalità più avanzate.