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à.
Utilizzo di credenziali temporanee con le risorse AWS
Puoi utilizzare credenziali di sicurezza temporanee per effettuare richieste programmatiche di AWS risorse utilizzando l' AWS API AWS CLI or (utilizzando gli SDK).AWS
-
Quando si effettua una chiamata utilizzando credenziali di sicurezza temporanee, la chiamata deve includere un token di sessione, che viene restituito insieme a tali credenziali temporanee. AWS utilizza il token di sessione per convalidare le credenziali di sicurezza temporanee.
-
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 AWS STS.
Se utilizzi gli AWS SDK
Nota
Puoi usare AWS Security Token Service (AWS STS) per creare e fornire a utenti affidabili credenziali di sicurezza temporanee in grado di controllare l'accesso alle tue risorse. AWS Per ulteriori informazioni su AWS STS, vedereCredenziali di sicurezza temporanee in IAM. AWS STS è un servizio globale con un endpoint predefinito inhttps://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. Puoi anche scegliere di effettuare chiamate AWS STS API verso gli 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 AWS CLI comandi o codice all'interno di un'istanza EC2, il metodo consigliato 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.
Le applicazioni e AWS CLI i PowerShell comandi Tools for Windows eseguiti sull'istanza possono quindi ottenere credenziali di sicurezza temporanee automatiche dai metadati dell'istanza. Non è necessario ottenere esplicitamente le credenziali di sicurezza temporanee. Gli AWS SDK e gli strumenti per Windows ottengono PowerShell automaticamente le credenziali dall'EC2 Instance Metadata Service (IMDS) e le utilizzano. AWS CLI 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 AWS risorse 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 credenziali di sicurezza temporanee nel codice, chiamate a livello di codice un' AWS STS API simile a un'API AssumeRole
ed estraete le credenziali e il token di sessione risultanti. Questi valori vengono quindi utilizzati come credenziali per le chiamate successive a. AWS L'esempio seguente mostra lo pseudocodice su come utilizzare le credenziali di sicurezza temporanee se utilizzi un SDK: AWS
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 per tutti gli AWS SDK nella pagina di AWS
documentazione
È 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 profile
parametro sia un profilo nel file di configurazione. 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 AWS CLI esegui i comandi, AWS CLI cerca le credenziali in un ordine specifico, prima nelle variabili di ambiente e poi nel file di configurazione. Pertanto, dopo aver inserito le credenziali temporanee nelle variabili di ambiente, AWS CLI utilizza tali credenziali per impostazione predefinita. (Se specificate un profile
parametro nel comando, AWS CLI salta le variabili di ambiente. Al contrario, viene AWS CLI visualizzato nel file di configurazione, che consente di sovrascrivere le credenziali nelle variabili di ambiente, se necessario.)
L'esempio seguente mostra come impostare le variabili di ambiente per le credenziali di sicurezza temporanee e quindi chiamare un comando. AWS CLI Poiché nel AWS CLI comando non è incluso alcun profile
parametro, AWS CLI cerca le credenziali prima nelle variabili di ambiente e quindi utilizza le credenziali temporanee.
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 stai effettuando richieste API HTTPS dirette a AWS, puoi firmare tali richieste con le credenziali di sicurezza temporanee che ottieni da (). AWS Security Token Service AWS STS A tale scopo, utilizzate l'ID della chiave di accesso e la chiave di accesso segreta da AWS STS cui ricevete. 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. Inoltre, aggiungi alla tua richiesta API il token di sessione da cui ricevi 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 Firmare le richieste AWS API in Riferimenti generali di AWS.
Ulteriori informazioni
Per ulteriori informazioni sull'utilizzo AWS STS con altri AWS servizi, consulta i seguenti collegamenti:
-
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 Vedi Utilizzo di politiche basate sull'identità con Amazon SNS nella Guida per gli sviluppatori di Amazon Simple Notification Service.
-
Amazon SQS Consulta la gestione delle identità e degli accessi in Amazon SQS nella Amazon Simple Queue Service Developer Guide.
-
Amazon SimpleDB Consulta Utilizzo di credenziali di sicurezza temporanee nella Guida per gli sviluppatori di Amazon SimpleDB.