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à.
Utilizzare credenziali temporanee con le risorse AWS
È possibile utilizzare le credenziali di sicurezza temporanee per effettuare richieste a livello di codice verso le risorse AWS utilizzando la AWS CLI o le API AWS (tramite gli SDK AWS
-
Quando effettui una chiamata con le credenziali di sicurezza provvisorie, quest'ultima deve includere un token di sessione, restituito insieme a tali credenziali. AWS utilizza il token di sessione per convalidare le credenziali di sicurezza provvisorie.
-
Le credenziali temporanee scadono dopo un intervallo di tempo specificato. Dopo che le credenziali temporanee scadono, tutte le chiamate effettuate con tali credenziali verranno respinte, pertanto dovrai generare un nuovo set di credenziali temporanee. Le credenziali temporanee non possono essere prorogate o aggiornate oltre l'intervallo specificato in origine.
-
Quando si utilizzano credenziali temporanee per effettuare una richiesta, l'entità potrebbe includere un set di tag. Questi tag provengono da tag di sessione e tag associati al ruolo assunto. Per ulteriori informazioni sui tag di sessione, consultare Passare i tag di sessione in AWS STS.
Se si utilizzano SDK AWS SDKs
Nota
Puoi utilizzare AWS Security Token Service (AWS STS) per creare e fornire agli utenti attendibili le credenziali di sicurezza provvisorie per controllare l'accesso alle risorse AWS. Per ulteriori informazioni su AWS STS, consulta Credenziali di sicurezza temporanee in IAM. AWS STS è un servizio globale che dispone di un endpoint predefinito in https://sts.amazonaws.com
. Questo endpoint si trova nella regione Stati Uniti orientali (Virginia settentrionale), sebbene le credenziali ottenute da questo e da altri endpoint siano valide a livello globale. Queste credenziali funzionano con servizi e risorse in qualsiasi regione. È anche possibile scegliere di effettuare chiamate API AWS STS agli endpoint in una qualsiasi delle regioni supportate. Ciò può ridurre la latenza effettuando le richieste da server in una regione geograficamente più vicina a te. Indipendentemente dalla regione dalla quale provengono, le credenziali funzionano a livello globale. Per ulteriori informazioni, consulta Gestire AWS STS in un Regione AWS.
Indice
Utilizzo delle credenziali temporanee nelle istanze Amazon EC2
Se desideri eseguire comandi o codice AWS CLI in un'istanza EC2, il modo migliore per ottenere le credenziali consiste nell'utilizzare i ruoli per Amazon EC2. È possibile creare un ruolo IAM che specifichi le autorizzazioni che si desidera concedere alle applicazioni che vengono eseguite sulle istanze EC2. Quando si avvia l'istanza, si associa il ruolo all'istanza.
I comandi di applicazioni, AWS CLI e Tools for Windows PowerShell eseguiti sull'istanza possono quindi ottenere le credenziali di sicurezza temporanee automatiche dai metadati dell'istanza. Non è necessario ottenere esplicitamente le credenziali di sicurezza temporanee. Gli SDK AWS, la AWS CLI e Strumenti per Windows PowerShell ottengono automaticamente le credenziali da Instance Metadata Service (IMDS) EC2 e le utilizzano. Le credenziali temporanee hanno le autorizzazioni che si definiscono per il ruolo associato all'istanza.
Per maggiori informazioni ed esempi, consultare quanto segue:
-
Utilizzo dei ruoli IAM per concedere l'accesso alle risorse AWS su Amazon Elastic Compute Cloud: AWS SDK for Java
-
Concessione dell'accesso utilizzando un ruolo IAM : AWS SDK for .NET
-
Creazione di un ruolo: AWS SDK for Ruby
Utilizzo delle credenziali di sicurezza temporanee con gli SDK AWS
Per utilizzare le credenziali di sicurezza temporanee nel codice, si richiama a livello di codice un'API AWS STS come AssumeRole
e si estraggono le credenziali e il token di sessione risultanti. È quindi possibile utilizzare tali valori come credenziali per le chiamate successive a AWS. L'esempio seguente mostra pseudocodice per come utilizzare le credenziali di sicurezza temporanee se si sta utilizzando un AWS SDK:
assumeRoleResult = AssumeRole(
role-arn
); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); s3Request = CreateAmazonS3Client(tempCredentials);
Per un esempio scritto in Python (usando AWS SDK for Python (Boto)AssumeRole
per ottenere le credenziali di sicurezza temporanee e quindi utilizzare tali credenziali per effettuare una chiamata ad Amazon S3.
Per dettagli su come richiamare AssumeRole
, GetFederationToken
e altre operazioni API, consulta la Documentazione di riferimento delle API AWS Security Token Service. Per informazioni su come ottenere le credenziali di sicurezza provvisorie e il token di sessione dal risultato, consulta la documentazione dell'SDK in uso. Puoi trovare la documentazione relativa a tutti gli SDK AWS nella pagina della documentazione di AWS
È necessario accertarsi che sia possibile ottenere un nuovo set di credenziali prima della scadenza. In alcuni SDK, è possibile utilizzare un provider che gestisca il proprio processo di aggiornamento delle credenziali; controllare la documentazione del kit SDK che si sta utilizzando.
Utilizzo delle credenziali di sicurezza temporanee con la AWS CLI
È possibile utilizzare le credenziali di sicurezza temporanee con AWS CLI Questo può essere utile per testare le policy.
Tramite la AWS CLI, puoi richiamare un'API AWS STS come AssumeRole
o GetFederationToken
e acquisire l'output risultante. L'esempio seguente mostra una chiamata a AssumeRole
che invia l'output a un file. Nell'esempio, si presume che il parametro profile
sia un profilo nel file di configurazione della AWS CLI. Si presume inoltre di fare riferimento alle credenziali di un utente IAM che disponga delle autorizzazioni per assumere il ruolo.
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/
role-name
--role-session-name "RoleSession1" --profileIAM-user-name
> assume-role-output.txt
Quando il comando viene completato, è possibile estrarre l'ID della chiave di accesso, la chiave di accesso segreta e il token di sessione da qualunque posto sia stato instradato. È possibile farlo manualmente o utilizzando uno script. È possibile assegnare questi valori alle variabili di ambiente.
Quando si eseguono i comandi AWS CLI, AWS CLI cerca le credenziali in un determinato ordine, prima nelle variabili di ambiente e poi nel file di configurazione. Pertanto, dopo aver messo le credenziali temporanee nelle variabili di ambiente, AWS CLI utilizza quelle credenziali come impostazione predefinita. Se specifichi un parametro profile
nel comando, la AWS CLI ignora le variabili di ambiente e cerca nel file di configurazione della AWS CLI, consentendoti di ignorare le credenziali nelle variabili di ambiente, se necessario.
L'esempio seguente mostra il modo in cui è possibile impostare le variabili di ambiente per le credenziali di sicurezza temporanee e chiamare un comando AWS CLI. Poiché nessun parametro profile
è incluso nel comando AWS CLI, AWS CLI cerca le credenziali innanzitutto nelle variabili di ambiente e quindi utilizza le credenziali provvisorie.
Linux
$
export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
$
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$
export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
$
aws ec2 describe-instances --region us-west-1
Windows
C:\>
SET AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
C:\>
SET AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\>
SET AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of token>
C:\>
aws ec2 describe-instances --region us-west-1
Utilizzo delle credenziali di sicurezza temporanee con le operazioni API
Se effettui richieste API HTTPS dirette ad AWS, puoi firmarle con le credenziali di sicurezza provvisorie ottenute da AWS Security Token Service (AWS STS). A tale scopo, è possibile utilizzare l'ID della chiave di accesso e la chiave di accesso segreta ricevute da AWS STS. Utilizzare l'ID della chiave di accesso e la chiave di accesso segreta nello stesso modo in cui si utilizzano le credenziali a lungo termine per firmare una richiesta. Aggiungere inoltre alla richiesta API il token della sessione ricevuto da AWS STS. Aggiungere il token della sessione a un'intestazione HTTP o a un parametro della stringa di query denominato X-Amz-Security-Token
. Aggiungi il token di sessione all'intestazione HTTP o il parametro della stringa di query, ma non entrambi. Per ulteriori informazioni sulla firma delle richieste API HTTPS, consulta Firma delle richieste API AWS nella Riferimenti generali di AWS.
Ulteriori informazioni
Per ulteriori informazioni sull'utilizzo di AWS STS con altri servizi AWS, consulta i collegamenti seguenti.
-
Amazon S3. Consulta Esecuzione di richieste mediante le credenziali temporanee per gli utenti IAM o Esecuzione di richieste mediante le credenziali temporanee per gli utenti federati nella Guida per l'utente di Amazon Simple Storage Service.
-
Amazon SNS Consulta Utilizzo di policy basate su identità con Amazon SNS nella Guida per gli sviluppatori di Amazon Simple Notification Service.
-
Amazon SQS Consulta Identity and Access Management in Amazon SQS nella Guida per gli sviluppatori di Amazon Simple Queue Service
-
Amazon SimpleDB Consulta Utilizzo di credenziali di sicurezza temporanee nella Guida per gli sviluppatori di Amazon SimpleDB.