

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à.

# AWS Autenticazione a più fattori in IAM
<a name="id_credentials_mfa"></a>

Per una maggiore sicurezza, ti consigliamo di configurare l'autenticazione a più fattori (MFA) per proteggere AWS le tue risorse. Puoi abilitare l'MFA per tutti Account AWS, inclusi gli account autonomi, gli account Utente root dell'account AWS di gestione e gli account dei membri, nonché per i tuoi utenti IAM. Ti consigliamo di utilizzare MFA resistenti al phishing, come passkey e chiavi di sicurezza, ogni volta che è possibile. Questi autenticatori basati su FIDO utilizzano la crittografia a chiave pubblica e resistono agli attacchi di phishing e replay man-in-the-middle, offrendo un livello di sicurezza più elevato rispetto alle opzioni basate su TOTP.

L’MFA viene applicata a tutti i tipi di account per il relativo utente root. Per ulteriori informazioni, consulta [Proteggi le AWS Organizations credenziali utente root del tuo account](root-user-best-practices.md#ru-bp-organizations). 

Quando abiliti MFA per l'utente root, questa impostazione influisce solo sulle credenziali dell'utente root. Gli utenti IAM nell'account sono identità distinte con proprie credenziali e ogni identità ha la propria configurazione MFA. Per ulteriori informazioni sull’utilizzo dell’MFA per proteggere l’utente root, consulta [Autenticazione a più fattori per Utente root dell'account AWS](enable-mfa-for-root.md).

I tuoi utenti Utente root dell'account AWS e IAM possono registrare fino a otto dispositivi MFA di qualsiasi tipo. La registrazione di più dispositivi MFA può offrire flessibilità e contribuire a ridurre il rischio di interruzione dell'accesso in caso di smarrimento o guasto di un dispositivo. È necessario un solo dispositivo MFA per accedere alla Console di gestione AWS o creare una sessione tramite la AWS CLI.

**Nota**  
Ti consigliamo di richiedere agli utenti umani di utilizzare credenziali temporanee per l'accesso. AWS Hai preso in considerazione l'utilizzo AWS IAM Identity Center? Puoi utilizzare IAM Identity Center per gestire centralmente l'accesso a più account Account AWS e fornire agli utenti un accesso Single Sign-On protetto da MFA a tutti gli account assegnati da un'unica posizione. Con IAM Identity Center puoi creare e gestire le identità degli utenti in IAM Identity Center o connetterti facilmente al tuo attuale gestore dell'identità digitale (IdP) compatibile con SAML 2.0. Per ulteriori informazioni, consulta [Cos'è IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) nella *Guida per l'utente di AWS IAM Identity Center *.

La MFA aggiunge una maggiore sicurezza che richiede agli utenti di fornire un'autenticazione unica da un meccanismo AWS MFA supportato oltre alle credenziali di accesso quando accedono a siti Web o servizi. AWS 

## Tipi di MFA
<a name="id_credentials_mfa-types"></a>

AWS supporta i seguenti tipi di MFA:

**Contents**
+ [Passkey e chiavi di sicurezza](#passkeys-security-keys-for-iam-users)
+ [Applicazioni di autenticazione virtuale](#virtual-auth-apps-for-iam-users)
+ [Token TOTP hardware](#hardware-totp-token-for-iam-users)

### Passkey e chiavi di sicurezza
<a name="passkeys-security-keys-for-iam-users"></a>

AWS Identity and Access Management supporta passkey e chiavi di sicurezza per MFA. In base agli standard FIDO, le passkey utilizzano la crittografia a chiave pubblica per fornire un'autenticazione forte e resistente al phishing, più sicura delle password. AWS supporta due tipi di passkey: passkey legate al dispositivo (chiavi di sicurezza) e passkey sincronizzate.
+ **Chiavi di sicurezza**: si tratta di dispositivi fisici, come un YubiKey, utilizzati come secondo fattore di autenticazione. Una singola chiave di sicurezza può supportare più account utente root e utenti IAM.
+ **Passkey sincronizzate**: come secondo fattore utilizzano gestori di credenziali di provider come Google, Apple, account Microsoft e servizi di terze parti come 1Password, Dashlane e Bitwarden come secondo fattore.

Puoi utilizzare gli autenticatori biometrici integrati, come Touch ID su Apple MacBooks, per sbloccare il gestore delle credenziali e accedere a. AWS Le passkey vengono create con il provider scelto utilizzando l'impronta digitale, il viso o il PIN del dispositivo. Puoi anche utilizzare una passkey di autenticazione tra dispositivi (CDA) da un dispositivo, ad esempio un dispositivo mobile o una chiave di sicurezza hardware, per accedere su un altro dispositivo, ad esempio un laptop. Per ulteriori informazioni, consulta [Cross-device authentication (CDA)](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda).

Puoi sincronizzare le passkey tra i tuoi dispositivi per facilitare gli accessi e migliorare l'usabilità e la recuperabilità. AWS Per ulteriori informazioni sull'abilitazione delle passkey e delle chiavi di sicurezza, consulta [Abilitare una passkey o una chiave di sicurezza per l'utente root (console)](enable-fido-mfa-for-root.md).

FIDO Alliance mantiene un elenco di tutti i [prodotti certificati FIDO](https://fidoalliance.org/certification/fido-certified-products/) compatibili con le specifiche FIDO.

### Applicazioni di autenticazione virtuale
<a name="virtual-auth-apps-for-iam-users"></a>

Un'applicazione di autenticazione virtuale che viene eseguita su un telefono o altro dispositivo e simula un dispositivo fisico. Le app di autenticazione virtuale implementano l'algoritmo TOTP ([password monouso](https://datatracker.ietf.org/doc/html/rfc6238)) e supportano più token su un singolo dispositivo. L'utente deve immettere un codice valido dal dispositivo quando richiesto durante la procedura di accesso. Ogni token assegnato a un utente deve essere univoco. Per autenticarsi, un utente non può digitare un codice dal token di un altro utente.

Ti consigliamo di utilizzare MFA resistenti al phishing [come passkey o chiavi di sicurezza](#passkeys-security-keys-for-iam-users) per la massima protezione. Se non sei ancora in grado di utilizzare le passkey o le chiavi di sicurezza, ti consigliamo di utilizzare un dispositivo MFA virtuale come misura provvisoria in attesa dell'approvazione dell'acquisto dell'hardware o mentre aspetti che arrivi l'hardware. Per un elenco di alcune delle app supportate che puoi utilizzare come dispositivi MFA virtuali, consulta la pagina [Autenticazione a più fattori (MFA)](https://aws.amazon.com/iam/features/mfa/?audit=2019q1).

Per istruzioni sulla configurazione di un dispositivo MFA virtuale per un utente IAM, consulta [Assegna un dispositivo MFA virtuale nel Console di gestione AWS](id_credentials_mfa_enable_virtual.md).

**Nota**  
I dispositivi MFA virtuali non assegnati vengono eliminati quando aggiungi nuovi dispositivi MFA virtuali tramite o durante Console di gestione AWS la procedura di accesso. Account AWS I dispositivi MFA virtuali non assegnati sono dispositivi presenti nell’account ma non utilizzati dall’utente root dell’account o dagli utenti IAM per il processo di accesso. Vengono eliminati in modo da poter aggiungere nuovi dispositivi MFA virtuali al tuo account. Questo consente anche di riutilizzare i nomi dei dispositivi.  
Per visualizzare i dispositivi MFA virtuali non assegnati nel tuo account, puoi utilizzare [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html) AWS CLI il comando [o](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) la chiamata API.
Per disattivare un dispositivo MFA virtuale, puoi utilizzare [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html) AWS CLI il comando [o](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) la chiamata API. Verrà annullata l’assegnazione del dispositivo.
Per collegare un dispositivo MFA virtuale non assegnato all' Account AWS utente root o agli utenti IAM, è necessario il codice di autenticazione generato dal dispositivo insieme al comando [o [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html)AWS CLI](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)alla chiamata API.

### Token TOTP hardware
<a name="hardware-totp-token-for-iam-users"></a>

Un dispositivo hardware che genera un codice numerico a sei cifre basato sull'algoritmo con [password monouso](https://datatracker.ietf.org/doc/html/rfc6238). L'utente deve immettere un codice valido dal dispositivo su una seconda pagina Web durante la procedura di accesso.

Questi token vengono utilizzati esclusivamente con. Account AWS Puoi utilizzare solo token con i loro token seed unici condivisi in modo sicuro. AWS I token seed sono chiavi segrete generate al momento della produzione dei token. I token acquistati da altre origini non funzioneranno con IAM. Per garantire la compatibilità, è necessario acquistare il dispositivo hardware MFA da uno dei seguenti link: [token OTP](https://www.amazon.com/SafeNet-IDProve-Time-based-6-Digit-Services/dp/B002CRN5X8) o [scheda video OTP](https://www.amazon.com/SafeNet-IDProve-Card-Amazon-Services/dp/B00J4NGUO4).
+ Ogni dispositivo MFA assegnato a un utente deve essere univoco. Per essere autenticati, gli utenti non possono digitare un codice generato dal dispositivo di un altro utente. Per informazioni sui dispositivi MFA hardware supportati, consulta [Autenticazione a più fattori (MFA)](https://aws.amazon.com/iam/features/mfa/?audit=2019q1).
+ Se desideri utilizzare un dispositivo MFA fisico, ti consigliamo di utilizzare le chiavi di sicurezza come alternativa ai dispositivi TOTP hardware. Le chiavi di sicurezza non richiedono batterie, sono resistenti al phishing e supportano più utenti su un singolo dispositivo.

Puoi abilitare una passkey o una chiave di sicurezza Console di gestione AWS solo dall'API, non dall' AWS CLI API. AWS Prima di abilitare una chiave di sicurezza, è necessario disporre di un accesso fisico al dispositivo.

Per le istruzioni di configurazione di un token TOTP hardware per un utente IAM, consulta [Assegna un token TOTP hardware nel Console di gestione AWS](id_credentials_mfa_enable_physical.md).

**Nota**  
**MFA basata su SMS** AWS : supporto terminato per l'abilitazione dell'autenticazione a più fattori (MFA) tramite SMS. Consigliamo ai clienti con utenti IAM che utilizzano la MFA basata su SMS di passare a uno dei seguenti metodi alternativi di autenticazione a più fattori: [passkey o chiave di sicurezza](id_credentials_mfa_enable_fido.md), [dispositivo MFA virtuale (basato su software)](id_credentials_mfa_enable_virtual.md) o [dispositivo MFA basato su hardware](id_credentials_mfa_enable_physical.md). Puoi identificare gli utenti nel tuo account con un dispositivo MFA SMS assegnato. Nella console IAM, seleziona **Utenti** dal pannello di navigazione e cerca gli utenti con l'opzione **SMS** nella colonna **MFA** della tabella.

## Suggerimenti per MFA
<a name="id_credentials_mfa-recommendations"></a>

Per proteggere le tue AWS identità, segui questi consigli per l'autenticazione MFA. 
+ Ti consigliamo di utilizzare MFA resistenti al phishing, [come passkey e chiavi di sicurezza, come](#passkeys-security-keys-for-iam-users) dispositivo MFA. Questi autenticatori basati su FIDO offrono la protezione più efficace contro attacchi come il phishing.
+ Ti consigliamo di abilitare più dispositivi MFA per gli utenti IAM del Utente root dell'account AWS tuo. Account AWS In questo modo puoi alzare il livello di sicurezza del tuo sistema Account AWS e semplificare la gestione dell'accesso a utenti con privilegi elevati, come. Utente root dell'account AWS
+ Puoi registrare fino a **otto** dispositivi MFA di qualsiasi combinazione dei [tipi di MFA attualmente supportati](https://aws.amazon.com/iam/features/mfa/) con i tuoi Utente root dell'account AWS utenti e IAM. Con più dispositivi MFA, è sufficiente un solo dispositivo MFA per accedere Console di gestione AWS o creare una sessione tramite l' AWS CLI as quell'utente. Per abilitare o disabilitare un dispositivo MFA aggiuntivo, un utente IAM deve prima autenticarsi con un dispositivo MFA esistente.
+ In caso di smarrimento, furto o inaccessibilità di un dispositivo MFA, è possibile utilizzare uno dei dispositivi MFA rimanenti per accedervi senza eseguire la Account AWS procedura di ripristino. Account AWS In caso di smarrimento o furto di un dispositivo MFA, consigliamo di dissociare il dispositivo dal principale IAM a cui era associato.
+ L'uso di più dispositivi MFAs consente ai dipendenti che si trovano in località geograficamente disperse o che lavorano in remoto di utilizzare l'MFA basata su hardware per accedere AWS senza dover coordinare lo scambio fisico di un singolo dispositivo hardware tra i dipendenti.
+ L'uso di dispositivi MFA aggiuntivi per i principali IAM consente di utilizzarne uno o più MFAs per l'uso quotidiano, mantenendo allo stesso tempo i dispositivi MFA fisici in un luogo fisico sicuro come un deposito o sicuro per il backup e la ridondanza.

**Note**  
Non è possibile passare le informazioni MFA per una chiave di sicurezza o una passkey alle operazioni AWS STS API per richiedere credenziali temporanee. È possibile ottenere credenziali da utilizzare con AWS CLI e AWS SDKs quando si utilizza una chiave di sicurezza o una passkey eseguendo il comando. `aws login`
Non è possibile utilizzare AWS CLI comandi o operazioni AWS API per abilitare le chiavi di sicurezza [FIDO](id_credentials_mfa_enable_fido.md).
Non puoi utilizzare lo stesso nome per più di un utente root o dispositivo MFA IAM.

## Risorse aggiuntive
<a name="id_credentials_mfa-resources"></a>

Le seguenti risorse possono rivelarsi utili per saperne di più sull’MFA.
+ Per ulteriori informazioni sull'utilizzo della tecnologia MFA per l'accesso AWS, vedere. [Accesso abilitato con MFA](console_sign-in-mfa.md)
+  Puoi sfruttare IAM Identity Center per abilitare l'accesso MFA sicuro al AWS tuo portale di accesso, alle app integrate di IAM Identity Center e al. AWS CLI Per ulteriori informazioni, consulta [Abilitare l'MFA nel Centro identità IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/mfa-getting-started.html).

# Assegna una passkey o una chiave di sicurezza nel Console di gestione AWS
<a name="id_credentials_mfa_enable_fido"></a>

Le passkey sono un tipo di [dispositivo di autenticazione a più fattori (MFA)](id_credentials_mfa.md) che puoi utilizzare per proteggere le tue risorse. AWS AWS supporta passkey sincronizzate e passkey legate al dispositivo, note anche come chiavi di sicurezza. 

Le passkey sincronizzate consentono agli utenti IAM di accedere alle proprie credenziali di accesso FIDO su molti dei loro dispositivi, anche su quelli nuovi, senza dover registrare nuovamente tutti i dispositivi su ogni account. Le passkey sincronizzate includono gestori di credenziali proprietari come Google, Apple e Microsoft e gestori di credenziali di terze parti come 1Password, Dashlane e Bitwarden come secondo fattore. Puoi anche utilizzare la biometria sul dispositivo (ad esempio, TouchID, FaceID) per sbloccare il gestore di credenziali scelto per utilizzare le passkey. 

In alternativa, le passkey collegate al dispositivo sono associate a una chiave di sicurezza FIDO da collegare a una porta USB del computer e quindi toccare quando richiesto per completare in modo sicuro la procedura di accesso. Se utilizzi già una chiave di sicurezza FIDO con altri servizi e questa ha una [configurazione AWS supportata](id_credentials_mfa_fido_supported_configurations.md) (ad esempio, la serie YubiKey 5 di Yubico), puoi utilizzarla anche con. AWS Altrimenti, è necessario acquistare una chiave di sicurezza FIDO se si desidera utilizzarla WebAuthn per l' AWS MFA in. Inoltre, le chiavi di sicurezza FIDO possono supportare più utenti IAM o root sullo stesso dispositivo, migliorandone l'utilità per la sicurezza degli account. Per specifiche e informazioni sull'acquisto per entrambi i tipi di dispositivo, consulta [Multi-Factor Authentication](https://aws.amazon.com/iam/details/mfa/).

Puoi registrare fino a **otto** dispositivi MFA di qualsiasi combinazione dei [tipi di MFA attualmente supportati](https://aws.amazon.com/iam/features/mfa/) con i tuoi Utente root dell'account AWS utenti e IAM. Con più dispositivi MFA, è sufficiente un solo dispositivo MFA per accedere Console di gestione AWS o creare una sessione tramite l' AWS CLI as quell'utente. Consigliamo di registrare più dispositivi MFA. Ad esempio, è possibile registrare un autenticatore integrato e anche una chiave di sicurezza da conservare in un luogo fisicamente sicuro. Se è impossibile utilizzare l'autenticatore integrato, si può utilizzare la chiave di sicurezza registrata. Per le applicazioni di autenticazione, consigliamo inoltre di abilitare le funzionalità di backup o sincronizzazione su cloud in tali app per evitare di perdere l'accesso all'account in caso di smarrimento o guasto del dispositivo che dispone delle app di autenticazione.

**Nota**  
Consigliamo di richiedere agli utenti di utilizzare credenziali temporanee per l'accesso a AWS. I tuoi utenti possono unirsi AWS a un provider di identità dove si autenticano con le credenziali aziendali e le configurazioni MFA. Per gestire l'accesso AWS e le applicazioni aziendali, ti consigliamo di utilizzare IAM Identity Center. Per ulteriori informazioni, consulta la [Guida per l'utente del Centro identità IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html). 

**Topics**
+ [Autorizzazioni richieste](#enable-fido-mfa-for-iam-user-permissions-required)
+ [Abilitare una passkey o una chiave di sicurezza per il proprio utente IAM (console)](#enable-fido-mfa-for-own-iam-user)
+ [Abilitare una passkey o una chiave di sicurezza per un altro utente IAM (console)](#enable-fido-mfa-for-iam-user)
+ [Sostituire una passkey o una chiave di sicurezza](#replace-fido-mfa)
+ [Configurazioni supportate per l'uso delle passkey e delle chiavi di sicurezza](id_credentials_mfa_fido_supported_configurations.md)

## Autorizzazioni richieste
<a name="enable-fido-mfa-for-iam-user-permissions-required"></a>

Per gestire una passkey FIDO per il proprio utente IAM proteggendo le operazioni sensibili correlate all'MFA, devi disporre delle autorizzazioni concesse dalla policy seguente:

**Nota**  
I valori dell'ARN sono valori statici e non sono un indicatore del protocollo utilizzato per registrare l'autenticatore. U2F è obsoleto, quindi tutte le nuove implementazioni lo utilizzano. WebAuthn

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Abilitare una passkey o una chiave di sicurezza per il proprio utente IAM (console)
<a name="enable-fido-mfa-for-own-iam-user"></a>

Puoi abilitare una passkey o una chiave di sicurezza per il tuo utente IAM Console di gestione AWS solo dall'API o, non dall'API. AWS CLI AWS Prima di abilitare una chiave di sicurezza, è necessario disporre di un accesso fisico al dispositivo.

**Per abilitare una passkey o una chiave di sicurezza per il proprio utente IAM (console)**

1. Usa l' AWS ID o l'alias dell'account, il nome utente IAM e la password per accedere alla console [IAM](https://console.aws.amazon.com/iam).
**Nota**  
Per comodità, la pagina di AWS accesso utilizza un cookie del browser per ricordare il nome utente IAM e le informazioni sull'account. Se in precedenza è stato eseguito l'accesso con un utente diverso, scegli il link **Accedi a un account differente** nella parte inferiore della pagina per ritornare alla pagina principale di accesso. Da lì, puoi digitare l'ID o l'alias dell'account per essere reindirizzato alla pagina di accesso utente IAM relativa al tuo AWS account.

   Per ottenere il tuo Account AWS ID, contatta l'amministratore.

1. Seleziona il nome utente in alto a destra nella barra di navigazione e scegli **Security credentials** (Credenziali di sicurezza).   
![\[Console di gestione AWS Link alle credenziali di sicurezza\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Nella pagina dell'utente IAM selezionato, scegli la scheda **Credenziali di sicurezza**.

1. Nella sezione **Autenticazione a più fattori (MFA)**, scegliere **Assegna dispositivo MFA**.

1. Nella pagina **Nome del dispositivo MFA**, inserisci un **nome per il dispositivo**, scegli **Passkey o chiave di sicurezza**, quindi scegli **Avanti**.

1. In **Configura dispositivo**, configura la tua passkey. Crea una passkey con dati biometrici come il viso o l'impronta digitale, con un pin del dispositivo oppure inserendo la chiave di sicurezza FIDO nella porta USB del computer e toccandola.

1. Segui le istruzioni sul tuo browser e poi scegli **Continua**.

Ora hai registrato la tua passkey o la chiave di sicurezza per utilizzarla con. AWS Per informazioni sull'utilizzo della tecnologia MFA con Console di gestione AWS, vedere. [Accesso abilitato con MFA](console_sign-in-mfa.md) 

## Abilitare una passkey o una chiave di sicurezza per un altro utente IAM (console)
<a name="enable-fido-mfa-for-iam-user"></a>

Puoi abilitare una passkey o una sicurezza per un altro utente IAM Console di gestione AWS solo dall'API AWS CLI o AWS , non dall'API.

**Per abilitare una passkey o una chiave di sicurezza per un altro utente IAM (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Utenti**.

1. In **Utenti**, scegli il nome dell'utente per il quale desideri abilitare l'MFA.

1. Nella pagina dell'utente IAM selezionato, scegli la scheda **Credenziali di sicurezza**. 

1. Nella sezione **Autenticazione a più fattori (MFA)**, scegliere **Assegna dispositivo MFA**.

1. Nella pagina **Nome del dispositivo MFA**, inserisci un **nome per il dispositivo**, scegli **Passkey o chiave di sicurezza**, quindi scegli **Avanti**.

1. In **Configura dispositivo**, configura la tua passkey. Crea una passkey con dati biometrici come il viso o l'impronta digitale, con un pin del dispositivo oppure inserendo la chiave di sicurezza FIDO nella porta USB del computer e toccandola.

1. Segui le istruzioni sul tuo browser e poi scegli **Continua**.

Ora hai registrato una passkey o una chiave di sicurezza per un altro utente IAM da utilizzare con AWS. Per informazioni sull'utilizzo della tecnologia MFA con Console di gestione AWS, vedere. [Accesso abilitato con MFA](console_sign-in-mfa.md)

## Sostituire una passkey o una chiave di sicurezza
<a name="replace-fido-mfa"></a>

Puoi avere fino a otto dispositivi MFA di qualsiasi combinazione dei [tipi di MFA attualmente supportati](https://aws.amazon.com/iam/features/mfa/) assegnati a un utente alla volta con i tuoi Utente root dell'account AWS utenti e IAM. Se l'utente dovesse perdere l'autenticatore FIDO o in caso di sostituzione, dovrai prima disattivare il vecchio autenticatore FIDO. e quindi aggiungere un nuovo dispositivo MFA.
+ Per disattivare il dispositivo correntemente associato a un utente IAM, consulta [Disattivare un dispositivo MFA](id_credentials_mfa_disable.md).
+ Per aggiungere una nuova chiave di sicurezza FIDO per un utente IAM, consulta la sezione [Abilitare una passkey o una chiave di sicurezza per il proprio utente IAM (console)](#enable-fido-mfa-for-own-iam-user).

Se non hai accesso a una nuova passkey o a una chiave di sicurezza, puoi abilitare un nuovo dispositivo MFA virtuale o un token TOTP hardware. Per istruzioni, consulta uno dei seguenti articoli:
+ [Assegna un dispositivo MFA virtuale nel Console di gestione AWS](id_credentials_mfa_enable_virtual.md) 
+ [Assegna un token TOTP hardware nel Console di gestione AWS](id_credentials_mfa_enable_physical.md) 

# Configurazioni supportate per l'uso delle passkey e delle chiavi di sicurezza
<a name="id_credentials_mfa_fido_supported_configurations"></a>

Puoi utilizzare passkey FIDO2 legate al dispositivo, note anche come chiavi di sicurezza, come metodo di autenticazione a più fattori (MFA) con IAM utilizzando le configurazioni attualmente supportate. Questi includono i FIDO2 dispositivi supportati da IAM e i browser che lo supportano. FIDO2 Prima di registrare il FIDO2 dispositivo, verifica di utilizzare la versione più recente del browser e del sistema operativo (OS). Le funzionalità possono comportarsi in modo diverso tra browser, autenticatori e client del sistema operativo. Se la registrazione del dispositivo non riesce su un browser, puoi provare a registrarti con un altro browser. 

FIDO2 è uno standard di autenticazione aperto e un'estensione di FIDO U2F, che offre lo stesso elevato livello di sicurezza basato sulla crittografia a chiave pubblica. FIDO2 è costituito dalla specifica di autenticazione Web (WebAuthn API) del W3C e dal FIDO Alliance Client-to-Authenticator Protocol (CTAP), un protocollo a livello di applicazione. CTAP consente la comunicazione tra client o piattaforma, come un browser o un sistema operativo, con un autenticatore esterno. Quando abiliti un autenticatore certificato FIDO AWS, la chiave di sicurezza crea una nuova coppia di chiavi da utilizzare solo con. AWS In primo luogo, è necessario immettere le credenziali. Quando richiesto, tocca la chiave di sicurezza, che risponde alla richiesta di autenticazione emessa da AWS. [Per saperne di più sullo FIDO2 standard, consulta il Progetto. FIDO2](https://en.wikipedia.org/wiki/FIDO2_Project)

## FIDO2 dispositivi supportati da AWS
<a name="id_credentials_mfa_fido_supported_devices"></a>

IAM supporta i dispositivi di FIDO2 sicurezza che si connettono ai tuoi dispositivi tramite USB o NFC. Bluetooth IAM supporta anche gli autenticatori di piattaforma come TouchID o FaceID. IAM non supporta la registrazione locale delle passkey per Windows Hello. Per creare e utilizzare le passkey, gli utenti Windows devono utilizzare l'[autenticazione tra dispositivi](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda), che prevede l'utilizzo di una passkey di un dispositivo, ad esempio un dispositivo mobile, o di una chiave di sicurezza hardware per accedere su un altro dispositivo, ad esempio un laptop.

**Nota**  
AWS richiede l'accesso alla porta USB fisica del computer per verificare il FIDO2 dispositivo. Le chiavi di sicurezza non funzioneranno con una macchina virtuale, una connessione remota o la modalità in incognito di un browser.

FIDO Alliance mantiene un elenco di tutti i [FIDO2prodotti](https://fidoalliance.org/certification/fido-certified-products/) compatibili con le specifiche FIDO.

## Browser che supportano FIDO2
<a name="id_credentials_mfa_fido_browsers"></a>

La disponibilità dei dispositivi di FIDO2 sicurezza che funzionano in un browser Web dipende dalla combinazione di browser e sistema operativo. Al momento i seguenti browser supportano l'uso delle chiavi di sicurezza:


****  

| Browser | macOS 10.15\$1 | Windows 10 | Linux | iOS 14.5\$1 | Android 7\$1 | 
| --- | --- | --- | --- | --- | --- | 
| Chrome | Sì  | Sì | Sì | Sì | No | 
| Safari | Sì | No | No | Sì | No | 
| Edge | Sì | Sì | No | Sì | No | 
| Firefox | Sì  | Sì | No | Sì | No | 

**Nota**  
La maggior parte delle versioni di Firefox attualmente FIDO2 supportate non abilitano il supporto per impostazione predefinita. Per istruzioni su come abilitare FIDO2 il supporto in Firefox, consulta[Risoluzione dei problemi relativi alle passkey e alle chiavi di sicurezza FIDO](troubleshoot_mfa-fido.md).  
Firefox su macOS potrebbe non supportare completamente i flussi di lavoro di autenticazione tra dispositivi per le passkey. È possibile che venga richiesto di toccare una chiave di sicurezza invece di procedere con l'autenticazione tra dispositivi. Per accedere con passkey su macOS, consigliamo di utilizzare un browser diverso, come Chrome o Safari.

Per ulteriori informazioni sul supporto dei browser per un dispositivo FIDO2 certificato, ad esempio YubiKey, vedi [Supporto del sistema operativo e del browser web per FIDO2 U2F](https://support.yubico.com/hc/en-us/articles/360016615020-Operating-system-and-web-browser-support-for-FIDO2-and-U2F).

### Plug-in del browser
<a name="id_credentials_mfa_fido_plugins"></a>

AWS supporta solo i browser che supportano nativamente. FIDO2 AWS non supporta l'utilizzo di plugin per aggiungere il supporto al FIDO2 browser. Alcuni plugin del browser sono incompatibili con lo FIDO2 standard e possono causare risultati imprevisti con FIDO2 le chiavi di sicurezza. 

Per informazioni su come disabilitare i plug-in del browser e altri suggerimenti per la risoluzione dei problemi, consulta [Non riesco ad abilitare la chiave di sicurezza FIDO](troubleshoot_mfa-fido.md#troubleshoot_mfa-fido-cant-enable). 

## Certificazioni dei dispositivi
<a name="id_credentials_mfa_fido_certifications"></a>

Acquisiamo e assegniamo le certificazioni relative ai dispositivi, come la convalida FIPS e il livello di certificazione FIDO, solo durante la registrazione di una chiave di sicurezza. La certificazione del dispositivo viene recuperata dal [FIDO Alliance Metadata Service (MDS)](https://fidoalliance.org/metadata/). Se lo stato o il livello di certificazione della chiave di sicurezza cambia, ciò non si rifletterà automaticamente nei tag del dispositivo. Per aggiornare le informazioni di certificazione di un dispositivo, è necessario registrarlo nuovamente per recuperare le informazioni di certificazione aggiornate. 

AWS fornisce i seguenti tipi di certificazione come chiavi di condizione durante la registrazione del dispositivo, ottenute da FIDO MDS: livelli di certificazione FIDO, FIPS-140-2 e FIPS-140-3. Hai la possibilità di specificare la registrazione di autenticatori specifici nelle loro policy IAM, in base al tipo e al livello di certificazione che preferisci. Per ulteriori informazioni, consulta le policy seguenti.

### Policy di esempio per le certificazioni dei dispositivi
<a name="id_credentials_mfa_fido_certifications_policies"></a>

I seguenti casi d'uso mostrano policy di esempio che consentono di registrare i dispositivi MFA con certificazioni FIPS.

**Topics**
+ [Caso d'uso 1: consentire la registrazione di dispositivi con certificazioni FIPS-140-2 L2](#id_credentials_mfa_fido_certifications_policies_use_case_1)
+ [Caso d'uso 2: consentire la registrazione di dispositivi con certificazioni FIPS-140-2 L2 o FIDO L1](#id_credentials_mfa_fido_certifications_policies_use_case_2)
+ [Caso d'uso 3: consentire la registrazione di dispositivi con certificazioni FIPS-140-2 L2 o FIPS-140-3 L2](#id_credentials_mfa_fido_certifications_policies_use_case_3)
+ [Caso d'uso 4: consenti la registrazione di dispositivi con certificazione FIPS-140-2 L2 e che supportano altri tipi di autenticazione a più fattori, come autenticatori virtuali e hardware TOTP](#id_credentials_mfa_fido_certifications_policies_use_case_4)

#### Caso d'uso 1: consentire la registrazione di dispositivi con certificazioni FIPS-140-2 L2
<a name="id_credentials_mfa_fido_certifications_policies_use_case_1"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### Caso d'uso 2: consentire la registrazione di dispositivi con certificazioni FIPS-140-2 L2 o FIDO L1
<a name="id_credentials_mfa_fido_certifications_policies_use_case_2"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2",
                    "iam:FIDO-certification": "L1"
                }
            }
        }
    ]
}
```

------

#### Caso d'uso 3: consentire la registrazione di dispositivi con certificazioni FIPS-140-2 L2 o FIPS-140-3 L2
<a name="id_credentials_mfa_fido_certifications_policies_use_case_3"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-3-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### Caso d'uso 4: consenti la registrazione di dispositivi con certificazione FIPS-140-2 L2 e che supportano altri tipi di autenticazione a più fattori, come autenticatori virtuali e hardware TOTP
<a name="id_credentials_mfa_fido_certifications_policies_use_case_4"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Create"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Activate",
          "iam:FIDO-FIPS-140-2-certification": "L2"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "Null": {
          "iam:RegisterSecurityKey": "true"
        }
      }
    }
  ]
}
```

------

## AWS CLI e API AWS
<a name="id_credentials_mfa_fido_cliapi"></a>

AWS supporta l'utilizzo di chiavi di accesso e chiavi di sicurezza solo in. Console di gestione AWS L'utilizzo delle passkey e delle chiavi di sicurezza per MFA non è supportato nella [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/) e nell'[API AWS](https://aws.amazon.com/tools/) o per l'accesso alle [operazioni API protette da MFA](id_credentials_mfa_configure-api-require.md).

## Risorse aggiuntive
<a name="id_credentials_mfa_fido_additional_resources"></a>
+ Per ulteriori informazioni sull'utilizzo delle chiavi di accesso e delle chiavi di sicurezza in AWS, vedere. [Assegna una passkey o una chiave di sicurezza nel Console di gestione AWS](id_credentials_mfa_enable_fido.md)
+ Per informazioni sulla risoluzione dei problemi relativi alle passkey e alle chiavi di sicurezza in AWS, vedere. [Risoluzione dei problemi relativi alle passkey e alle chiavi di sicurezza FIDO](troubleshoot_mfa-fido.md)
+ Per informazioni generali sul settore dell' FIDO2 assistenza, consulta [FIDO2 Project](https://en.wikipedia.org/wiki/FIDO2_Project). 

# Assegna un dispositivo MFA virtuale nel Console di gestione AWS
<a name="id_credentials_mfa_enable_virtual"></a>

**Importante**  
AWS consiglia di utilizzare una passkey o una chiave di sicurezza per l'MFA AWS, ove possibile. Per ulteriori informazioni, consulta [Assegna una passkey o una chiave di sicurezza nel Console di gestione AWS](id_credentials_mfa_enable_fido.md).

Puoi utilizzare un telefono o un altro dispositivo come dispositivo di autenticazione a più fattori (MFA) virtuale. A tale scopo, installa un'app mobile conforme a [RFC 6238, un algoritmo TOTP (password monouso temporanea) basato su standard](https://datatracker.ietf.org/doc/html/rfc6238). Queste app generano un codice di autenticazione a sei cifre. Poiché gli autenticatori possono funzionare su dispositivi mobili non protetti e i codici potrebbero essere potenzialmente condivisi con parti non autorizzate, l'MFA basata su TOTP non offre lo stesso livello di sicurezza delle opzioni resistenti al phishing come chiavi di sicurezza e passkey. [FIDO2](https://en.wikipedia.org/wiki/FIDO_Alliance#FIDO2) Ti consigliamo di utilizzare passkey o chiavi di sicurezza per l'MFA per la massima protezione da attacchi come il phishing.

Se non sei ancora in grado di utilizzare passkey o chiavi di sicurezza, ti consigliamo di utilizzare un dispositivo MFA virtuale come misura provvisoria in attesa dell'approvazione dell'acquisto di hardware o dell'arrivo dell'hardware.

La maggior parte delle app MFA virtuali supporta la creazione di più dispositivi virtuali, consentendoti di utilizzare la stessa app per più utenti Account AWS . Puoi registrare fino a **otto** dispositivi MFA di qualsiasi combinazione di [tipi MFA](https://aws.amazon.com/iam/features/mfa/) con i tuoi Utente root dell'account AWS utenti e quelli di IAM. È necessario un solo dispositivo MFA per accedere Console di gestione AWS o creare una sessione tramite. AWS CLI Consigliamo di registrare più dispositivi MFA. Per le applicazioni di autenticazione, consigliamo inoltre di abilitare le funzionalità di backup o sincronizzazione su cloud per evitare di perdere l'accesso all'account in caso di smarrimento o guasto del dispositivo che dispone delle app di autenticazione.

AWS richiede un'app MFA virtuale che produca una OTP a sei cifre. Per un elenco delle app MFA virtuali che è possibile utilizzare, consulta [Multi-Factor Authentication](https://aws.amazon.com/iam/features/mfa/?audit=2019q1). 

**Topics**
+ [Autorizzazioni richieste](#mfa_enable_virtual_permissions-required)
+ [Abilitazione di un dispositivo MFA virtuale per un utente IAM (console)](#enable-virt-mfa-for-iam-user)
+ [Sostituzione di un dispositivo MFA virtuale](#replace-virt-mfa)

## Autorizzazioni richieste
<a name="mfa_enable_virtual_permissions-required"></a>

Per gestire i dispositivi MFA virtuali per l'utente IAM, è necessario disporre delle autorizzazioni dalla policy seguente: [AWS: consente agli utenti IAM autenticati con MFA di gestire il proprio dispositivo MFA nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md).

## Abilitazione di un dispositivo MFA virtuale per un utente IAM (console)
<a name="enable-virt-mfa-for-iam-user"></a>

Puoi utilizzare IAM Console di gestione AWS per abilitare e gestire un dispositivo MFA virtuale per un utente IAM nel tuo account. È possibile collegare tag alle risorse IAM, inclusi i dispositivi MFA virtuali, per identificare, organizzare e controllare l'accesso a tali risorse. È possibile etichettare i dispositivi MFA virtuali solo quando si utilizza l'API AWS CLI o AWS . Per abilitare e gestire un dispositivo MFA utilizzando l' AWS API AWS CLI or, vedere. [Assegna dispositivi MFA nell' AWS CLI API o AWS](id_credentials_mfa_enable_cliapi.md) Per ulteriori informazioni sul tagging delle risorse IAM, consulta [Tag per AWS Identity and Access Management le risorse](id_tags.md). 

**Nota**  
È necessario avere l'accesso fisico all'hardware che ospiterà il dispositivo MFA virtuale dell'utente per configurare MFA. Ad esempio, è possibile configurare MFA per un utente che utilizzerà un dispositivo MFA virtuale in esecuzione su uno smartphone. In questo caso, è necessario disporre di uno smartphone per completare la procedura guidata. Per questo motivo, è possibile consentire agli utenti di configurare e gestire i propri dispositivi MFA virtuali. In questo caso è necessario concedere agli utenti le autorizzazioni per eseguire le necessarie operazioni IAM. Per ulteriori informazioni e per un esempio di una policy IAM che concede queste autorizzazioni, consulta [Tutorial IAM: consentire agli utenti di gestire le proprie credenziali e impostazioni MFA](tutorial_users-self-manage-mfa-and-creds.md) e la policy di esempio [AWS: consente agli utenti IAM autenticati con MFA di gestire il proprio dispositivo MFA nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md). 

**Come abilitare un dispositivo MFA virtuale per un utente IAM (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Utenti**.

1. Nell'elenco degli **Utenti**, seleziona il nome dell'utente IAM.

1. Seleziona la scheda **Credenziali di sicurezza**. Nella sezione **Autenticazione a più fattori (MFA)**, scegliere **Assegna dispositivo MFA**.

1. Nella procedura guidata, digita un **nome per il dispositivo**, scegli l'**app Authenticator** e quindi scegli **Next** (Avanti).

   IAM genera e visualizza le informazioni di configurazione per il dispositivo MFA virtuale, tra cui il codice grafico QR. Il grafico è una rappresentazione della "chiave di configurazione segreta" disponibile per l'inserimento manuale sui dispositivi che non supportano i codici QR.

1. Aprire l'app MFA virtuale. Per un elenco delle app che è possibile utilizzare per ospitare i dispositivi MFA virtuali, consultare la pagina [Autenticazione a più fattori](https://aws.amazon.com/iam/details/mfa/). 

   Se l'app MFA virtuale supporta più account o dispositivi MFA virtuali, selezionare l'opzione che consente di creare un nuovo account o dispositivo MFA virtuale.

1. Determinare se l'app MFA supporta i codici QR e procedere in uno dei seguenti modi:
   + Nella procedura guidata, scegliere **Mostra codice QR** ed eseguire la scansione del codice QR tramite l'app. Potrebbe trattarsi dell'icona della fotocamera o dell'opzione **Scannerizza codice** che utilizza la fotocamera del dispositivo per eseguire la scansione del codice.
   + Nella procedura guidata, scegli **Show secret key** (Mostra chiave segreta) e digitare la chiave segreta nell'app MFA.

   Al termine, il dispositivo MFA virtuale avvia la generazione di password una tantum. 

1. Nella pagina **Set up device** (Configura il dispositivo), nella casella **MFA code 1** (Codice MFA 1), digita la password monouso correntemente visualizzata nel dispositivo MFA virtuale. Attendere fino a un massimo di 30 secondi prima che il dispositivo generi una nuova password una tantum. Quindi, digitare la seconda password monouso nella casella **Codice MFA 2**. Scegli **Aggiungi MFA**. 
**Importante**  
Inviare la richiesta immediatamente dopo la generazione dei codici. Se si generano i codici e si attende troppo a lungo per inviare la richiesta, il dispositivo MFA si associa correttamente con l'utente ma il dispositivo MFA non viene sincronizzato. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo. Se ciò accade, è possibile [sincronizzare nuovamente il dispositivo](id_credentials_mfa_sync.md).

Il dispositivo MFA virtuale è ora pronto per l'uso con. AWS Per informazioni sull'utilizzo della tecnologia MFA con Console di gestione AWS, vedere. [Accesso abilitato con MFA](console_sign-in-mfa.md)

**Nota**  
I dispositivi MFA virtuali non assegnati nel Account AWS tuo vengono eliminati quando aggiungi nuovi dispositivi MFA virtuali tramite o durante Console di gestione AWS la procedura di accesso. I dispositivi MFA virtuali non assegnati sono dispositivi presenti nell’account ma non utilizzati dall’utente root dell’account o dagli utenti IAM per il processo di accesso. Vengono eliminati in modo da poter aggiungere nuovi dispositivi MFA virtuali al tuo account. Questo consente anche di riutilizzare i nomi dei dispositivi.  
Per visualizzare i dispositivi MFA virtuali non assegnati nel tuo account, puoi utilizzare [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html) AWS CLI il comando [o](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) la chiamata API.
Per disattivare un dispositivo MFA virtuale, puoi utilizzare [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html) AWS CLI il comando [o](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) la chiamata API. Verrà annullata l’assegnazione del dispositivo.
Per collegare un dispositivo MFA virtuale non assegnato all' Account AWS utente root o agli utenti IAM, è necessario il codice di autenticazione generato dal dispositivo insieme al comando [o [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html)AWS CLI](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)alla chiamata API.

## Sostituzione di un dispositivo MFA virtuale
<a name="replace-virt-mfa"></a>

Tu Utente root dell'account AWS e gli utenti IAM potete registrare fino a **otto** dispositivi MFA di qualsiasi combinazione di tipi di MFA. Se l'utente dovesse perdere il proprio dispositivo o in caso di sostituzione, dovrai disattivare il vecchio dispositivo. e quindi aggiungere quello nuovo.
+ Per disattivare il dispositivo correntemente associato a un altro utente IAM, consulta [Disattivare un dispositivo MFA](id_credentials_mfa_disable.md).
+ Per aggiungere un dispositivo MFA virtuale sostitutivo per un altro utente IAM, segui la procedura [Abilitazione di un dispositivo MFA virtuale per un utente IAM (console)](#enable-virt-mfa-for-iam-user) descritta sopra.
+ Per aggiungere un dispositivo MFA virtuale sostitutivo per Utente root dell'account AWS, segui i passaggi della procedura. [Abilitare un dispositivo MFA virtuale per l'utente root (console)](enable-virt-mfa-for-root.md)

# Assegna un token TOTP hardware nel Console di gestione AWS
<a name="id_credentials_mfa_enable_physical"></a>

**Importante**  
AWS consiglia di utilizzare una passkey o una chiave di sicurezza per l'MFA AWS, ove possibile. Per ulteriori informazioni, consulta [Assegna una passkey o una chiave di sicurezza nel Console di gestione AWS](id_credentials_mfa_enable_fido.md).

Un dispositivo MFA hardware genera un codice numerico di sei cifre basato su un algoritmo di password monouso sincronizzato nel tempo. L'utente deve immettere un codice valido dal dispositivo quando richiesto durante la procedura di accesso. Ogni dispositivo MFA assegnato a un utente deve essere univoco; un utente non può immettere un codice dal dispositivo di un altro utente per effettuare l'autenticazione. I dispositivi MFA non possono essere condivisi tra account o utenti.

I dispositivi MFA hardware e le [chiavi di sicurezza FIDO](id_credentials_mfa_enable_fido.md) sono entrambi dispositivi fisici che si acquistano. I dispositivi hardware MFA generano codici TOTP per l'autenticazione quando accedi a. AWS Si basano sulle batterie, che potrebbero richiedere la sostituzione e la risincronizzazione nel tempo. AWS Le chiavi di sicurezza FIDO, che utilizzano la crittografia a chiave pubblica, non richiedono batterie e offrono un processo di autenticazione senza interruzioni. Consigliamo di utilizzare le chiavi di sicurezza FIDO per la loro resistenza al phishing e perché forniscono un'alternativa più sicura ai dispositivi TOTP. Inoltre, le chiavi di sicurezza FIDO possono supportare più utenti IAM o root sullo stesso dispositivo, migliorandone l'utilità per la sicurezza degli account. Per specifiche e informazioni sull'acquisto per entrambi i tipi di dispositivo, consulta [Multi-Factor Authentication](https://aws.amazon.com/iam/details/mfa/).



Puoi abilitare un token TOTP hardware per un utente IAM dalla Console di gestione AWS riga di comando o dall'API IAM. Per abilitare un dispositivo MFA per il tuo Utente root dell'account AWS, consulta. [Abilitazione di un token TOTP hardware per l'utente root dell' (console)](enable-hw-mfa-for-root.md)

Puoi registrare fino a **otto** dispositivi MFA di qualsiasi combinazione dei [tipi di MFA attualmente supportati](https://aws.amazon.com/iam/features/mfa/) con i tuoi Utente root dell'account AWS utenti e IAM. Con più dispositivi MFA, è sufficiente un solo dispositivo MFA per accedere Console di gestione AWS o creare una sessione tramite l' AWS CLI as quell'utente.

**Importante**  
Ti consigliamo di abilitare più dispositivi MFA per gli utenti in modo da garantire l'accesso continuo al tuo account in caso di smarrimento del dispositivo MFA o se diventa inaccessibile.

**Nota**  
Per abilitare il dispositivo MFA dalla riga di comando, utilizzare [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html). Per abilitare il dispositivo MFA con l'API IAM, utilizza l'operazione [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html). 

**Topics**
+ [Autorizzazioni richieste](#enable-hw-mfa-for-iam-user-permissions-required)
+ [Abilitazione di un dispositivo MFA hardware per un utente IAM (console)](#enable-hw-mfa-for-own-iam-user)
+ [Abilitazione di un dispositivo MFA hardware per un altro utente IAM (console)](#enable-hw-mfa-for-iam-user)
+ [Sostituzione di un dispositivo MFA fisico](#replace-phys-mfa)

## Autorizzazioni richieste
<a name="enable-hw-mfa-for-iam-user-permissions-required"></a>

Per gestire un dispositivo MFA hardware per il proprio utente IAM proteggendo le operazioni sensibili correlate a MFA, è necessario disporre delle autorizzazioni dalla policy seguente:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Abilitazione di un dispositivo MFA hardware per un utente IAM (console)
<a name="enable-hw-mfa-for-own-iam-user"></a>

 È possibile abilitare il proprio dispositivo MFA hardware tramite Console di gestione AWS.

**Nota**  
Prima di abilitare un dispositivo MFA hardware è necessario disporre di accesso fisico al dispositivo.

**Come abilitare un dispositivo MFA hardware per un utente IAM (console)**

1. [Utilizza l'ID o l'alias dell'account, il nome utente IAM e la password per accedere alla console IAM. AWS](https://console.aws.amazon.com/iam)
**Nota**  
Per comodità, la pagina di AWS accesso utilizza un cookie del browser per ricordare il nome utente IAM e le informazioni sull'account. Se in precedenza è stato eseguito l'accesso con un utente diverso, scegli il link **Accedi a un account differente** nella parte inferiore della pagina per ritornare alla pagina principale di accesso. Da lì, puoi digitare l'ID o l'alias dell'account per essere reindirizzato alla pagina di accesso utente IAM relativa al tuo AWS account.

   Per ottenere il tuo Account AWS ID, contatta l'amministratore.

1. Seleziona il nome utente in alto a destra nella barra di navigazione e scegli **Security credentials** (Credenziali di sicurezza).   
![\[Console di gestione AWS Link alle credenziali di sicurezza\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Nella scheda **Credenziali AWS IAM**, nella sezione **Autenticazione a più fattori**, seleziona **Gestione dispositivo MFA**.

1. Nella procedura guidata, digitate il **nome del dispositivo**, scegliete il **token Hardware TOTP** e quindi scegliete **Avanti**.

1. Digitare il numero di serie del dispositivo. In genere, il numero di serie è indicato sulla parte posteriore del dispositivo.

1. Nella casella **MFA code 1 (Codice MFA 1)** digitare il numero di sei cifre visualizzato nel dispositivo MFA. Per visualizzare il numero, potrebbe essere necessario premere il pulsante sul lato anteriore del dispositivo.  
![\[Pannello di controllo IAM - Dispositivo MFA\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/MFADevice.png)

1. Attendere 30 secondi per consentire al dispositivo di aggiornare il codice, quindi digitare il nuovo numero a sei cifre nella casella **MFA code 2 (Codice MFA 2)**. Per visualizzare il secondo numero, potrebbe essere necessario premere nuovamente il pulsante sul lato anteriore del dispositivo.

1. Scegli **Aggiungi MFA**.
**Importante**  
La richiesta deve essere inviata immediatamente dopo la generazione dei codici di autenticazione. Se dopo avere generato i codici attendi troppo a lungo prima di inviare la richiesta, il dispositivo MFA si associerà correttamente con l'utente, ma perderà la sincronizzazione. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo. Se ciò accade, è possibile [sincronizzare nuovamente il dispositivo](id_credentials_mfa_sync.md).

Il dispositivo è pronto per l'uso con AWS. Per ulteriori informazioni sull'utilizzo di MFA con la Console di gestione AWS, consulta [Accesso abilitato con MFA](console_sign-in-mfa.md).

## Abilitazione di un dispositivo MFA hardware per un altro utente IAM (console)
<a name="enable-hw-mfa-for-iam-user"></a>

 Puoi abilitare un dispositivo MFA hardware per un altro utente IAM dalla Console di gestione AWS.

**Come abilitare un dispositivo MFA hardware per un altro utente IAM (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Utenti**.

1. Scegli il nome del segreto per il quale desideri abilitare la rotazione.

1. Seleziona la scheda **Credenziali di sicurezza**. Nella sezione **Multi-Factor Authentication (MFA) (Autenticazione a più fattori)**, scegliere **Assign MFA device (Assegna dispositivo MFA)**.

1. Nella procedura guidata, digitate il **nome del dispositivo**, scegliete il **token Hardware TOTP** e quindi scegliete **Avanti**.

1. Digitare il numero di serie del dispositivo. In genere, il numero di serie è indicato sulla parte posteriore del dispositivo.

1. Nella casella **MFA code 1 (Codice MFA 1)** digitare il numero di sei cifre visualizzato nel dispositivo MFA. Per visualizzare il numero, potrebbe essere necessario premere il pulsante sul lato anteriore del dispositivo.  
![\[Pannello di controllo IAM - Dispositivo MFA\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/MFADevice.png)

1. Attendere 30 secondi per consentire al dispositivo di aggiornare il codice, quindi digitare il nuovo numero a sei cifre nella casella **MFA code 2 (Codice MFA 2)**. Per visualizzare il secondo numero, potrebbe essere necessario premere nuovamente il pulsante sul lato anteriore del dispositivo.

1. Scegli **Aggiungi MFA**.
**Importante**  
La richiesta deve essere inviata immediatamente dopo la generazione dei codici di autenticazione. Se dopo avere generato i codici attendi troppo a lungo prima di inviare la richiesta, il dispositivo MFA si associerà correttamente con l'utente, ma perderà la sincronizzazione. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo. Se ciò accade, è possibile [sincronizzare nuovamente il dispositivo](id_credentials_mfa_sync.md).

Il dispositivo è pronto per l'uso con AWS. Per ulteriori informazioni sull'utilizzo di MFA con la Console di gestione AWS, consulta [Accesso abilitato con MFA](console_sign-in-mfa.md).

## Sostituzione di un dispositivo MFA fisico
<a name="replace-phys-mfa"></a>

Puoi avere fino a otto dispositivi MFA di qualsiasi combinazione dei [tipi di MFA attualmente supportati](https://aws.amazon.com/iam/features/mfa/) assegnati a un utente alla volta con i tuoi Utente root dell'account AWS utenti e IAM. Se l'utente dovesse perdere il proprio dispositivo o in caso di sostituzione, dovrai disattivare il vecchio dispositivo e quindi aggiungere quello nuovo.
+ Per disattivare il dispositivo associato al momento con un utente, consultare [Disattivare un dispositivo MFA](id_credentials_mfa_disable.md).
+ Per aggiungere un dispositivo MFA hardware sostitutivo per un utente IAM, segui la procedura [Abilitazione di un dispositivo MFA hardware per un altro utente IAM (console)](#enable-hw-mfa-for-iam-user)descritta prima in questo argomento.
+ Per aggiungere un token TOTP hardware sostitutivo per Utente root dell'account AWS, segui i passaggi della procedura descritta in [Abilitazione di un token TOTP hardware per l'utente root dell' (console)](enable-hw-mfa-for-root.md) precedenza in questo argomento.

# Assegna dispositivi MFA nell' AWS CLI API o AWS
<a name="id_credentials_mfa_enable_cliapi"></a>

Puoi utilizzare AWS CLI comandi o operazioni AWS API per abilitare un dispositivo MFA virtuale per un utente IAM. Non è possibile abilitare un dispositivo MFA per il Utente root dell'account AWS AWS CLI, AWS API, Tools for Windows PowerShell o qualsiasi altro strumento da riga di comando. Tuttavia, è possibile utilizzare il Console di gestione AWS per abilitare un dispositivo MFA per l'utente root. 

Quando abiliti un dispositivo MFA da Console di gestione AWS, la console esegue più passaggi per te. Se invece crei AWS CLI un dispositivo virtuale utilizzando Tools for Windows PowerShell o AWS API, devi eseguire i passaggi manualmente e nell'ordine corretto. Ad esempio, per creare un dispositivo MFA virtuale, è necessario creare l'oggetto IAM ed estrarre il codice sotto forma di stringa o di codice grafico QR. Quindi è necessario sincronizzare il dispositivo e associarlo a un utente IAM. Vedi la sezione **Esempi** di [New- IAMVirtual MFADevice](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=New-IAMVirtualMFADevice.html&tocid=New-IAMVirtualMFADevice) per maggiori dettagli. Per un dispositivo fisico, si salta la fase di creazione per andare direttamente a sincronizzare il dispositivo e associarlo con l'utente. 

È possibile collegare tag alle risorse IAM, inclusi i dispositivi MFA virtuali, per identificare, organizzare e controllare l'accesso a tali risorse. È possibile etichettare i dispositivi MFA virtuali solo quando si utilizza l'API AWS CLI o AWS .

Un utente IAM che utilizza l'SDK o la CLI può abilitare un dispositivo MFA aggiuntivo chiamando [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) o disattivarlo chiamando [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html). Per eseguire correttamente questa operazione, devono prima chiamare [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) e inviare i codici MFA con un dispositivo MFA esistente. Questa chiamata restituisce credenziali di sicurezza temporanee che possono quindi essere utilizzate per firmare operazioni API che richiedono l'autenticazione MFA. Per un esempio di richiesta e risposta, consulta [`GetSessionToken`: credenziali temporanee per gli utenti in ambienti non attendibili](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken). 

**Creazione dell'entità del dispositivo virtuale in IAM in modo che rappresenti un dispositivo MFA virtuale**  
Questi comandi forniscono un ARN per il dispositivo che viene usato al posto di un numero di serie in molti dei seguenti comandi.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-virtual-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateVirtualMFADevice.html) 

**Per abilitare un dispositivo MFA da utilizzare con AWS**  
Questi comandi sincronizzano il dispositivo AWS e lo associano a un utente. Se il dispositivo è virtuale, utilizzare l'ARN di un dispositivo virtuale come numero di serie.

**Importante**  
La richiesta deve essere inviata immediatamente dopo la generazione dei codici di autenticazione. Se dopo avere generato i codici attendi troppo a lungo prima di inviare la richiesta, il dispositivo MFA si associerà correttamente con l'utente, ma perderà la sincronizzazione. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo. In questo caso, è possibile risincronizzare il dispositivo utilizzando i comandi descritti di seguito.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) 

**Per disattivare un dispositivo**  
Utilizzare questi comandi per dissociare il dispositivo dall'utente e disattivarlo. Se il dispositivo è virtuale, utilizzare l'ARN di un dispositivo virtuale come numero di serie. È inoltre necessario eliminare separatamente l'entità del dispositivo virtuale. 
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)

**Elenco delle entità del dispositivo MFA virtuale**  
Utilizzare questi comandi per elencare le entità di un dispositivo MFA virtuale.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) 

**Per applicare tag a un dispositivo MFA virtuale**  
Utilizzare questi comandi per applicare tag a un dispositivo MFA virtuale.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html) 

**Per elencare i tag per un dispositivo MFA virtuale**  
Utilizzare questi comandi per elencare i tag collegati a un dispositivo MFA virtuale.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html) 

**Per rimuovere i tag da un dispositivo MFA virtuale**  
Utilizzare questi comandi per rimuovere i tag collegati a un dispositivo MFA virtuale.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html) 

**Risincronizzare un dispositivo MFA**  
Usa questi comandi se il dispositivo genera codici che non sono accettati da AWS. Se il dispositivo è virtuale, utilizzare l'ARN di un dispositivo virtuale come numero di serie.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html) 

**Come eliminare un'entità del dispositivo MFA virtuale in IAM**  
Dopo che il dispositivo è stato dissociato da parte dell'utente, è possibile eliminare l'entità del dispositivo.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html) 

**Per recuperare un dispositivo MFA virtuale che è stato smarrito o non funziona**  
Potrebbe accadere che il dispositivo di un utente che ospita l'app MFA virtuale venga smarrito o sostituito o non funzioni. Quando ciò si verifica, l'utente non può recuperarlo autonomamente. L'utente deve contattare un amministratore per disattivare il dispositivo. Per ulteriori informazioni, consulta [Recuperare un'identità protetta da MFA in IAM](id_credentials_mfa_lost-or-broken.md).

# Verifica dello stato MFA
<a name="id_credentials_mfa_checking-status"></a>

Utilizza la console IAM per verificare se un utente Utente root dell'account AWS o un utente IAM ha abilitato un dispositivo MFA valido.

**Come verificare lo stato MFA di un utente root**

1. Accedi a Console di gestione AWS con le tue credenziali utente root, quindi apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 

1. Seleziona il nome utente in alto a destra nella barra di navigazione e scegli **Security credentials** (Credenziali di sicurezza).

1. Controlla in **Multi-Factor Authentication (MFA)** per verificare se l'autenticazione MFA è abilitata o disabilitata. Se l'autenticazione MFA non è abilitata, viene visualizzato un simbolo di avviso (![\[Alert icon\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/console-alert-icon.console.png)). 

Per abilitare l'autenticazione MFA per l'account, consultare uno dei seguenti articoli:
+ [Abilitare un dispositivo MFA virtuale per l'utente root (console)](enable-virt-mfa-for-root.md)
+ [Abilitare una passkey o una chiave di sicurezza per l'utente root (console)](enable-fido-mfa-for-root.md)
+ [Abilitazione di un token TOTP hardware per l'utente root dell' (console)](enable-hw-mfa-for-root.md)

**Come verificare lo stato MFA degli utenti IAM**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Nel pannello di navigazione, seleziona **Utenti**.

1. Se necessario, aggiungere la colonna **MFA** alla tabella degli utenti mediante la procedura seguente:

   1. Sopra la tabella all'estrema destra, selezionare l'icona delle impostazioni (![\[Settings icon\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/console-settings-icon.console.png)).

   1. In **Manage Columns (Gestisci colonne)** selezionare **MFA**.

   1. (Facoltativo) Deselezionare la casella di controllo per le intestazioni di colonna che non si desidera visualizzare nella tabella utenti.

   1. Selezionare **Close (Chiudi)** per tornare all'elenco degli utenti.

1. La colonna **MFA** fornisce informazioni sul dispositivo MFA abilitato. Se per l'utente non è attivo alcun dispositivo MFA, la console visualizza **None** (Nessuno). Se l'utente dispone di un dispositivo MFA abilitato, la colonna **MFA** mostra il tipo di dispositivo abilitato con il valore **Virtual** (Virtuale), **Security Key** (Chiave di sicurezza), **Hardware** o **SMS**.
**Nota**  
AWS è terminato il supporto per l'abilitazione dell'autenticazione a più fattori (MFA) tramite SMS. Consigliamo ai clienti con utenti IAM che utilizzano la MFA basata su messaggi di testo SMS di passare a uno dei seguenti metodi alternativi di autenticazione a più fattori: [dispositivo MFA virtuale (basato su software)](id_credentials_mfa_enable_virtual.md), [chiave di sicurezza FIDO](id_credentials_mfa_enable_fido.md) o [dispositivo MFA basato su hardware](id_credentials_mfa_enable_physical.md). Puoi identificare gli utenti nel tuo account con un dispositivo MFA SMS assegnato. Per farlo, vai alla console IAM, scegli **Users (Utenti)** dal riquadro di navigazione e individua gli utenti con **SMS** nella colonna della tabella **MFA**.

1. Per visualizzare ulteriori informazioni sul dispositivo MFA per un utente, selezionare il nome dell'utente di cui si desidera verificare lo stato MFA. Quindi, selezionare la scheda **Security credentials (Credenziali di sicurezza)**. 

1. Se per l'utente non è attivo alcun dispositivo MFA, la console visualizza **No MFA devices (Nessun dispositivo MFA). Assegna un dispositivo MFA per migliorare la sicurezza del AWS tuo** ambiente nella sezione **Autenticazione a più fattori (MFA**). Se l'utente ha i dispositivi MFA abilitati, la sezione **Autenticazione a più fattori (MFA)** mostra i dettagli dei dispositivi:
   + Il nome del dispositivo
   + Il tipo di dispositivo
   + L'identificatore del dispositivo, ad esempio un numero di serie per un dispositivo fisico o l'ingresso ARN AWS per un dispositivo virtuale
   + Quando il dispositivo è stato creato

Per rimuovere o risincronizzare un dispositivo, scegli il pulsante d'opzione accanto al dispositivo e scegli **Remove** (Rimuovi) o **Resync** (Risincronizza).

Per ulteriori informazioni sull'abilitazione di MFA, consultare quanto segue: 
+ [Assegna un dispositivo MFA virtuale nel Console di gestione AWS](id_credentials_mfa_enable_virtual.md)
+ [Assegna una passkey o una chiave di sicurezza nel Console di gestione AWS](id_credentials_mfa_enable_fido.md)
+ [Assegna un token TOTP hardware nel Console di gestione AWS](id_credentials_mfa_enable_physical.md)

# Risincronizzare i dispositivi MFA virtuali e hardware
<a name="id_credentials_mfa_sync"></a>

È possibile utilizzarli AWS per risincronizzare i dispositivi di autenticazione a più fattori (MFA) virtuali e hardware. Se il dispositivo dell'utente non è sincronizzato quando si tenta di utilizzarlo, il tentativo di accesso dell'utente non riesce e IAM richiede all'utente di risincronizzare il dispositivo.

**Nota**  
Le chiavi di sicurezza FIDO sono sempre sincronizzate. Se una chiave di sicurezza FIDO viene smarrita o danneggiata, puoi disattivarla. Per istruzioni sulla disattivazione dei dispositivi MFA, consulta [Come disattivare un dispositivo MFA per un altro utente IAM (console)](id_credentials_mfa_disable.md#deactivate-mfa-for-user).

In qualità di AWS amministratore, puoi risincronizzare i dispositivi MFA virtuali e hardware degli utenti IAM se non vengono sincronizzati.

Se il dispositivo Utente root dell'account AWS MFA non funziona, puoi risincronizzarlo utilizzando la console IAM con o senza completare la procedura di accesso. Se non riesci a risincronizzare correttamente il dispositivo, potrebbe essere necessario dissociarlo e associarlo nuovamente. Per ulteriori informazioni su come effettuare tale operazione, consulta [Disattivare un dispositivo MFA](id_credentials_mfa_disable.md) e [AWS Autenticazione a più fattori in IAM](id_credentials_mfa.md).

**Topics**
+ [Autorizzazioni richieste](#id_credentials_mfa_sync_console-permissions-required)
+ [Risincronizzazione dei dispositivi MFA virtuali e hardware (console IAM)](#id_credentials_mfa_sync_console)
+ [Risincronizzazione dei dispositivi MFA virtuali e hardware (AWS CLI)](#id_credentials_mfa_sync_cli)
+ [Risincronizzazione di dispositivi MFA (API) virtuali e hardware AWS](#id_credentials_mfa_sync_api)

## Autorizzazioni richieste
<a name="id_credentials_mfa_sync_console-permissions-required"></a>

Per sincronizzare nuovamente i dispositivi MFA virtuali o hardware per l'utente IAM, è necessario disporre delle autorizzazioni dalla politica seguente. Questa politica non consente di creare o disattivare un dispositivo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToViewAndManageTheirOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "BlockAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Risincronizzazione dei dispositivi MFA virtuali e hardware (console IAM)
<a name="id_credentials_mfa_sync_console"></a>

Puoi utilizzare la console IAM per risincronizzare i dispositivi MFA virtuali e hardware.

**Come risincronizzare un dispositivo MFA virtuale o hardware per un utente IAM (console)**

1. [Utilizza l'ID o l'alias dell'account, il nome utente IAM e la password per accedere alla console IAM. AWS](https://console.aws.amazon.com/iam)
**Nota**  
Per comodità, la pagina di AWS accesso utilizza un cookie del browser per ricordare il nome utente IAM e le informazioni sull'account. Se in precedenza è stato eseguito l'accesso con un utente diverso, scegli il link **Accedi a un account differente** nella parte inferiore della pagina per ritornare alla pagina principale di accesso. Da lì, puoi digitare l'ID o l'alias dell'account per essere reindirizzato alla pagina di accesso utente IAM relativa al tuo AWS account.

   Per ottenere il tuo Account AWS ID, contatta l'amministratore.

1. Seleziona il nome utente in alto a destra nella barra di navigazione e scegli **Security credentials** (Credenziali di sicurezza).   
![\[AWS Link alle credenziali di sicurezza della console di gestione\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Nella scheda **Credenziali AWS IAM**, nella sezione **Autenticazione a più fattori (MFA)**, scegli il pulsante d'opzione accanto al dispositivo MFA e seleziona **Risincronizza**.

1. Digitare i successivi due codici generati in sequenza dal dispositivo in **MFA code 1 (Codice MFA 1)** e **MFA code 2 (Codice MFA 2)**. Quindi scegli **Resync** (Risincronizza).
**Importante**  
Inviare la richiesta immediatamente dopo la generazione dei codici. Se si generano i codici e si attende troppo a lungo per inviare la richiesta, la richiesta sembra riuscita ma il dispositivo non è comunque sincronizzato. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo.

**Come risincronizzare un dispositivo MFA virtuale o hardware per un altro utente IAM (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, selezionare **Users (Utenti)**e il nome dell'utente con dispositivo MFA da risincronizzare.

1. Selezionare la scheda **Security Credentials (Credenziali di sicurezza)**. Nella sezione **Multi-factor authentication (MFA)** (Autenticazione a più fattori (MFA), scegli il pulsante d'opzione accanto al dispositivo MFA e scegli **Resync** (Risincronizza).

1. Digitare i successivi due codici generati in sequenza dal dispositivo in **MFA code 1 (Codice MFA 1)** e **MFA code 2 (Codice MFA 2)**. Quindi scegli **Resync** (Risincronizza).
**Importante**  
Inviare la richiesta immediatamente dopo la generazione dei codici. Se si generano i codici e si attende troppo a lungo per inviare la richiesta, la richiesta sembra riuscita ma il dispositivo non è comunque sincronizzato. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo.

**Come risincronizzare l'autenticazione MFA dell'utente root prima dell'accesso (console)**

1. Nella pagina **Accesso ad Amazon Web Services con dispositivo di autenticazione**, seleziona ** Problemi con il tuo dispositivo di autenticazione? Fai clic qui**.
**Nota**  
È possibile che il testo visualizzato sia differente, ad esempio **Sign in using MFA (Accesso con un dispositivo MFA)** e **Troubleshoot your authentication device (Risoluzione dei problemi del dispositivo di autenticazione)**. Tuttavia, le funzionalità sono identiche.

1. Nella sezione **Re-Sync With Our Servers (Risincronizzazione con i nostri server)**, digitare i successivi due codici generati in sequenza dal dispositivo in **MFA code 1 (Codice MFA 1)** e **MFA code 2 (Codice MFA 2)**. Quindi selezionare **Re-sync authentication device (Risincronizza dispositivo di autenticazione)**.

1. Se necessario, digitare di nuovo la password e selezionare **Accedi**. Quindi completare l'accesso utilizzando il dispositivo MFA.

**Come risincronizzare l'autenticazione MFA dell'utente root dopo l'accesso (console)**

1. Accedi alla [console IAM](https://console.aws.amazon.com/iam/) come proprietario dell'account selezionando **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.
**Nota**  
Come utente root, non puoi accedere alla pagina **Sign in as IAM user** (Accedi come utente IAM). Se viene visualizzata la pagina **Sign in as IAM user** (Accedi come utente IAM), scegli **Sign in using root user email** (Accedi con l'indirizzo e-mail dell'utente root) nella parte inferiore della pagina. Per informazioni sull'accesso come utente root, consulta [Accedere Console di gestione AWS come utente root nella Guida per](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-          root-user-sign-in-tutorial.html) *l'Accedi ad AWS utente*.

1. Sul lato destro della barra di navigazione, seleziona il nome dell'account, quindi **Security Credentials** (Credenziali di sicurezza). Se necessario, seleziona **Continue to Security Credentials** (Continua con le credenziali di sicurezza).  
![\[Credenziali di sicurezza nel menu di navigazione\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Espandere la sezione **Multi-Factor Authentication (MFA) (Autenticazione a più fattori, MFA)** della pagina.

1. Seleziona il pulsante d'opzione accanto al dispositivo e scegli **Resync** (Risincronizza).

1. Nella finestra di dialogo **Resync MFA device** (Risincronizza dispositivo MFA), digita i successivi due codici generati in sequenza dal dispositivo in **MFA code 1 (Codice MFA 1)** e **MFA code 2 (Codice MFA 2)**. Quindi scegli **Resync** (Risincronizza).
**Importante**  
Inviare la richiesta immediatamente dopo la generazione dei codici. Se si attende troppo a lungo per inviare la richiesta dopo la generazione dei codici, il dispositivo MFA verrà associato all'utente, ma non verrà sincronizzato. Ciò accade perché le password monouso temporanee (TOTP) scadono dopo un breve periodo di tempo.

## Risincronizzazione dei dispositivi MFA virtuali e hardware (AWS CLI)
<a name="id_credentials_mfa_sync_cli"></a>

Puoi risincronizzare i dispositivi MFA virtuali e hardware da AWS CLI.

**Come risincronizzare un dispositivo MFA virtuale o hardware per un utente IAM (AWS CLI)**  
Al prompt dei comandi, esegui il resync-mfa-device comando [aws iam](https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html):
+ Dispositivo MFA virtuale: specificare l'Amazon Resource Name (ARN) del dispositivo come numero di serie.

  ```
  aws iam resync-mfa-device --user-name Richard --serial-number arn:aws:iam::123456789012:mfa/RichardsMFA --authentication-code1 123456 --authentication-code2 987654
  ```
+ Dispositivo MFA hardware: specificare il numero di serie del dispositivo hardware come numero di serie. Il formato è specifico del fornitore. Ad esempio, puoi acquistare un token gemalto da Amazon. Il suo numero di serie è in genere quattro lettere seguite da quattro numeri.

  ```
  aws iam resync-mfa-device --user-name Richard --serial-number ABCD12345678 --authentication-code1 123456 --authentication-code2 987654
  ```

**Importante**  
Inviare la richiesta immediatamente dopo la generazione dei codici. Se si generano i codici e si attende troppo lungo per inviare la richiesta, la richiesta ha esito negativo perché i codici scadono dopo un breve periodo di tempo.

## Risincronizzazione di dispositivi MFA (API) virtuali e hardware AWS
<a name="id_credentials_mfa_sync_api"></a>

In IAM è disponibile una chiamata API che esegue la sincronizzazione. In questo caso, ti consigliamo di fornire agli utenti del dispositivo MFA virtuale e hardware l'autorizzazione per accedere a questa chiamata API. Quindi, crea uno strumento basato su tale chiamata API per consentire agli utenti di risincronizzare i propri dispositivi ogni volta che è necessario.

**Per risincronizzare un dispositivo MFA virtuale o hardware per un utente IAM (API)AWS**
+ [Invia la richiesta di risincronizzazione. MFADevice](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html)

# Disattivare un dispositivo MFA
<a name="id_credentials_mfa_disable"></a>

In caso di problemi di accesso con un dispositivo con autenticazione a più fattori (MFA) come utente IAM, contatta il tuo amministratore per assistenza.

In qualità di amministratore, puoi disattivare il dispositivo per un altro utente IAM. In questo modo, l''utente potrà effettuare l'accesso senza utilizzare MFA. Questa soluzione può essere temporanea, se il dispositivo MFA è momentaneamente non disponibile o in attesa che venga sostituito. Tuttavia, ti consigliamo di abilitare un nuovo dispositivo per l'utente quanto prima possibile. Per informazioni su come abilitare un nuovo dispositivo MFA, consultare [AWS Autenticazione a più fattori in IAM](id_credentials_mfa.md).

**Nota**  
Se utilizzi l'API o desideri AWS CLI eliminare un utente dal tuo Account AWS, devi disattivare o eliminare il dispositivo MFA dell'utente. Tale modifica fa paarte del processo di rimozione dell'utente. Per ulteriori informazioni sulla rimozione di utenti, consulta [Rimuovere o disattivare un utente IAM](id_users_remove.md).

**Topics**
+ [Disattivazione dei dispositivi MFA (console)](#deactive-mfa-console)
+ [Disattivazione dei dispositivi MFA (AWS CLI)](#deactivate-mfa-cli)
+ [Disattivazione dei dispositivi MFA (API)AWS](#deactivate-mfa-api)

## Disattivazione dei dispositivi MFA (console)
<a name="deactive-mfa-console"></a><a name="deactivate-mfa-for-user"></a>

**Come disattivare un dispositivo MFA per un altro utente IAM (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione, seleziona **Utenti**.

1. Per disattivare un dispositivo MFA, scegli il nome dell'utente a cui appartiene l'MFA da rimuovere.

1. Selezionare la scheda **Security Credentials (Credenziali di sicurezza)**.

1. In **Multi-factor authentication (MFA)** (Autenticazione a più fattori (MFA), scegli il pulsante d'opzione accanto al dispositivo MFA, quindi scegli **Remove** (Rimuovi) e poi di nuovo **Remove** (Rimuovi).

   Il dispositivo viene rimosso da AWS. Non può essere utilizzato per accedere o autenticare le richieste finché non viene riattivato e associato a un AWS utente o. Utente root dell'account AWS<a name="deactivate-mfa-for-root"></a>

**Per disattivare il dispositivo MFA per la Utente root dell'account AWS tua (console)**

1. Accedi alla [console IAM](https://console.aws.amazon.com/iam/) come proprietario dell'account scegliendo **Utente root** e inserendo il tuo Account AWS indirizzo email. Nella pagina successiva, inserisci la password.
**Nota**  
Come utente root, non puoi accedere alla pagina **Sign in as IAM user** (Accedi come utente IAM). Se viene visualizzata la pagina **Sign in as IAM user** (Accedi come utente IAM), scegli **Sign in using root user email** (Accedi con l'indirizzo e-mail dell'utente root) nella parte inferiore della pagina. Per informazioni sull'accesso come utente root, consulta [Accedere Console di gestione AWS come utente root nella Guida per](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-          root-user-sign-in-tutorial.html) *l'Accedi ad AWS utente*.

1. Sul lato destro della barra di navigazione, seleziona il nome dell'account, quindi **Security Credentials** (Credenziali di sicurezza). Se necessario, seleziona **Continue to Security Credentials** (Continua con le credenziali di sicurezza).  
![\[Credenziali di sicurezza nel menu di navigazione\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Nella sezione **Multi-factor authentication (MFA)** (Autenticazione a più fattori (MFA), scegli il pulsante d'opzione accanto al dispositivo MFA da disattivare e scegli **Remove** (Rimuovi).

1. Scegli **Rimuovi**.

   Il dispositivo MFA è disattivato per l' Account AWS. Controlla l'e-mail associata al tuo indirizzo Account AWS per ricevere un messaggio di conferma da Amazon Web Services. L'e-mail ti informa che la tua autenticazione multifattore (MFA) di Amazon Web Services è stata disattivata. Il messaggio verrà inviato da `@amazon.com` o `@aws.amazon.com`.

**Nota**  
I dispositivi MFA virtuali non assegnati nel Account AWS tuo vengono eliminati quando aggiungi nuovi dispositivi MFA virtuali tramite o durante Console di gestione AWS la procedura di accesso. I dispositivi MFA virtuali non assegnati sono dispositivi presenti nell’account ma non utilizzati dall’utente root dell’account o dagli utenti IAM per il processo di accesso. Vengono eliminati in modo da poter aggiungere nuovi dispositivi MFA virtuali al tuo account. Questo consente anche di riutilizzare i nomi dei dispositivi.

## Disattivazione dei dispositivi MFA (AWS CLI)
<a name="deactivate-mfa-cli"></a>

**Come disattivare un dispositivo MFA per un utente IAM (AWS CLI)**
+ Eseguire il comando: [https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html)

## Disattivazione dei dispositivi MFA (API)AWS
<a name="deactivate-mfa-api"></a>

**Per disattivare un dispositivo MFA per un utente AWS IAM (API)**
+ Richiamare l'operazione: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)

# Recuperare un'identità protetta da MFA in IAM
<a name="id_credentials_mfa_lost-or-broken"></a>

Se il [dispositivo MFA virtuale](id_credentials_mfa_enable_virtual.md) o il [token TOTP hardware](id_credentials_mfa_enable_physical.md) sembra funzionare correttamente, ma non è possibile utilizzarlo per accedere alle AWS risorse, potrebbe non essere sincronizzato con. AWS Per informazioni sulla sincronizzazione di un dispositivo MFA virtuale o hardware, consulta [Risincronizzare i dispositivi MFA virtuali e hardware](id_credentials_mfa_sync.md). [Le chiavi di sicurezza FIDO](id_credentials_mfa_enable_fido.md) sono sempre sincronizzate.

Se il [dispositivo MFA](id_credentials_mfa.md) di a Utente root dell'account AWS viene smarrito, danneggiato o non funziona, puoi ripristinare l'accesso al tuo account. Gli utenti IAM devono contattare un amministratore per disattivare il dispositivo.

**Importante**  
Consigliamo di attivare più dispositivi MFA. La registrazione di più dispositivi MFA aiuta a garantire l'accesso continuo in caso di smarrimento o danneggiamento di un dispositivo. I tuoi utenti Utente root dell'account AWS e IAM possono registrare fino a otto dispositivi MFA di qualsiasi tipo.

## Prerequisito: utilizzare un altro dispositivo MFA
<a name="mfa-lost-or-broken-prerequisites"></a>

Se il tuo [dispositivo di autenticazione a più fattori (MFA)](id_credentials_mfa.md) viene perso, danneggiato o non funziona, potrai accedere utilizzando un altro dispositivo MFA registrato dello stesso utente root o utente IAM.

**Per accedere utilizzando un altro dispositivo MFA**

1. Accedi alla [Console di gestione AWS](url-comsole-domain;iam) con il tuo ID Account AWS o l'alias e la password dell'account.

1. Nella pagina **Verifica aggiuntiva richiesta** o nella pagina **Autenticazione a più fattori**, scegli **Prova un altro metodo MFA**.

1. Effettua l'autenticazione con il tipo di dispositivo MFA selezionato.

1. Il passaggio successivo varia a seconda che l'accesso sia stato eseguito correttamente con un dispositivo MFA alternativo.
   + Se hai effettuato correttamente l'accesso, puoi [Risincronizzare i dispositivi MFA virtuali e hardware](id_credentials_mfa_sync.md), il che potrebbe risolvere il problema. In caso di smarrimento o di malfunzionamento del dispositivo MFA, puoi disattivarlo. Per istruzioni sulla disattivazione dei dispositivi MFA, consulta [Disattivare un dispositivo MFA](id_credentials_mfa_disable.md).
   + Se non riesci ad accedere con MFA, segui i passaggi indicati in [Ripristino di un dispositivo MFA per l'utente root](#root-mfa-lost-or-broken) o [Ripristino di un dispositivo MFA dell'utente IAM](#iam-user-mfa-lost-or-broken) per recuperare la tua identità protetta da MFA.



## Ripristino di un dispositivo MFA per l'utente root
<a name="root-mfa-lost-or-broken"></a>

Se non è possibile effettuare con MFA, puoi utilizzare metodi di autenticazione alternativi per accedere tramite la verifica dell'identità, utilizzando l'e-mail e il numero di telefono di contatto principale registrati nell'account.

Prima di utilizzare fattori di autenticazione alternativi per accedere come utente root, assicurati di avere accesso all'e-mail e al numero di telefono di contatto principale associati all'account. Se devi aggiornare il numero di telefono di contatto principale, puoi accedere come utente IAM con accesso da *Amministratore* anziché come utente root. Per ulteriori istruzioni sull'aggiornamento delle informazioni di contatto dell'account, consulta [Modifica le informazioni di contatto](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html) nella *Guida per l'utente AWS Billing *. Se non hai accesso a un'e-mail e al numero di telefono di contatto principale, contatta [Supporto AWS](https://support.aws.amazon.com/#/contacts/aws-mfa-support).

**Importante**  
Ti consigliamo di mantenere aggiornati l'indirizzo email e il numero di telefono di contatto collegati all'utente root per ripristinare correttamente l'account. Per ulteriori informazioni, consulta [Aggiornare il contatto principale per Account AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html) nella *Guida di riferimento Gestione dell'account AWS *.

**Per accedere utilizzando fattori di autenticazione alternativi come Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

1. Nella pagina **Verifica aggiuntiva richiesta**, seleziona un metodo MFA con cui eseguire l'autenticazione e scegli **Avanti.** 
**Nota**  
È possibile che venga visualizzato un testo alternativo, ad esempio **Sign in using MFA** (Accedi utilizzando la MFA), **Troubleshoot your authentication device** (Risolvi i problemi del tuo dispositivo di autenticazione) oppure **Troubleshoot MFA** (Risolvi i problemi di MFA), ma la funzionalità è la stessa. Se non riesci a utilizzare i fattori alternativi di autenticazione per verificare l'indirizzo e-mail e il numero di telefono di contatto principale, contatta [Supporto AWS](https://support.aws.amazon.com/#/contacts/aws-mfa-support) per disattivare il dispositivo MFA.

1. A seconda del tipo di MFA in uso, verrà visualizzata una pagina diversa, ma l'opzione **Risoluzione dei problemi relativi all'autenticazione MFA** funziona comunque. Nella pagina **Verifica aggiuntiva richiesta** o nella pagina **Autenticazione a più fattori**, scegli **Risoluzione dei problemi relativi all'autenticazione MFA**.

1. Se necessario, digitare di nuovo la password e selezionare **Accedi**.

1. Nella pagina **Risoluzione dei problemi del dispositivo di autenticazione**, in **Accedi utilizzando fattori alternativi di autenticazione**, scegli **Accedi utilizzando fattori alternativi**.

1. Nella pagina **Accedi utilizzando fattori di autenticazione alternativi**, autentica il tuo account verificando l'indirizzo e-mail e scegli **Invia email di verifica.** 

1. Controlla l'e-mail associata alla tua Account AWS per un messaggio proveniente da Amazon Web Services (recover-mfa-no-reply@verify .signin.aws). Seguire le istruzioni nel messaggio.

   Se il messaggio non fosse presente nell'account e-mail, controllare la cartella spam o tornare al browser e selezionare **Resend the email (Rinvia l'e-mail)**.

1. Una volta verificato l'indirizzo e-mail, puoi continuare con l'autenticazione dell'account. Per verificare il numero di telefono di contatto principale, scegli **Call me now** (Chiamami ora).

1. Rispondi alla chiamata da AWS e, quando richiesto, inserisci il numero a 6 cifre del sito Web sulla tastiera del telefono. AWS 

   Se non ricevi una chiamata da AWS, scegli **Accedi** per accedere nuovamente alla console e ricominciare da capo. In alternativa, consulta la sezione [Dispositivo di autenticazione a più fattori (MFA) perso o inutilizzabile](https://support.aws.amazon.com/#/contacts/aws-mfa-support) per contattare il supporto e richiedere assistenza.

1. Una volta effettuata la verifica del numero di telefono, è possibile effettuare l'accesso all'account selezionando **Sign in to the console (Accedi alla console)**.

1. La prossima fase varia a seconda del tipo di MFA in uso:
   + Se si utilizza un dispositivo MFA virtuale, rimuovere l'account dal dispositivo. Quindi passa alla pagina [Credenziali di sicurezza AWS](https://console.aws.amazon.com/iam/home?#security_credential) ed elimina l'entità del vecchio dispositivo MFA virtuale prima di crearne una nuova.
   + Se utilizzi una chiave di sicurezza FIDO, visita la pagina [Credenziali di sicurezza AWS](https://console.aws.amazon.com/iam/home?#security_credential) e disattiva la chiave di sicurezza FIDO precedente prima di abilitarne una nuova.
   + Per un token TOTP hardware, contatta il provider di terze parti per assistenza con la riparazione o la sostituzione del dispositivo. L'accesso tramite fattori alternativi di autenticazione può essere utilizzato fino alla ricezione di un nuovo dispositivo. Una volta ottenuto il nuovo dispositivo MFA hardware, passa alla pagina [Credenziali di sicurezza di AWS](https://console.aws.amazon.com/iam/home?#security_credential) ed elimina il vecchio dispositivo MFA.
**Nota**  
Non è necessario sostituire il dispositivo MFA smarrito o rubato con lo stesso tipo di dispositivo. Ad esempio, se la chiave di sicurezza FIDO viene danneggiata e ne ordini una nuova, potrai utilizzare il dispositivo MFA virtuale o il token TOTP hardware finché non ricevi la nuova chiave FIDO.

**Importante**  
In caso di smarrimento o furto del dispositivo MFA, modifica la password dell'utente root dopo aver effettuato l'accesso e aver installato il dispositivo MFA sostitutivo. Un malintenzionato potrebbe aver rubato il dispositivo di autenticazione e potrebbe anche avere la tua password attuale. Per ulteriori informazioni, consulta [Cambiare la password per Utente root dell'account AWS](root-user-password.md).

## Ripristino di un dispositivo MFA dell'utente IAM
<a name="iam-user-mfa-lost-or-broken"></a>

Se sei un utente IAM che non può accedere con MFA, non puoi recuperare un dispositivo MFA da solo, ma devi contattare un amministratore per disattivare il dispositivo. Quindi puoi abilitare un nuovo dispositivo.

**Come ottenere assistenza per un dispositivo MFA in qualità di utente IAM**

1. Contatta l' AWS amministratore o l'altra persona che ti ha fornito il nome utente e la password per l'utente IAM. L'amministratore deve disattivare il dispositivo MFA, come descritto in [Disattivare un dispositivo MFA](id_credentials_mfa_disable.md), in modo da consentire l'accesso.

1. La prossima fase varia a seconda del tipo di MFA in uso:
   + Se si utilizza un dispositivo MFA virtuale, rimuovere l'account dal dispositivo. Attivare il dispositivo virtuale come descritto in [Assegna un dispositivo MFA virtuale nel Console di gestione AWS](id_credentials_mfa_enable_virtual.md).
   + Per una chiave di sicurezza FIDO, contatta il provider di terze parti per ricevere assistenza con la sostituzione del dispositivo. Quando ricevi la nuova chiave di sicurezza FIDO, devi abilitarla come descritto nella sezione [Assegna una passkey o una chiave di sicurezza nel Console di gestione AWS](id_credentials_mfa_enable_fido.md).
   + Per un token TOTP hardware, contatta il provider di terze parti per assistenza con la riparazione o la sostituzione del dispositivo. Una volta ottenuto il nuovo dispositivo MFA fisico, abilitarlo nel modo descritto in [Assegna un token TOTP hardware nel Console di gestione AWS](id_credentials_mfa_enable_physical.md).
**Nota**  
Non è necessario sostituire il dispositivo MFA smarrito o rubato con lo stesso tipo di dispositivo. Puoi avere fino a otto dispositivi MFA in una qualsiasi combinazione. Ad esempio, se la chiave di sicurezza FIDO viene danneggiata e ne ordini una nuova, potrai utilizzare il dispositivo MFA virtuale o il token TOTP hardware finché non ricevi la nuova chiave FIDO.

1. Se il dispositivo MFA è stato smarrito o rubato, modificare anche la password nel caso in cui chi si è impossessato del dispositivo di autenticazione possieda anche la password attualmente in uso. Per ulteriori informazioni, consulta [Gestione delle password per gli utenti IAM](id_credentials_passwords_admin-change-user.md)

# Accesso sicuro alle API con MFA
<a name="id_credentials_mfa_configure-api-require"></a>

Con le policy IAM, è possibile specificare le operazioni API che un utente è autorizzato a chiamare. È possibile applicare una sicurezza aggiuntiva richiedendo agli utenti di eseguire l'autenticazione a più fattori (MFA) prima di consentire l'esecuzione di operazioni particolarmente sensibili.

Potrebbe ad esempio esserci una policy che permette a un utente di eseguire le operazioni `RunInstances`, `DescribeInstances` e `StopInstances` di Amazon EC2. Ma potresti voler limitare un'azione distruttiva come `TerminateInstances` e assicurarti che gli utenti possano eseguire tale azione solo se si autenticano con un dispositivo AWS MFA.

**Topics**
+ [Panoramica di](#MFAProtectedAPI-overview)
+ [Scenario: Protezione MFA per la delega tra account](#MFAProtectedAPI-cross-account-delegation)
+ [Scenario: Protezione MFA per l'accesso alle operazioni API nell'account corrente](#MFAProtectedAPI-user-mfa)
+ [Scenario: Protezione MFA per le risorse che hanno policy basate su risorse](#MFAProtectedAPI-resource-policies)

## Panoramica di
<a name="MFAProtectedAPI-overview"></a>

L'aggiunta della protezione MFA alle operazioni API prevede le operazioni seguenti:

1. L'amministratore configura un dispositivo AWS MFA per ogni utente che deve effettuare richieste API che richiedono l'autenticazione MFA. Per ulteriori informazioni, consulta [AWS Autenticazione a più fattori in IAM](id_credentials_mfa.md). 

1. L'amministratore crea politiche per gli utenti che includono un `Condition` elemento che verifica se l'utente si è autenticato con un dispositivo AWS MFA.

1. L'utente chiama una delle operazioni AWS STS API che supportano i parametri MFA: [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o. [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) Durante la chiamata, l'utente include l'ID dispositivo per il dispositivo associato all'utente. L'utente include anche la password una tantum a tempo (TOTP) generata dal dispositivo. In entrambi i casi, l'utente ottiene le credenziali di sicurezza temporanee che può quindi usare per effettuare richieste aggiuntive in AWS.
**Nota**  
La protezione MFA per le operazioni API di un servizio è disponibile solo se il servizio supporta le credenziali di sicurezza temporanee. Per un elenco di questi servizi, consulta [Utilizzo di credenziali di sicurezza temporanee per accedere ad AWS](https://docs.aws.amazon.com/STS/latest/UsingSTS/UsingTokens.html).

Se l'autorizzazione AWS fallisce, restituisce un messaggio di errore di accesso negato (come accade per qualsiasi accesso non autorizzato). Con le politiche API protette da MFA, AWS nega l'accesso alle operazioni API specificate nelle politiche se l'utente tenta di richiamare un'operazione API senza un'autenticazione MFA valida. L'operazione viene rifiutata anche se il timestamp della richiesta di operazione API è al di fuori dell'intervallo consentito specificato nella policy. L'utente deve essere autenticato di nuovo con MFA richiedendo nuove credenziali di sicurezza temporanee con un codice MFA e il numero di serie del dispositivo.

### Policy IAM con condizioni MFA
<a name="MFAProtectedAPI-policies"></a>

Le policy con condizioni MFA possono essere collegate a:
+ Un utente o un gruppo IAM
+ Una risorsa, ad esempio un bucket Amazon S3, una coda Amazon SQS o un argomento Amazon SNS
+ La policy di attendibilità di un ruolo IAM che può essere assunto da un utente

Puoi usare una condizione MFA in una policy per controllare le proprietà seguenti:
+ Esistenza: per verificare semplicemente che l'utente abbia eseguito l'autenticazione con MFA, controlla che la chiave `aws:MultiFactorAuthPresent` sia `True` in una condizione `Bool`. La chiave è presente solo quando l'utente esegue l'autenticazione con credenziali a breve termine. Le credenziali a lungo termine, ad esempio le chiavi di accesso, non includono questa chiave.
+ Durata: se desideri concedere l'accesso solo per un periodo di tempo specificato dopo l'autenticazione MFA, usa una condizione di tipo numerico per confrontare la validità della chiave `aws:MultiFactorAuthAge` con un valore (ad esempio 3.600 secondi). Ricordati che la chiave `aws:MultiFactorAuthAge` non è presente se non è stata usata l'autenticazione MFA.

L'esempio seguente mostra la policy di attendibilità di un ruolo IAM che include una condizione MFA da testare per verificare l'esistenza dell'autenticazione MFA. Con questa politica, gli utenti Account AWS specificati nell'`Principal`elemento (sostituendo `ACCOUNT-B-ID` con un Account AWS ID valido) possono assumere il ruolo a cui è associata questa politica. ma solo se si sono autenticati tramite MFA.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "ACCOUNT-B-ID"},
    "Action": "sts:AssumeRole",
    "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
  }
}
```

------

Per ulteriori informazioni sui tipi di condizioni per MFA, consulta [AWS chiavi di contesto della condizione globale](reference_policies_condition-keys.md), [Operatori di condizione numerici](reference_policies_elements_condition_operators.md#Conditions_Numeric) e [Operatore di condizione per verificare la presenza di chiavi di condizione](reference_policies_elements_condition_operators.md#Conditions_Null). 

### Scegliendo tra GetSessionToken e AssumeRole
<a name="scenarios"></a>

AWS STS fornisce due operazioni API che consentono agli utenti di trasmettere informazioni MFA: `GetSessionToken` e. `AssumeRole` L'operazione API che l'utente chiama per ottenere le credenziali di sicurezza temporanee dipende dallo scenario applicabile tra quelli descritti di seguito. 

**Usa `GetSessionToken` per gli scenari seguenti:**
+ Chiama le operazioni API che accedono alle risorse nello Account AWS stesso modo in cui l'utente IAM effettua la richiesta. Tieni presente che le credenziali temporanee di una `GetSessionToken` richiesta possono accedere alle operazioni IAM e AWS STS API *solo* se includi informazioni MFA nella richiesta di credenziali. Poiché le credenziali temporanee restituite da `GetSessionToken` includono le informazioni MFA, puoi verificare l'MFA nelle singole operazioni API effettuate tramite le credenziali. 
+ Accesso alle risorse protette con policy basate su risorse che includono una condizione MFA.

Lo scopo dell'operazione `GetSessionToken` è autenticare l'utente tramite MFA. Non è possibile utilizzare le policy per controllare le operazioni di autenticazione.

**Usa `AssumeRole` per gli scenari seguenti:**
+ Chiamata alle operazioni API che accedono alle risorse nello stesso Account AWS o in un account diverso. Le chiamate API possono includere qualsiasi IAM o API. AWS STS Per proteggere l'accesso, l'autenticazione MFA viene applicata quando l'utente assume il ruolo. Le credenziali temporanee restituite da `AssumeRole` non includono le informazioni MFA nel contesto, quindi non puoi verificare l'MFA nelle singole operazioni API. Per questo motivo, è necessario usare `GetSessionToken` per limitare l'accesso alle risorse protette da policy basate su risorse.

**Nota**  
AWS CloudTrail i log conterranno informazioni MFA quando l'utente IAM accede con MFA. Se l'utente IAM assume un ruolo IAM, CloudTrail `mfaAuthenticated: true` accederà anche `sessionContext` agli attributi per le azioni eseguite utilizzando il ruolo assunto. Tuttavia, CloudTrail la registrazione è separata da ciò che IAM richiede quando le chiamate API vengono effettuate con le credenziali del ruolo assunto. Per ulteriori informazioni, consulta [Elemento CloudTrail userIdentity](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

Le informazioni su come implementare questi scenari vengono fornite più avanti in questo documento.

### Considerazioni importanti sull'accesso alle API protetto da MFA
<a name="MFAProtectedAPI-important-points"></a>

È importante comprendere i seguenti aspetti della protezione MFA per le operazioni API:
+ La protezione MFA è disponibile solo con le credenziali di sicurezza temporanee, che è possibile ottenere con `AssumeRole` o `GetSessionToken`. 
+ Non è possibile utilizzare l'accesso alle API protetto da MFA con credenziali. Utente root dell'account AWS 
+ Non è possibile usare l'accesso alle API protetto da MFA con chiavi di sicurezza U2F.
+ Agli utenti federati non può essere assegnato un dispositivo MFA da utilizzare AWS con i servizi, quindi non possono AWS accedere alle risorse controllate dalla MFA. Vedi il punto successivo. 
+ Altre operazioni AWS STS API che restituiscono credenziali temporanee non supportano l'MFA. Per `AssumeRoleWithWebIdentity` e`AssumeRoleWithSAML`, l'utente è autenticato da un provider esterno e AWS non può determinare se tale provider abbia richiesto l'autenticazione MFA. Per `GetFederationToken`, l'autenticazione MFA non è necessariamente associata a un utente specifico. 
+ Analogamente, le credenziali a lungo termine (chiavi di accesso dell'utente IAM e chiavi di accesso dell'utente root) non possono essere usate con l'accesso alle API protetto da MFA perché non scadono.
+ È possibile chiamare `AssumeRole` e `GetSessionToken` anche senza informazioni MFA. In tal caso, il chiamante riceve le credenziali di sicurezza temporanee, ma le informazioni di sessione per tali credenziali temporanee non indicano che l'utente ha eseguito l'autenticazione con MFA.
+ Per stabilire la protezione MFA per le operazioni API, aggiungi condizioni MFA alle policy. Una policy deve includere la chiave di condizione `aws:MultiFactorAuthPresent` per implementare l'uso dell'MFA. Per la delega tra più account, la policy di attendibilità del ruolo deve includere la chiave di condizione.
+ Quando consenti Account AWS a un altro utente di accedere alle risorse del tuo account, la sicurezza delle tue risorse dipende dalla configurazione dell'account fidato (l'altro account, non il tuo). Questo vale anche quando è richiesta la multi-factor authentication. Qualsiasi identità nell'account attendibile che dispone dell'autorizzazione per creare dispositivi MFA virtuali può creare un'attestazione MFA per soddisfare tale parte della policy di affidabilità del ruolo. Prima di consentire ai membri di un altro account di accedere alle tue AWS risorse che richiedono l'autenticazione a più fattori, devi assicurarti che il proprietario dell'account fidato segua le migliori pratiche di sicurezza. Ad esempio, l'account attendibile deve limitare l'accesso alle operazioni API sensibili, ad esempio le operazioni API di gestione dei dispositivi MFA, a identità attendibili specifiche.
+ Se una policy include una condizione MFA, una richiesta viene negata se gli utenti non sono stati autenticati tramite MFA oppure se forniscono una password TOTP o un identificatore di dispositivo MFA non valido.

## Scenario: Protezione MFA per la delega tra account
<a name="MFAProtectedAPI-cross-account-delegation"></a>

In questo scenario, desideri delegare l'accesso agli utenti IAM in un altro account, ma solo se gli utenti sono autenticati con un dispositivo MFA AWS . Per ulteriori informazioni sulla delega tra più account, consulta [Termini e concetti dei ruoli](id_roles.md#id_roles_terms-and-concepts). 

Immagina di avere un account A (l'account che determina l'attendibilità, proprietario della risorsa a cui è necessario accedere), con l'utente IAM Anaya, che ha l'autorizzazione di amministratore. Anaya desidera concedere l'accesso all'utente Richard nell'account B (l'account attendibile), ma vuole assicurarsi che Richard sia autenticato con MFA prima di poter assumere il ruolo. 

1. Nell'account di fiducia A, Anaya crea un ruolo IAM denominato `CrossAccountRole` e imposta come principale nella politica di fiducia del ruolo l'ID dell'account B. La politica di fiducia concede l'autorizzazione all'azione. AWS STS `AssumeRole` Anaya aggiunge inoltre una condizione MFA alla policy di trust, come nell'esempio seguente. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Allow",
       "Principal": {"AWS": "ACCOUNT-B-ID"},
       "Action": "sts:AssumeRole",
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }
   }
   ```

------

1. Anaya aggiunge una policy di autorizzazione al ruolo che specifica le attività consentite per il ruolo. La policy di autorizzazione per un ruolo con protezione MFA è uguale a qualsiasi altra policy di autorizzazione di un ruolo. L'esempio seguente mostra la policy aggiunta al ruolo da Anaya, che consente a un utente ipotetico di eseguire qualsiasi operazione Amazon DynamoDB sulla tabella `Books` nell'account A. Questa policy consente anche l'operazione `dynamodb:ListTables`, necessaria per eseguire operazioni nella console. 
**Nota**  
La policy di autorizzazione non include una condizione MFA. È importante comprendere che l'autenticazione MFA viene usata solo per determinare se un utente può assumere tale ruolo. Una volta che l'utente ha assunto il ruolo, non vengono svolti ulteriori controlli MFA. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "TableActions",
               "Effect": "Allow",
               "Action": "dynamodb:*",
               "Resource": "arn:aws:dynamodb:*:111122223333:table/Books"
           },
           {
               "Sid": "ListTables",
               "Effect": "Allow",
               "Action": "dynamodb:ListTables",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Nell'account attendibile B, l'amministratore si assicura che l'utente IAM Richard sia configurato con un dispositivo AWS MFA e che conosca l'ID del dispositivo. ovvero il numero di serie se si tratta di un dispositivo MFA hardware o l'ARN del dispositivo se si tratta di un dispositivo MFA virtuale.

1. Nell'account B, l'amministratore collega all'utente Richard (o un gruppo di cui è membro) la policy seguente, che gli permette di chiamare l'operazione `AssumeRole`. La risorsa è impostata sull'ARN del ruolo creato da Anaya nella fase 1. Osserva che questa policy non contiene una condizione MFA.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sts:AssumeRole"
               ],
               "Resource": [
                   "arn:aws:iam::111122223333:role/CrossAccountRole"
               ]
           }
       ]
   }
   ```

------

1. Nell'account B, Richard (o un'applicazione che Richard sta eseguendo) chiama `AssumeRole`. La chiamata dell'API include l'ARN del ruolo da assumere (`arn:aws:iam::ACCOUNT-A-ID:role/CrossAccountRole`), l'ID del dispositivo MFA e la password TOTP corrente che Richard ottiene dal suo dispositivo. 

   Quando Richard chiama`AssumeRole`, AWS determina se dispone di credenziali valide, incluso il requisito per l'MFA. In caso affermativo, Richard assume correttamente il ruolo e può eseguire qualsiasi operazione DynamoDB sulla tabella denominata `Books` nell'account A usando le credenziali temporanee del ruolo. 

   Per un esempio di programma che chiama `AssumeRole`, consulta [AssumeRole Chiamate con autenticazione MFA](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-assumerole).

## Scenario: Protezione MFA per l'accesso alle operazioni API nell'account corrente
<a name="MFAProtectedAPI-user-mfa"></a>

In questo scenario, dovresti assicurarti che un tuo utente Account AWS possa accedere alle operazioni API sensibili solo quando l'utente è autenticato utilizzando un dispositivo AWS MFA.

Immagina di avere un account A che contiene un gruppo di sviluppatori che devono usare le istanze EC2. In genere, gli sviluppatori possono usare le istanze, ma non hanno le autorizzazioni per le operazioni `ec2:StopInstances` e `ec2:TerminateInstances`. È opportuno limitare queste operazioni privilegiate "distruttive" a pochi utenti attendibili, quindi aggiungi la protezione MFA alla policy che permette queste operazioni Amazon EC2 sensibili. 

In questo scenario, uno degli utenti attendibili è Sofía. L'utente Anaya è un amministratore nell'account A. 

1. Anaya si assicura che Sofía sia configurata con un dispositivo AWS MFA e che Sofía conosca l'ID del dispositivo. ovvero il numero di serie se si tratta di un dispositivo MFA hardware o l'ARN del dispositivo se si tratta di un dispositivo MFA virtuale. 

1. Anaya crea un gruppo denominato `EC2-Admins` e aggiunge l'utente Sofía al gruppo.

1. Anaya collega la policy seguente al gruppo `EC2-Admins`. Questa policy concede agli utenti l'autorizzazione per chiamare le operazioni `StopInstances` e `TerminateInstances` di Amazon EC2 solo se l'utente ha eseguito l'autenticazione tramite MFA. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": [
         "ec2:StopInstances",
         "ec2:TerminateInstances"
       ],
       "Resource": ["*"],
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }]
   }
   ```

------

1. 
**Nota**  
Per rendere effettiva questa policy, gli utenti devono prima disconnettersi e quindi accedere nuovamente.

   Se l'utente Sofía deve arrestare o terminare un'istanza Amazon EC2, l'utente o un'applicazione da lei eseguita, chiama `GetSessionToken`. Questa operazione API passa l'ID o del dispositivo MFA e la password TOTP corrente che Sofía ottiene dal suo dispositivo.

1. L'utente Sofía (o un'applicazione che Sofía sta usando) usa le credenziali temporanee fornite da `GetSessionToken` per chiamare l'operazione `StopInstances` o `TerminateInstances` di Amazon EC2. 

   Per un esempio di programma che chiama `GetSessionToken`, consulta [GetSessionToken Chiamate con autenticazione MFA](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-getsessiontoken) più avanti in questo documento.

## Scenario: Protezione MFA per le risorse che hanno policy basate su risorse
<a name="MFAProtectedAPI-resource-policies"></a>

In questo scenario, sei il proprietario di un bucket S3, una coda SQS o un argomento SNS. Vuoi assicurarti che tutti gli utenti Account AWS che accedono alla risorsa siano autenticati da un dispositivo MFA AWS . 

Questo scenario illustra un modo per fornire la protezione MFA per più account senza richiedere agli utenti di assumere prima un ruolo. In tal caso, l'utente può accedere alla risorsa se vengono soddisfatte tre condizioni: l'utente deve essere autenticato mediante MFA, essere in grado di ottenere credenziali di sicurezza temporanee da `GetSessionToken` ed essere in un account ritenuto attendibile dalla policy della risorsa. 

Immagina di avere l'account A e di creare un bucket S3. Desideri concedere l'accesso a questo bucket agli utenti che si trovano in diversi ambienti Account AWS, ma solo se tali utenti sono autenticati con MFA.

In questo scenario, l'utente Anaya è un amministratore nell'account A. L'utente Nikhil è un utente IAM nell'account C.

1. Nell'account A, Anaya crea un bucket denominato `Account-A-bucket`.

1. Anaya aggiunge la policy del bucket al bucket. La policy permette a qualsiasi utente in un account A, un account B o un account C di eseguire le operazioni `PutObject` e `DeleteObject` di Amazon S3 nel bucket. La policy include una condizione MFA. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {"AWS": [
         "ACCOUNT-A-ID",
         "ACCOUNT-B-ID",
         "ACCOUNT-C-ID"
       ]},
       "Action": [
         "s3:PutObject",
         "s3:DeleteObject"
       ],
       "Resource": ["arn:aws:s3:::ACCOUNT-A-BUCKET-NAME/*"],
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }]
   }
   ```

------
**Nota**  
Amazon S3 offre la funzionalità Cancellazione MFA solo per l'accesso all'account *root*. Puoi abilitare la funzionalità Cancellazione MFA di Amazon S3 quando imposti lo stato del controllo delle versioni del bucket. La funzionalità Cancellazione MFA di Amazon S3 non può essere applicata a un utente IAM e viene gestita indipendentemente dall'accesso alle API protetto da MFA. Un utente IAM con l'autorizzazione per eliminare un bucket non può eliminare un bucket quando la funzionalità Cancellazione MFA di Amazon S3 è abilitata. Per ulteriori informazioni sulla funzionalità Cancellazione MFA di Amazon S3, consulta [Cancellazione MFA](https://docs.aws.amazon.com/AmazonS3/latest/dev/MultiFactorAuthenticationDelete.html).

1. Nell'account C, un amministratore verifica che l'utente Nikhil sia configurato con un dispositivo MFA AWS e che conosca l'ID del dispositivo. ovvero il numero di serie se si tratta di un dispositivo MFA hardware o l'ARN del dispositivo se si tratta di un dispositivo MFA virtuale. 

1. Nell'account C, Nikhil (o un'applicazione che lui sta eseguendo) chiama `GetSessionToken`. La chiamata include l'ID o l'ARN del dispositivo MFA e la password TOTP corrente che Nikhil ottiene dal suo dispositivo. 

1. Nikhil (o un'applicazione che lui sta usando) usa le credenziali temporanee restituite da `GetSessionToken` per chiamare l'operazione `PutObject` di Amazon S3 per caricare un file in `Account-A-bucket`. 

   Per un esempio di programma che chiama `GetSessionToken`, consulta [GetSessionToken Chiamate con autenticazione MFA](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-getsessiontoken) più avanti in questo documento.
**Nota**  
Le credenziali temporanee che `AssumeRole` restituisce non funzionano in questo caso. Anche se l'utente è in grado di fornire informazioni MFA per assumere un ruolo, le credenziali temporanee restituite da `AssumeRole` non includono le informazioni MFA. Queste informazione sono necessarie per soddisfare la condizione MFA nella policy. 

# Codice di esempio: richiesta di credenziali con l'autenticazione a più fattori (MFA)
<a name="id_credentials_mfa_sample-code"></a>

I seguenti esempi mostrano come chiamare le operazioni `GetSessionToken` e `AssumeRole` e passare i parametri di autenticazione MFA. Non è richiesta alcuna autorizzazione per chiamare `GetSessionToken`, ma è necessario disporre di una policy che permetta di chiamare `AssumeRole`. Le credenziali restituite vengono quindi utilizzate per elencare tutti i bucket S3 nell'account.

## GetSessionToken Chiamate con autenticazione MFA
<a name="MFAProtectedAPI-example-getsessiontoken"></a>

I seguenti esempi mostrano come chiamare `GetSessionToken` e passare le informazioni sull'autenticazione MFA. Le credenziali di sicurezza temporanee restituite dall'operazione `GetSessionToken` vengono quindi utilizzate per elencare tutti i bucket S3 nell'account.

La policy collegata all'utente che esegue questo codice (o a un gruppo in cui si trova utente) fornisce le autorizzazioni per le credenziali temporanee restituite. Per questo codice di esempio, la policy deve concedere all'utente l'autorizzazione per richiedere l'operazione `ListBuckets` di Amazon S3. 

Gli esempi di codice seguenti mostrano come utilizzare `GetSessionToken`.

------
#### [ CLI ]

**AWS CLI**  
**Come ottenere un set di credenziali a breve termine per un’identità IAM**  
il comando `get-session-token` seguente recupera un set di credenziali a breve termine per l’identità IAM che esegue la chiamata. Le credenziali risultanti possono essere utilizzate per richieste in cui l’autenticazione a più fattori (MFA) è richiesta dalla policy. Le credenziali scadono 15 minuti dopo la loro generazione.  

```
aws sts get-session-token \
    --duration-seconds 900 \
    --serial-number "YourMFADeviceSerialNumber" \
    --token-code 123456
```
Output:  

```
{
    "Credentials": {
        "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
        "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE",
        "Expiration": "2020-05-19T18:06:10+00:00"
    }
}
```
Per ulteriori informazioni, consulta [Richiesta di credenziali di sicurezza temporanee](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) nella *AWS Guida per l’utente di IAM*.  
+  Per i dettagli sull'API, consulta [GetSessionToken AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-session-token.html)*Command Reference.* 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: restituisce un’istanza `Amazon.RuntimeAWSCredentials` contenente credenziali temporanee valide per un determinato periodo di tempo. Le credenziali utilizzate per richiedere credenziali temporanee vengono dedotte dalle impostazioni predefinite correnti della shell. Per specificare altre credenziali, utilizzare i parametri - ProfileName o - AccessKey SecretKey /.**  

```
Get-STSSessionToken
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Esempio 2: restituisce un’istanza `Amazon.RuntimeAWSCredentials` contenente credenziali temporanee valide per un’ora. Le credenziali utilizzate per effettuare la richiesta vengono ottenute dal profilo specificato.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Esempio 3: restituisce un’istanza `Amazon.RuntimeAWSCredentials` contenente credenziali temporanee valide per un’ora utilizzando il numero di identificazione del dispositivo MFA associato all’account le cui credenziali sono specificate nel profilo ’myprofilename’ e il valore fornito dal dispositivo.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  Per i dettagli sull'API, vedere [GetSessionToken](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference* (V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: restituisce un’istanza `Amazon.RuntimeAWSCredentials` contenente credenziali temporanee valide per un determinato periodo di tempo. Le credenziali utilizzate per richiedere credenziali temporanee vengono dedotte dalle impostazioni predefinite correnti della shell. Per specificare altre credenziali, utilizzare i parametri - ProfileName o - AccessKey SecretKey /.**  

```
Get-STSSessionToken
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Esempio 2: restituisce un’istanza `Amazon.RuntimeAWSCredentials` contenente credenziali temporanee valide per un’ora. Le credenziali utilizzate per effettuare la richiesta vengono ottenute dal profilo specificato.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Esempio 3: restituisce un’istanza `Amazon.RuntimeAWSCredentials` contenente credenziali temporanee valide per un’ora utilizzando il numero di identificazione del dispositivo MFA associato all’account le cui credenziali sono specificate nel profilo ’myprofilename’ e il valore fornito dal dispositivo.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  Per i dettagli sull'API, vedere [GetSessionToken](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference* (V5). 

------
#### [ Python ]

**SDK per Python (Boto3)**  
 C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/sts#code-examples). 
Recupera un token di sessione passando un token MFA e utilizzalo per elencare i bucket Amazon S3 per l’account.  

```
def list_buckets_with_session_token_with_mfa(mfa_serial_number, mfa_totp, sts_client):
    """
    Gets a session token with MFA credentials and uses the temporary session
    credentials to list Amazon S3 buckets.

    Requires an MFA device serial number and token.

    :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA
                              device, this is an Amazon Resource Name (ARN).
    :param mfa_totp: A time-based, one-time password issued by the MFA device.
    :param sts_client: A Boto3 STS instance that has permission to assume the role.
    """
    if mfa_serial_number is not None:
        response = sts_client.get_session_token(
            SerialNumber=mfa_serial_number, TokenCode=mfa_totp
        )
    else:
        response = sts_client.get_session_token()
    temp_credentials = response["Credentials"]

    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )

    print(f"Buckets for the account:")
    for bucket in s3_resource.buckets.all():
        print(bucket.name)
```
+  Per i dettagli sull'API, consulta [GetSessionToken AWS](https://docs.aws.amazon.com/goto/boto3/sts-2011-06-15/GetSessionToken)*SDK for Python (Boto3) API Reference*. 

------

## AssumeRole Chiamate con autenticazione MFA
<a name="MFAProtectedAPI-example-assumerole"></a>

I seguenti esempi mostrano come chiamare `AssumeRole` e passare le informazioni sull'autenticazione MFA. Le credenziali di sicurezza temporanee restituite da `AssumeRole` vengono quindi utilizzate per elencare tutti i bucket Amazon S3 nell'account.

Per ulteriori informazioni su questo scenario, consulta [Scenario: Protezione MFA per la delega tra account](id_credentials_mfa_configure-api-require.md#MFAProtectedAPI-cross-account-delegation). 

Gli esempi di codice seguenti mostrano come utilizzare `AssumeRole`.

------
#### [ .NET ]

**SDK per .NET**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/STS#code-examples). 

```
using System;
using System.Threading.Tasks;
using Amazon;
using Amazon.SecurityToken;
using Amazon.SecurityToken.Model;

namespace AssumeRoleExample
{
    class AssumeRole
    {
        /// <summary>
        /// This example shows how to use the AWS Security Token
        /// Service (AWS STS) to assume an IAM role.
        ///
        /// NOTE: It is important that the role that will be assumed has a
        /// trust relationship with the account that will assume the role.
        ///
        /// Before you run the example, you need to create the role you want to
        /// assume and have it trust the IAM account that will assume that role.
        ///
        /// See https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html
        /// for help in working with roles.
        /// </summary>

        // A region property may be used if the profile or credentials loaded do not specify a region,
        // or to use a specific region.
        private static readonly RegionEndpoint REGION = RegionEndpoint.USWest2;

        static async Task Main()
        {
            // Create the SecurityToken client and then display the identity of the
            // default user.
            var roleArnToAssume = "arn:aws:iam::123456789012:role/testAssumeRole";

            var client = new Amazon.SecurityToken.AmazonSecurityTokenServiceClient(REGION);

            // Get and display the information about the identity of the default user.
            var callerIdRequest = new GetCallerIdentityRequest();
            var caller = await client.GetCallerIdentityAsync(callerIdRequest);
            Console.WriteLine($"Original Caller: {caller.Arn}");

            // Create the request to use with the AssumeRoleAsync call.
            var assumeRoleReq = new AssumeRoleRequest()
            {
                DurationSeconds = 1600,
                RoleSessionName = "Session1",
                RoleArn = roleArnToAssume
            };

            var assumeRoleRes = await client.AssumeRoleAsync(assumeRoleReq);

            // Now create a new client based on the credentials of the caller assuming the role.
            var client2 = new AmazonSecurityTokenServiceClient(credentials: assumeRoleRes.Credentials, REGION);

            // Get and display information about the caller that has assumed the defined role.
            var caller2 = await client2.GetCallerIdentityAsync(callerIdRequest);
            Console.WriteLine($"AssumedRole Caller: {caller2.Arn}");
        }
    }
}
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://docs.aws.amazon.com/goto/DotNetSDKV3/sts-2011-06-15/AssumeRole)sezione *AWS SDK per .NET API Reference*. 

------
#### [ Bash ]

**AWS CLI con lo script Bash**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/iam#code-examples). 

```
###############################################################################
# function iecho
#
# This function enables the script to display the specified text only if
# the global variable $VERBOSE is set to true.
###############################################################################
function iecho() {
  if [[ $VERBOSE == true ]]; then
    echo "$@"
  fi
}

###############################################################################
# function errecho
#
# This function outputs everything sent to it to STDERR (standard error output).
###############################################################################
function errecho() {
  printf "%s\n" "$*" 1>&2
}

###############################################################################
# function sts_assume_role
#
# This function assumes a role in the AWS account and returns the temporary
#  credentials.
#
# Parameters:
#       -n role_session_name -- The name of the session.
#       -r role_arn -- The ARN of the role to assume.
#
# Returns:
#       [access_key_id, secret_access_key, session_token]
#     And:
#       0 - If successful.
#       1 - If an error occurred.
###############################################################################
function sts_assume_role() {
  local role_session_name role_arn response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function sts_assume_role"
    echo "Assumes a role in the AWS account and returns the temporary credentials:"
    echo "  -n role_session_name -- The name of the session."
    echo "  -r role_arn -- The ARN of the role to assume."
    echo ""
  }

  while getopts n:r:h option; do
    case "${option}" in
      n) role_session_name=${OPTARG} ;;
      r) role_arn=${OPTARG} ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done

  response=$(aws sts assume-role \
    --role-session-name "$role_session_name" \
    --role-arn "$role_arn" \
    --output text \
    --query "Credentials.[AccessKeyId, SecretAccessKey, SessionToken]")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-role operation failed.\n$response"
    return 1
  fi

  echo "$response"

  return 0
}
```
+  Per i dettagli sull'API, consulta [AssumeRole AWS CLI](https://docs.aws.amazon.com/goto/aws-cli/sts-2011-06-15/AssumeRole)*Command Reference*. 

------
#### [ C\$1\$1 ]

**SDK per C\$1\$1**  
 C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/sts#code-examples). 

```
bool AwsDoc::STS::assumeRole(const Aws::String &roleArn,
                             const Aws::String &roleSessionName,
                             const Aws::String &externalId,
                             Aws::Auth::AWSCredentials &credentials,
                             const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::STS::STSClient sts(clientConfig);
    Aws::STS::Model::AssumeRoleRequest sts_req;

    sts_req.SetRoleArn(roleArn);
    sts_req.SetRoleSessionName(roleSessionName);
    sts_req.SetExternalId(externalId);

    const Aws::STS::Model::AssumeRoleOutcome outcome = sts.AssumeRole(sts_req);

    if (!outcome.IsSuccess()) {
        std::cerr << "Error assuming IAM role. " <<
                  outcome.GetError().GetMessage() << std::endl;
    }
    else {
        std::cout << "Credentials successfully retrieved." << std::endl;
        const Aws::STS::Model::AssumeRoleResult result = outcome.GetResult();
        const Aws::STS::Model::Credentials &temp_credentials = result.GetCredentials();

        // Store temporary credentials in return argument.
        // Note: The credentials object returned by assumeRole differs
        // from the AWSCredentials object used in most situations.
        credentials.SetAWSAccessKeyId(temp_credentials.GetAccessKeyId());
        credentials.SetAWSSecretKey(temp_credentials.GetSecretAccessKey());
        credentials.SetSessionToken(temp_credentials.GetSessionToken());
    }

    return outcome.IsSuccess();
}
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://docs.aws.amazon.com/goto/SdkForCpp/sts-2011-06-15/AssumeRole)sezione *AWS SDK per C\$1\$1 API Reference*. 

------
#### [ CLI ]

**AWS CLI**  
**Come assumere un ruolo**  
Il comando `assume-role` seguente recupera un set di credenziali a breve termine per il ruolo IAM `s3-access-example`.  

```
aws sts assume-role \
    --role-arn arn:aws:iam::123456789012:role/xaccounts3access \
    --role-session-name s3-access-example
```
Output:  

```
{
    "AssumedRoleUser": {
        "AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example",
        "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example"
    },
    "Credentials": {
        "SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI",
        "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=",
        "Expiration": "2016-03-15T00:05:07Z",
        "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA"
    }
}
```
L’output del comando contiene una chiave di accesso, una chiave segreta e un token di sessione che puoi utilizzare per l’autenticazione in AWS.  
Per l'utilizzo della AWS CLI, è possibile impostare un profilo denominato associato a un ruolo. Quando utilizzi il profilo, la AWS CLI chiamerà assume-role e gestirà le credenziali per te. *Per ulteriori informazioni, consulta [Utilizzare un ruolo IAM nella CLI nella AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) User Guide AWS .*  
+  Per i dettagli sull'API, consulta *AWS CLI Command [AssumeRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html)Reference*. 

------
#### [ Java ]

**SDK per Java 2.x**  
 C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/sts#code-examples). 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sts.StsClient;
import software.amazon.awssdk.services.sts.model.AssumeRoleRequest;
import software.amazon.awssdk.services.sts.model.StsException;
import software.amazon.awssdk.services.sts.model.AssumeRoleResponse;
import software.amazon.awssdk.services.sts.model.Credentials;
import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;

/**
 * To make this code example work, create a Role that you want to assume.
 * Then define a Trust Relationship in the AWS Console. You can use this as an
 * example:
 *
 * {
 * "Version":"2012-10-17",		 	 	 
 * "Statement": [
 * {
 * "Effect": "Allow",
 * "Principal": {
 * "AWS": "<Specify the ARN of your IAM user you are using in this code example>"
 * },
 * "Action": "sts:AssumeRole"
 * }
 * ]
 * }
 *
 * For more information, see "Editing the Trust Relationship for an Existing
 * Role" in the AWS Directory Service guide.
 *
 * Also, set up your development environment, including your credentials.
 *
 * For information, see this documentation topic:
 *
 * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
 */
public class AssumeRole {
    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <roleArn> <roleSessionName>\s

                Where:
                    roleArn - The Amazon Resource Name (ARN) of the role to assume (for example, arn:aws:iam::000008047983:role/s3role).\s
                    roleSessionName - An identifier for the assumed role session (for example, mysession).\s
                """;

        if (args.length != 2) {
            System.out.println(usage);
            System.exit(1);
        }

        String roleArn = args[0];
        String roleSessionName = args[1];
        Region region = Region.US_EAST_1;
        StsClient stsClient = StsClient.builder()
                .region(region)
                .build();

        assumeGivenRole(stsClient, roleArn, roleSessionName);
        stsClient.close();
    }

    public static void assumeGivenRole(StsClient stsClient, String roleArn, String roleSessionName) {
        try {
            AssumeRoleRequest roleRequest = AssumeRoleRequest.builder()
                    .roleArn(roleArn)
                    .roleSessionName(roleSessionName)
                    .build();

            AssumeRoleResponse roleResponse = stsClient.assumeRole(roleRequest);
            Credentials myCreds = roleResponse.credentials();

            // Display the time when the temp creds expire.
            Instant exTime = myCreds.expiration();
            String tokenInfo = myCreds.sessionToken();

            // Convert the Instant to readable date.
            DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT)
                    .withLocale(Locale.US)
                    .withZone(ZoneId.systemDefault());

            formatter.format(exTime);
            System.out.println("The token " + tokenInfo + "  expires on " + exTime);

        } catch (StsException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://docs.aws.amazon.com/goto/SdkForJavaV2/sts-2011-06-15/AssumeRole)sezione *AWS SDK for Java 2.x API Reference*. 

------
#### [ JavaScript ]

**SDK per JavaScript (v3)**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/sts#code-examples). 
Crea il client.  

```
import { STSClient } from "@aws-sdk/client-sts";
// Set the AWS Region.
const REGION = "us-east-1";
// Create an AWS STS service client object.
export const client = new STSClient({ region: REGION });
```
Assumi il ruolo IAM.  

```
import { AssumeRoleCommand } from "@aws-sdk/client-sts";

import { client } from "../libs/client.js";

export const main = async () => {
  try {
    // Returns a set of temporary security credentials that you can use to
    // access Amazon Web Services resources that you might not normally
    // have access to.
    const command = new AssumeRoleCommand({
      // The Amazon Resource Name (ARN) of the role to assume.
      RoleArn: "ROLE_ARN",
      // An identifier for the assumed role session.
      RoleSessionName: "session1",
      // The duration, in seconds, of the role session. The value specified
      // can range from 900 seconds (15 minutes) up to the maximum session
      // duration set for the role.
      DurationSeconds: 900,
    });
    const response = await client.send(command);
    console.log(response);
  } catch (err) {
    console.error(err);
  }
};
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sts/command/AssumeRoleCommand)sezione *AWS SDK per JavaScript API Reference*. 

**SDK per JavaScript (v2)**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascript/example_code/sts#code-examples). 

```
// Load the AWS SDK for Node.js
const AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

var roleToAssume = {
  RoleArn: "arn:aws:iam::123456789012:role/RoleName",
  RoleSessionName: "session1",
  DurationSeconds: 900,
};
var roleCreds;

// Create the STS service object
var sts = new AWS.STS({ apiVersion: "2011-06-15" });

//Assume Role
sts.assumeRole(roleToAssume, function (err, data) {
  if (err) console.log(err, err.stack);
  else {
    roleCreds = {
      accessKeyId: data.Credentials.AccessKeyId,
      secretAccessKey: data.Credentials.SecretAccessKey,
      sessionToken: data.Credentials.SessionToken,
    };
    stsGetCallerIdentity(roleCreds);
  }
});

//Get Arn of current identity
function stsGetCallerIdentity(creds) {
  var stsParams = { credentials: creds };
  // Create STS service object
  var sts = new AWS.STS(stsParams);

  sts.getCallerIdentity({}, function (err, data) {
    if (err) {
      console.log(err, err.stack);
    } else {
      console.log(data.Arn);
    }
  });
}
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://docs.aws.amazon.com/goto/AWSJavaScriptSDK/sts-2011-06-15/AssumeRole)sezione *AWS SDK per JavaScript API Reference*. 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: restituisce un set di credenziali temporanee (chiave di accesso, chiave segreta e token di sessione) che possono essere utilizzate per un'ora per accedere a AWS risorse a cui l'utente richiedente potrebbe normalmente non avere accesso. Le credenziali restituite hanno le autorizzazioni consentite dalla policy di accesso del ruolo assunto e dalla policy fornita (non è possibile utilizzare la policy fornita per concedere autorizzazioni superiori a quelle definite dalla policy di accesso del ruolo assunto).**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**Esempio 2: restituisce un set di credenziali temporanee, valide per un’ora, con le stesse autorizzazioni definite nella policy di accesso del ruolo assunto.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**Esempio 3: restituisce un set di credenziali temporanee che forniscono il numero di serie e il token generato da un MFA associato alle credenziali utente utilizzate per eseguire il cmdlet.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**Esempio 4: restituisce un set di credenziali temporanee che hanno assunto un ruolo definito in un account cliente. Per ogni ruolo che la terza parte può assumere, l'account cliente deve creare un ruolo utilizzando un identificatore che deve essere passato nel ExternalId parametro - ogni volta che viene assunto il ruolo.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  Per i dettagli sull'API, vedere [AssumeRole](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: restituisce un set di credenziali temporanee (chiave di accesso, chiave segreta e token di sessione) che possono essere utilizzate per un'ora per accedere a AWS risorse a cui l'utente richiedente potrebbe normalmente non avere accesso. Le credenziali restituite hanno le autorizzazioni consentite dalla policy di accesso del ruolo assunto e dalla policy fornita (non è possibile utilizzare la policy fornita per concedere autorizzazioni superiori a quelle definite dalla policy di accesso del ruolo assunto).**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**Esempio 2: restituisce un set di credenziali temporanee, valide per un’ora, con le stesse autorizzazioni definite nella policy di accesso del ruolo assunto.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**Esempio 3: restituisce un set di credenziali temporanee che forniscono il numero di serie e il token generato da un MFA associato alle credenziali utente utilizzate per eseguire il cmdlet.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**Esempio 4: restituisce un set di credenziali temporanee che hanno assunto un ruolo definito in un account cliente. Per ogni ruolo che la terza parte può assumere, l'account cliente deve creare un ruolo utilizzando un identificatore che deve essere passato nel ExternalId parametro - ogni volta che viene assunto il ruolo.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  Per i dettagli sull'API, vedere [AssumeRole](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V5). 

------
#### [ Python ]

**SDK per Python (Boto3)**  
 C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/sts#code-examples). 
Assumi un ruolo IAM che richiede un token MFA e utilizza le credenziali temporanee per elencare i bucket Amazon S3 per l’account.  

```
def list_buckets_from_assumed_role_with_mfa(
    assume_role_arn, session_name, mfa_serial_number, mfa_totp, sts_client
):
    """
    Assumes a role from another account and uses the temporary credentials from
    that role to list the Amazon S3 buckets that are owned by the other account.
    Requires an MFA device serial number and token.

    The assumed role must grant permission to list the buckets in the other account.

    :param assume_role_arn: The Amazon Resource Name (ARN) of the role that
                            grants access to list the other account's buckets.
    :param session_name: The name of the STS session.
    :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA
                              device, this is an ARN.
    :param mfa_totp: A time-based, one-time password issued by the MFA device.
    :param sts_client: A Boto3 STS instance that has permission to assume the role.
    """
    response = sts_client.assume_role(
        RoleArn=assume_role_arn,
        RoleSessionName=session_name,
        SerialNumber=mfa_serial_number,
        TokenCode=mfa_totp,
    )
    temp_credentials = response["Credentials"]
    print(f"Assumed role {assume_role_arn} and got temporary credentials.")

    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )

    print(f"Listing buckets for the assumed role's account:")
    for bucket in s3_resource.buckets.all():
        print(bucket.name)
```
+  Per i dettagli sull'API, consulta [AssumeRole AWS](https://docs.aws.amazon.com/goto/boto3/sts-2011-06-15/AssumeRole)*SDK for Python (Boto3) API Reference*. 

------
#### [ Ruby ]

**SDK per Ruby**  
 C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/iam#code-examples). 

```
  # Creates an AWS Security Token Service (AWS STS) client with specified credentials.
  # This is separated into a factory function so that it can be mocked for unit testing.
  #
  # @param key_id [String] The ID of the access key used by the STS client.
  # @param key_secret [String] The secret part of the access key used by the STS client.
  def create_sts_client(key_id, key_secret)
    Aws::STS::Client.new(access_key_id: key_id, secret_access_key: key_secret)
  end

  # Gets temporary credentials that can be used to assume a role.
  #
  # @param role_arn [String] The ARN of the role that is assumed when these credentials
  #                          are used.
  # @param sts_client [AWS::STS::Client] An AWS STS client.
  # @return [Aws::AssumeRoleCredentials] The credentials that can be used to assume the role.
  def assume_role(role_arn, sts_client)
    credentials = Aws::AssumeRoleCredentials.new(
      client: sts_client,
      role_arn: role_arn,
      role_session_name: 'create-use-assume-role-scenario'
    )
    @logger.info("Assumed role '#{role_arn}', got temporary credentials.")
    credentials
  end
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://docs.aws.amazon.com/goto/SdkForRubyV3/sts-2011-06-15/AssumeRole)sezione *AWS SDK per Ruby API Reference*. 

------
#### [ Rust ]

**SDK per Rust**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/sts/#code-examples). 

```
async fn assume_role(config: &SdkConfig, role_name: String, session_name: Option<String>) {
    let provider = aws_config::sts::AssumeRoleProvider::builder(role_name)
        .session_name(session_name.unwrap_or("rust_sdk_example_session".into()))
        .configure(config)
        .build()
        .await;

    let local_config = aws_config::from_env()
        .credentials_provider(provider)
        .load()
        .await;
    let client = Client::new(&local_config);
    let req = client.get_caller_identity();
    let resp = req.send().await;
    match resp {
        Ok(e) => {
            println!("UserID :               {}", e.user_id().unwrap_or_default());
            println!("Account:               {}", e.account().unwrap_or_default());
            println!("Arn    :               {}", e.arn().unwrap_or_default());
        }
        Err(e) => println!("{:?}", e),
    }
}
```
+  Per i dettagli sulle API, consulta la [AssumeRole](https://docs.rs/aws-sdk-sts/latest/aws_sdk_sts/client/struct.Client.html#method.assume_role)guida di *riferimento all'API AWS SDK for Rust*. 

------
#### [ Swift ]

**SDK per Swift**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift/example_code/iam#code-examples). 

```
import AWSSTS

    public func assumeRole(role: IAMClientTypes.Role, sessionName: String)
        async throws -> STSClientTypes.Credentials
    {
        let input = AssumeRoleInput(
            roleArn: role.arn,
            roleSessionName: sessionName
        )
        do {
            let output = try await stsClient.assumeRole(input: input)

            guard let credentials = output.credentials else {
                throw ServiceHandlerError.authError
            }

            return credentials
        } catch {
            print("Error assuming role: ", dump(error))
            throw error
        }
    }
```
+  Per i dettagli sull'API, consulta la [AssumeRole](https://sdk.amazonaws.com/swift/api/awssts/latest/documentation/awssts/stsclient/assumerole(input:))guida di riferimento all'*API AWS SDK for Swift*. 

------