Amazon EC2: richiede MFA (GetSessionToken) per operazioni EC2 specifiche - AWS Identity and Access Management

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

Amazon EC2: richiede MFA (GetSessionToken) per operazioni EC2 specifiche

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo a tutte le operazioni AWS API in Amazon EC2. Tuttavia, rifiuta esplicitamente l'accesso alle operazioni API StopInstances e TerminateInstances se l'utente non viene autenticato utilizzando l'autenticazione a più fattori (MFA, Multi-Factor Authentication). Per eseguire questa operazione a livello di programmazione, l'utente deve includere valori SerialNumber e TokenCode opzionali durante la chiamata all'operazione GetSessionToken. Questa operazione restituisce credenziali temporanee autenticate utilizzando MFA. Per ulteriori informazioni, consulta. GetSessionToken Richiesta di credenziali per utenti in ambienti non attendibili

Che cosa fa questa policy?

  • L'istruzione AllowAllActionsForEC2 consente tutte le operazioni Amazon EC2.

  • La dichiarazione DenyStopAndTerminateWhenMFAIsNotPresent rifiuta le operazioni TerminateInstances e StopInstances quando manca il contesto MFA. Ciò significa che le operazioni vengono rifiutate quando manca il contesto dell'autenticazione a più fattori (ovvero, MFA non è stato utilizzato). Un rifiuto sostituisce il consenso.

Nota

Il controllo della condizione per MultiFactorAuthPresent nella dichiarazione Deny non deve essere {"Bool":{"aws:MultiFactorAuthPresent":false}}, perché tale chiave non è presente e non può essere valutata quando MFA non viene utilizzato. Utilizzare invece il controllo BoolIfExists per vedere se la chiave è presente prima di controllare il valore. Per ulteriori informazioni, consulta ... IfExists operatori di condizionamento.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllActionsForEC2", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent", "Effect": "Deny", "Action": [ "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "BoolIfExists": {"aws:MultiFactorAuthPresent": false} } } ] }