AWS: consente agli utenti IAM autenticati tramite MFA di gestire il proprio dispositivo MFA nella pagina Credenziali di sicurezza - 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à.

AWS: consente agli utenti IAM autenticati tramite MFA di gestire il proprio dispositivo MFA nella pagina Credenziali di sicurezza

Questo esempio mostra come è possibile creare una policy basata sull'identità che consenta agli utenti IAM autenticati tramite l'autenticazione a più fattori (MFA) di gestire il proprio dispositivo MFA nella pagina Credenziali di sicurezza. Questa AWS Management Console pagina mostra le informazioni sull'account e sull'utente, ma l'utente può solo visualizzare e modificare il proprio dispositivo MFA. Per consentire agli utenti di gestire le proprie credenziali con MFA, consulta AWS: consente agli utenti IAM autenticati tramite MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza.

Nota

Se un utente IAM con questa policy non è autenticato tramite MFA, questa policy nega l'accesso a tutte le AWS azioni tranne quelle necessarie per l'autenticazione tramite MFA. Per utilizzare l' AWS API AWS CLI and, gli utenti IAM devono prima recuperare il proprio token MFA utilizzando AWS STS GetSessionTokenl'operazione e quindi utilizzare quel token per autenticare l'operazione desiderata. Altre policy, ad esempio le policy basate sulle risorse o altre policy basate sull'identità, possono consentire operazioni in altri servizi. Questa policy negherà tale accesso se l'utente IAM non dispone dell'autenticazione MFA.

Per informazioni su come gli utenti possono accedere alla pagina delle credenziali di sicurezza, consulta. Come gli utenti IAM possono cambiare le proprie password (console)

Che cosa fa questa policy?

  • L'istruzione AllowViewAccountInfo consente all'utente di visualizzare i dettagli di un dispositivo MFA virtuale abilitato per l'utente. Questa autorizzazione deve essere nella propria dichiarazione perché non specifica un ARN della risorsa. È necessario invece specificare "Resource" : "*".

  • L'istruzione AllowManageOwnVirtualMFADevice consente all'utente di creare il proprio dispositivo virtuale MFA. L'ARN della risorsa in questa istruzione consente all'utente di creare un dispositivo MFA con qualsiasi nome, ma le altre istruzioni nella policy consentono all'utente soltanto di collegare il dispositivo all'utente correntemente registrato.

  • L'istruzione AllowManageOwnUserMFA consente all'utente di visualizzare o gestire il proprio dispositivo MFA virtuale, U2F o hardware. L'ARN della risorsa in questa istruzione consente di accedere solo all'utente IAM dell'utente stesso. Gli utenti non possono visualizzare o gestire il dispositivo MFA per altri utenti.

  • L'DenyAllExceptListedIfNoMFAistruzione nega l'accesso a tutte le azioni in tutti i AWS servizi, ad eccezione di alcune azioni elencate, ma solo se l'utente non ha effettuato l'accesso con MFA. L'istruzione utilizza una combinazione di "Deny" e "NotAction" per negare esplicitamente l'accesso a tutte le operazioni che non sono nell'elenco. Gli elementi elencati non sono negati o consentiti da questa istruzione. Tuttavia, le azioni sono consentite da altre istruzioni della policy. Per ulteriori informazioni sulla logica di questa istruzione, vedere NotAction with Deny. Se l'utente ha eseguito l'accesso con l'autenticazione MFA, il test Condition dà esito negativo e questa istruzione non produce effetti. In questo caso, altre policy o dichiarazioni per l'utente determinano le autorizzazioni dell'utente.

    Questa istruzione garantisce che quando l'utente non ha effettuato l'accesso con MFA può eseguire solo le operazioni elencate. Inoltre, possono eseguire le operazioni elencate, solo se un'altra istruzione o policy consente l'accesso a tali operazioni.

    La versione ...IfExists dell'operatore Bool garantisce che se la chiave aws:MultiFactorAuthPresent manca, la condizione restituisce true. Questo significa che a un utente che accede a un'operazione API con le credenziali di lungo termine, come una chiave di accesso, viene negato l'accesso alle operazioni API non IAM.

Questa policy non consente agli utenti di visualizzare la pagina Utenti nella console IAM o utilizzare questa pagina per accedere alle proprie informazioni utente. Per consentire questa operazione, aggiungere l'operazione iam:ListUsers all'istruzione AllowViewAccountInfo e all'istruzione DenyAllExceptListedIfNoMFA.

avvertimento

Non aggiungere l'autorizzazione per l'eliminazione di un dispositivo MFA senza autenticazione MFA. Gli utenti con questa policy potrebbero tentare di autoassegnarsi un dispositivo MFA virtuale e ricevere un errore in cui si specifica che non sono autorizzati a eseguire iam:DeleteVirtualMFADevice. In questo caso, non aggiungere tale autorizzazione all'istruzione DenyAllExceptListedIfNoMFA. Agli utenti che non si autenticano tramite MFA non deve mai essere consentito di eliminare il dispositivo MFA. Gli utenti potrebbero visualizzare questo errore se hanno in precedenza iniziato ad assegnare un dispositivo MFA virtuale all'utente e annullato il processo. Per risolvere questo problema, tu o un altro amministratore dovete eliminare il dispositivo MFA virtuale esistente dell'utente utilizzando l'API AWS CLI o AWS . Per ulteriori informazioni, consulta Non sono autorizzato a eseguire: iam: MFADevice DeleteVirtual.

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