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à.
Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo a tutte le operazioni API AWS 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 su GetSessionToken, consulta Richiesta di credenziali 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 operazioniTerminateInstances
eStopInstances
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, consultare ... 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}
}
}
]
}