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à.
Usa credenziali temporanee con AWS risorse
Puoi utilizzare le 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 Passa i tag della sessione AWS STS.
Se utilizzi gli AWS SDK
Nota
Puoi usare Servizio di token di sicurezza AWS (AWS STS) per creare e fornire agli 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 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 Manage (Gestione) 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 modo consigliato per ottenere le credenziali è 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 tramite un ruolo IAM — AWS SDK for .NET
-
Creazione di un ruolo: AWS SDK per Ruby
Utilizzo di credenziali di sicurezza temporanee con AWS SDK
Per utilizzare le credenziali di sicurezza temporanee nel codice, richiami a livello di codice un' AWS STS API like AssumeRole ed estrai 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 uno 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 per 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 Servizio di token di sicurezza AWS. 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 principale della AWS
documentazione, nella sezione SDK e toolkit.
È 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 di credenziali di sicurezza temporanee con 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 AWS CLI configurazione. 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 AWS CLI 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 si specifica un profile parametro nel comando, vengono AWS CLI ignorate le variabili di ambiente. Invece, AWS CLI cerca nel file di configurazione, che consente di sovrascrivere le credenziali nelle variabili di ambiente, se necessario.)
L'esempio seguente mostra come è possibile 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 prima le credenziali 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=ASIAIOSFODNN7EXAMPLEC:\>SET AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYC:\>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 (). Servizio di token di sicurezza AWS AWS STS A tale scopo, utilizzi l'ID della chiave di accesso e la chiave di accesso segreta che ricevi 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. Aggiungete inoltre alla vostra richiesta API il token di sessione da cui ricevete 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 Signing AWS API Requests nel Riferimenti generali di AWS.
Ulteriori informazioni
Per ulteriori informazioni sull'utilizzo AWS STS con altri AWS servizi, consulta i seguenti link:
-
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.