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à.
Ruoli IAM per Amazon EC2
Le applicazioni devono firmare le proprie richieste API con AWS credenziali. Pertanto, se sei uno sviluppatore di applicazioni, avrai bisogno di una strategia per gestire le credenziali per le applicazioni eseguite su istanze EC2. Ad esempio, puoi distribuire in modo sicuro le credenziali AWS alle istanze, consentendo alle applicazioni eseguite su tali istanze di utilizzare le credenziali per firmare le richieste, e contemporaneamente proteggere le credenziali da altri utenti. Tuttavia, è difficile distribuire in modo sicuro le credenziali a ciascuna istanza, specialmente a quelle AWS create per tuo conto, come le istanze Spot o le istanze nei gruppi di Auto Scaling. Inoltre, devi essere in grado di aggiornare le credenziali su ogni istanza quando ruoti le credenziali. AWS
Nota
Per i tuoi carichi di lavoro Amazon EC2, ti consigliamo di recuperare le credenziali di sessione utilizzando il metodo descritto di seguito. Queste credenziali dovrebbero consentire al carico di lavoro di effettuare richieste di API AWS , senza dover utilizzare sts:AssumeRole
per assumere lo stesso ruolo già associato all'istanza. A meno che non sia necessario passare i tag di sessione per il controllo degli accessi basato sugli attributi (ABAC) o passare una policy di sessione per limitare ulteriormente le autorizzazioni del ruolo, tali chiamate di assunzione del ruolo non sono necessarie in quanto creano un nuovo set delle stesse credenziali di sessione del ruolo temporaneo.
Se il carico di lavoro utilizza un ruolo per assumere se stesso, devi creare una policy di attendibilità che consenta esplicitamente a tale ruolo di assumere se stesso. Se non crei la policy di attendibilità, ricevi l'errore AccessDenied
. Per ulteriori informazioni, consulta Modifica di una policy di attendibilità di un ruolo nella Guida per l'utente di IAM.
Abbiamo sviluppato i ruoli IAM in modo da consentire alle applicazioni di eseguire in modo sicuro le richieste API dalle istanze senza la necessità di gestire le credenziali di sicurezza utilizzate dalle applicazioni stesse. Invece di creare e distribuire AWS le tue credenziali, puoi delegare l'autorizzazione a effettuare richieste API utilizzando i ruoli IAM nel modo seguente:
-
Crea un ruolo IAM.
-
Definisci quali account o AWS servizi possono assumere il ruolo.
-
Definire le operazioni e le risorse API che l'applicazione può utilizzare dopo l'assunzione del ruolo.
-
Specificare il ruolo quando avvii l'istanza o quando associ il ruolo a un'istanza esistente.
-
Impostare l'applicazione in modo che recuperi un set di credenziali temporanee e le utilizzi.
Ad esempio, puoi utilizzare i ruoli IAM per concedere le autorizzazioni alle applicazioni eseguite su istanze che devono utilizzare un bucket in Amazon S3. Puoi specificare le autorizzazioni per i ruoli IAM mediante la creazione di una policy in formato JSON. Si tratta di policy simili a quelle create per gli utenti . Se modifichi un ruolo, la modifica verrà propagata a tutte le istanze.
Nota
Le credenziali del ruolo IAM di Amazon EC2 non sono soggette alla durata massima delle sessioni configurata nel ruolo. Per ulteriori informazioni, consulta Utilizzo di ruoli IAM nella Guida per l'utente di IAM.
Durante la creazione di ruoli IAM, associa policy IAM con privilegi minimi che limitano l'accesso alle chiamate API specifiche richieste dall'applicazione.
È possibile associare un solo ruolo IAM a un'istanza, ma è possibile associare lo stesso ruolo a molte istanze. Per ulteriori informazioni sulla creazione e sull'utilizzo dei ruoli IAM, consulta la sezione relativa ai ruoli nella Guida per l'utente di IAM.
Puoi applicare le autorizzazioni a livello di risorsa alle policy IAM per controllare la capacità degli utenti di collegare, sostituire o scollegare i ruoli IAM per un'istanza. Per ulteriori informazioni, consulta Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2 e l'esempio seguente: Esempio: utilizzo dei ruoli IAM.
Indice
Profili delle istanze
Amazon EC2 utilizza un profilo dell'istanza come container per un ruolo IAM. Quando crei un ruolo IAM utilizzando la console IAM, la console crea automaticamente un profilo dell'istanza e le assegna lo stesso nome del ruolo a cui corrisponde. Se utilizzi la console Amazon EC2 per avviare un'istanza con un ruolo IAM o per collegare un ruolo IAM a un'istanza, scegli il ruolo in base all'elenco di nomi di profilo delle istanze.
Se utilizzi l' AWS CLI API o un AWS SDK per creare un ruolo, crei il ruolo e il profilo dell'istanza come azioni separate, con nomi potenzialmente diversi. Se poi utilizzi l' AWS CLI API o un AWS SDK per avviare un'istanza con un ruolo IAM o per associare un ruolo IAM a un'istanza, specifica il nome del profilo dell'istanza.
Un profilo dell'istanza può contenere solo un ruolo IAM. Questo limite non può essere aumentato.
Per ulteriori informazioni, consulta la sezione relativa ai profili delle istanze nella Guida per l'utente di IAM.
Recupero delle credenziali di sicurezza dai metadati delle istanze
Un'applicazione in un'istanza recupera le credenziali di sicurezza fornite dal ruolo dalla voce iam/security-credentials/
role-name nei metadati dell'istanza. All'applicazione vengono concesse le autorizzazioni per le operazioni e le risorse definite per il ruolo tramite le credenziali di sicurezza associate al ruolo. Queste credenziali di sicurezza sono temporanee e sono caratterizzate da un piano di rotazione automatica. Ciò significa che rendiamo disponibili nuove credenziali almeno cinque minuti prima della scadenza delle vecchie credenziali.
avvertimento
Se utilizzi servizi che usano metadati delle istanze con i ruoli IAM, assicurati di non esporre le credenziali quando i servizi effettuano chiamate HTTP per tuo conto. I tipi di servizi che possono esporre le credenziali includono i proxy HTTP, i servizi validatore HTML/CSS e i processori XML che supportano l'inclusione XML.
Il comando seguente recupera le credenziali di sicurezza per un ruolo IAM denominato s3access
.
Di seguito è riportato un output di esempio.
{
"Code" : "Success",
"LastUpdated" : "2012-04-26T16:39:16Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
"SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"Token" : "token",
"Expiration" : "2017-05-17T15:09:54Z"
}
Per le applicazioni e PowerShell i comandi Tools for Windows eseguiti sull'istanza, non è necessario ottenere in modo esplicito le credenziali di sicurezza temporanee: gli AWS SDK e Tools for Windows ottengono PowerShell automaticamente le credenziali dal servizio di metadati dell'istanza EC2 e le utilizzano. AWS CLI AWS CLI Per eseguire una chiamata esternamente all'istanza utilizzando le credenziali di sicurezza temporanee, ad esempio per testare le policy IAM, è necessario fornire la chiave di accesso, la chiave segreta e il token di sessione. Per ulteriori informazioni, consulta Utilizzo delle credenziali di sicurezza temporanee per richiedere l'accesso alle risorse nella Guida per l'utente IAM. AWS
Per ulteriori informazioni sui metadati delle istanze, consulta Metadati dell'istanza e dati utente. Per informazioni sull'indirizzo IP dei metadati dell'istanza, consulta Recupero dei metadati dell'istanza.
Concessione a un utente dell'autorizzazione a trasferire un ruolo IAM a un'istanza
Per consentire a un utente di avviare un'istanza con un ruolo IAM o per collegare o sostituire un ruolo IAM per un'istanza esistente, devi concedere all'utente l'autorizzazione a utilizzare le seguenti operazioni API:
-
iam:PassRole
-
ec2:AssociateIamInstanceProfile
-
ec2:ReplaceIamInstanceProfileAssociation
Ad esempio, la policy IAM seguente concede agli utenti l'autorizzazione ad avviare istanze con un ruolo IAM o a collegare o sostituire un ruolo IAM per un'istanza esistente tramite la AWS CLI.
Nota
Questa policy concede agli utenti l'accesso a tutti i ruoli specificando la risorsa come *
nella policy. Tuttavia, si prega di tenere conto del principio del privilegio minimo come best practice.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:AssociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/DevTeam*" } ] }
Per concedere agli utenti l'autorizzazione per avviare le istanze con un ruolo IAM o per collegare o sostituire un ruolo IAM per un'istanza esistente tramite la console Amazon EC2, devi concedere loro l'autorizzazione ad utilizzare iam:ListInstanceProfiles
, iam:PassRole
,ec2:AssociateIamInstanceProfile
e ec2:ReplaceIamInstanceProfileAssociation
oltre a qualsiasi altra autorizzazione di cui potrebbero aver bisogno. Per esempi di policy, consulta Policy di esempio da utilizzare nella console Amazon EC2.
Utilizzo dei ruoli IAM
Puoi creare un ruolo IAM e collegarlo a un'istanza durante o dopo l'avvio. Puoi inoltre sostituire o scollegare un ruolo IAM per un'istanza.
Indice
Creare un ruolo IAM.
Devi creare un ruolo IAM prima di poter avviare un'istanza utilizzando tale ruolo o di collegarlo a un'istanza.
Avvio di un'istanza con un ruolo IAM
Dopo aver creato un ruolo IAM, puoi avviare un'istanza e associare tale ruolo all'istanza durante l'avvio.
Importante
Dopo aver creato un ruolo IAM, potrebbero essere necessari alcuni secondi per la propagazione delle autorizzazioni. Se il primo tentativo di avviare un'istanza con un ruolo ha esito negativo, attendi alcuni secondi prima di riprovare. Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi dei ruoli IAM nella Guida per l'utente di IAM.
Collegamento di un ruolo IAM all'istanza
Per collegare un ruolo IAM a un'istanza senza ruolo, l'istanza può essere nello stato stopped
o running
.
Sostituire un ruolo IAM
Per sostituire il ruolo IAM su un'istanza che ha già un ruolo IAM collegato, l'istanza deve essere nello stato running
. È possibile eseguire questa operazione se si desidera modificare il ruolo IAM per un'istanza senza scollegare prima quella esistente. Ad esempio, è possibile eseguire questa operazione per verificare che le operazioni API eseguite dalle applicazioni in esecuzione sull'istanza non siano interrotte.
Scollegare un ruolo IAM
Puoi scollegare un ruolo IAM da un'istanza in esecuzione o arrestata.
Generazione di una policy per il ruolo IAM in base all'attività di accesso
Quando si crea per la prima volta un ruolo IAM per le applicazioni, a volte è possibile concedere altre autorizzazioni oltre a quanto richiesto. Prima di avviare l'applicazione nell'ambiente di produzione, è possibile generare una policy IAM basata sull'attività di accesso per un ruolo IAM. IAM Access Analyzer esamina AWS CloudTrail i log e genera un modello di policy che contiene le autorizzazioni utilizzate dal ruolo nell'intervallo di date specificato. È possibile utilizzare il modello per creare una policy gestita con autorizzazioni granulari e quindi collegarla al ruolo IAM. In questo modo, concedi solo le autorizzazioni necessarie al ruolo per interagire con le AWS risorse per il tuo caso d'uso specifico. In questo modo è possibile rispettare la best practice per concedere il minimo privilegio. Per ulteriori informazioni, consulta Generazione di policy basate sull'attività di accesso nella Guida per l'utente di IAM.