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 le proprie credenziali 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 le proprie credenziali nella pagina Credenziali di sicurezza. Questa pagina della AWS Management Console mostra informazioni sull'account, come l'ID account e l'ID utente canonico. Gli utenti possono anche visualizzare e modificare le password, le chiavi di accesso, i dispositivi MFA, i certificati X.509, le chiavi SSH e le credenziali Git. Questa policy di esempio include le autorizzazioni necessarie per visualizzare e modificare tutte le informazioni sulla pagina. Richiede inoltre che l'utente si configuri e si autentichi tramite MFA prima di eseguire qualsiasi altra operazione in. AWS Per consentire agli utenti di gestire le proprie credenziali senza MFA, consulta AWS: consente agli utenti IAM di gestire le proprie credenziali nella pagina Credenziali di sicurezza.
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)
Nota
-
Questo criterio di esempio non consente agli utenti di reimpostare una password durante AWS Management Console il primo accesso. Ti consigliamo di non concedere autorizzazioni ai nuovi utenti fino a quando non hanno effettuato l'accesso. Per ulteriori informazioni, consulta Come posso creare IAM utenti in modo sicuro?. Inoltre, ciò impedisce agli utenti con una password scaduta di reimpostare la password durante l'accesso. Per consentire questa operazione, aggiungere
iam:ChangePassword
eiam:GetAccountPasswordPolicy
all'istruzioneDenyAllExceptListedIfNoMFA
. Tuttavia, non ti consigliamo di farlo perché consentire agli utenti di cambiare la password senza MFA può costituire un rischio per la sicurezza. -
Se intendi utilizzare questa policy per l'accesso programmatico, devi chiamare
GetSessionToken
per l'autenticazione con l'MFA. Per ulteriori informazioni, consulta APIAccesso sicuro con MFA.
Che cosa fa questa policy?
-
L'istruzione
AllowViewAccountInfo
consente all'utente di visualizzare le informazioni a livello di account. Queste autorizzazioni devono essere nella propria istruzione perché non supportano o non devono specificare l'ARN di una risorsa. Le autorizzazioni specificano invece"Resource" : "*"
. Questa istruzione include le seguenti operazioni che consentono all'utente di visualizzare informazioni specifiche:-
GetAccountPasswordPolicy
: visualizza i requisiti della password dell'account cambiando la propria password utente IAM. -
ListVirtualMFADevices
: consente di visualizzare i dettagli di un dispositivo MFA virtuale abilitato per l'utente.
-
-
L'istruzione
AllowManageOwnPasswords
consente all'utente di modificare la propria password. Questa istruzione include anche l'operazioneGetUser
, obbligatoria per visualizzare la maggior parte delle informazioni nella pagina My security credentials (Le mie credenziali di sicurezza). -
L'istruzione
AllowManageOwnAccessKeys
consente all'utente di creare, aggiornare ed eliminare le proprie chiavi di accesso. L'utente può anche ottenere informazioni su quando è stata utilizzata l'ultima volta la chiave di accesso specificata. -
L'istruzione
AllowManageOwnSigningCertificates
consente all'utente di caricare, aggiornare ed eliminare i propri certificati di firma. -
L'
AllowManageOwnSSHPublicKeys
istruzione consente all'utente di caricare, aggiornare ed eliminare le proprie chiavi pubbliche SSH per CodeCommit. -
L'
AllowManageOwnGitCredentials
istruzione consente all'utente di creare, aggiornare ed eliminare le proprie credenziali Git per CodeCommit. -
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 dispositivo MFA virtuale, U2F o hardware per il proprio utente. 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'
DenyAllExceptListedIfNoMFA
istruzione 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 testCondition
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. Questo non consente a un utente di creare una password all'accesso, perché l'operazione
iam:ChangePassword
non deve essere consentita senza l'autorizzazione MFA.La versione
...IfExists
dell'operatoreBool
garantisce che se la chiaveleggi: MultiFactorAuthPresent
manca, la condizione restituisce true. Questo significa che a un utente che accede a un'API con le credenziali di lungo termine, ad esempio con 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
. Inoltre, non consente agli utenti di cambiare la password sulla proprio pagina utente. Per consentire questa operazione, aggiungi le operazioni iam:GetLoginProfile
e iam:UpdateLoginProfile
all'istruzione AllowManageOwnPasswords
. Inoltre, per consente a un utente di cambiare la password dalla propria pagina utente senza l'accesso tramite MFA, aggiungere l'operazione iam:UpdateLoginProfile
all'istruzione DenyAllExceptListedIfNoMFA
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewAccountInfo", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:ListVirtualMFADevices" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswords", "Effect": "Allow", "Action": [ "iam:ChangePassword", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:ListAccessKeys", "iam:UpdateAccessKey", "iam:GetAccessKeyLastUsed" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnSigningCertificates", "Effect": "Allow", "Action": [ "iam:DeleteSigningCertificate", "iam:ListSigningCertificates", "iam:UpdateSigningCertificate", "iam:UploadSigningCertificate" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnSSHPublicKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnGitCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ListServiceSpecificCredentials", "iam:ResetServiceSpecificCredential", "iam:UpdateServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnVirtualMFADevice", "Effect": "Allow", "Action": [ "iam:CreateVirtualMFADevice" ], "Resource": "arn:aws:iam::*:mfa/*" }, { "Sid": "AllowManageOwnUserMFA", "Effect": "Allow", "Action": [ "iam:DeactivateMFADevice", "iam:EnableMFADevice", "iam:ListMFADevices", "iam:ResyncMFADevice" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "DenyAllExceptListedIfNoMFA", "Effect": "Deny", "NotAction": [ "iam:CreateVirtualMFADevice", "iam:EnableMFADevice", "iam:GetUser", "iam:GetMFADevice", "iam:ListMFADevices", "iam:ListVirtualMFADevices", "iam:ResyncMFADevice", "sts:GetSessionToken" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": "false" } } } ] }