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 GetSessionToken: le credenziali temporanee per gli 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} } } ] }