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à.
Least-privilege autorizzazioni
Poiché le tue chiavi KMS proteggono le informazioni sensibili, ti consigliamo di seguire il principio dell'accesso con privilegi minimi. Delega le autorizzazioni minime richieste per eseguire un'attività quando definisci le tue politiche chiave. Consenti tutte le azioni (kms:*) su una policy chiave KMS solo se prevedi di limitare ulteriormente le autorizzazioni con politiche IAM aggiuntive. Se prevedi di gestire le autorizzazioni con le policy IAM, limita chi ha la possibilità di creare e allegare politiche IAM ai presidi IAM e monitora le modifiche alle policy.
Se consenti tutte le azioni (kms:*) sia nella policy chiave che nella policy IAM, il principale dispone delle autorizzazioni amministrative e di utilizzo della chiave KMS. Come best practice di sicurezza, consigliamo di delegare queste autorizzazioni solo a committenti specifici. Puoi farlo nominando esplicitamente il principale nella policy chiave o limitando i principi a cui è collegata la policy IAM. Puoi anche utilizzare le chiavi di condizione per limitare le autorizzazioni. Ad esempio, puoi utilizzare aws:PrincipalTag to per consentire tutte le azioni se il principale che effettua la chiamata API ha il tag specificato nella regola di condizione.
Per capire come vengono valutate le dichiarazioni politiche in AWS, consulta la logica di valutazione delle politiche nella IAM User Guide. Ti consigliamo di esaminare questo argomento prima di scrivere le politiche per ridurre la possibilità che la tua politica abbia effetti indesiderati, come fornire l'accesso a committenti che non dovrebbero avere accesso.
Suggerimento
Quando testate un'applicazione in un ambiente non di produzione, utilizzate IAM Access Analyzer
Se utilizzi utenti IAM anziché ruoli IAM, ti consigliamo vivamente di abilitare l' AWS autenticazione a più fattori (MFA) per mitigare la vulnerabilità delle credenziali a lungo termine. È possibile usare l'MFA per le seguenti operazioni:
-
Richiedi agli utenti di convalidare le proprie credenziali con l'MFA prima di eseguire azioni privilegiate, come la pianificazione dell'eliminazione delle chiavi.
-
Suddividi la proprietà di un account amministratore, della password e del dispositivo MFA tra gli individui per implementare l'autorizzazione divisa.
Ulteriori informazioni
Implementazione di autorizzazioni con privilegio minimo
Quando concedi a un AWS servizio l'autorizzazione all'uso di una chiave KMS, assicurati che l'autorizzazione sia valida solo per le risorse a cui il servizio deve accedere per tuo conto. Questa strategia con privilegi minimi aiuta a prevenire l'uso non autorizzato di una chiave KMS quando le richieste vengono trasmesse tra servizi. AWS
Per implementare una strategia con privilegi minimi, si consiglia di utilizzare le chiavi di condizione del contesto di AWS KMS crittografia e l'ARN di origine globale o le chiavi di condizione dell'account di origine.
Utilizzo delle chiavi di condizione del contesto di crittografia
Il modo più efficace per implementare le autorizzazioni con i privilegi meno privilegiati quando si utilizzano AWS KMS le risorse consiste nell'includere le chiavi di kms:EncryptionContextKeys condizione kms:EncryptionContext:context-key or nella policy che consente ai principali di chiamare le operazioni crittografiche. AWS KMS Queste chiavi di condizione sono particolarmente efficaci perché associano l'autorizzazione al contesto di crittografia che è legato al testo criptato quando la risorsa è crittografata.
Utilizzate le chiavi delle condizioni del contesto di crittografia solo quando l'azione nella dichiarazione della politica è CreateGrant o un'operazione crittografica AWS KMS simmetrica che richiede un EncryptionContext parametro, ad esempio le operazioni like o Decrypt. GenerateDataKey https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html (Per un elenco delle operazioni supportate, consultare kms:EncryptionContext:context-key o kms:EncryptionContextKeys). Se utilizzi queste chiavi di condizione per consentire altre operazioni, ad esempio, l'autorizzazione verrà negata DescribeKey.
Impostare il valore sul contesto di crittografia utilizzato dal servizio quando crittografa la risorsa. Queste informazioni sono generalmente disponibili nel capitolo Sicurezza della documentazione del servizio. Ad esempio, il contesto di crittografia per AWS Proton identifica la risorsa AWS Proton e il modello associato. Il contesto di crittografia di AWS Secrets Manager identifica il segreto e la sua versione. Il contesto di crittografia per Amazon Location identifica la localizzazione o la raccolta.
Il seguente esempio di istruzione della chiave delle policy permette ad Amazon Location Service di creare concessioni per conto di utenti autorizzati. Questa dichiarazione politica limita l'autorizzazione utilizzando le chiavi kms: ViaService, kms: CallerAccount e kms:EncryptionContext:context-key condition per collegare l'autorizzazione a una particolare risorsa tracker.
{ "Sid": "Allow Amazon Location to create grants on behalf of authorized users", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/LocationTeam" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "geo.us-west-2.amazonaws.com", "kms:CallerAccount": "111122223333", "kms:EncryptionContext:aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:tracker/SAMPLE-Tracker" } } }
Utilizzo delle chiavi di condizione aws: SourceArn o aws: SourceAccount
Quando il principale in un'istruzione della policy della chiave è un principale del servizio AWS, consigliamo vivamente di utilizzare le chiavi di condizione globale aws:SourceArn o aws:SourceAccount oltre alla chiave di condizione kms:EncryptionContext:context-key. I valori dell'ARN e dell'account sono inclusi nel contesto di autorizzazione solo quando una richiesta proviene AWS KMS da un altro AWS servizio. Questa combinazione di condizioni implementa autorizzazioni meno privilegiate ed evita un potenziale scenario "confused deputy". I service principal non vengono in genere utilizzati come principali in una policy chiave, ma alcuni AWS servizi, ad esempio AWS CloudTrail, lo richiedono.
Per utilizzare le chiavi di condizione globali aws:SourceArn o aws:SourceAccount, impostare il valore sul nome della risorsa Amazon (ARN) o sull'account della risorsa crittografata. Ad esempio, nell'istruzione di una policy della chiave che fornisce l'autorizzazione AWS CloudTrail per crittografare un percorso, impostare sull'ARN del percorso il valore di aws:SourceArn. Quando possibile, utilizzare aws:SourceArn, che è più specifico. Impostare il valore sull'ARN o un modello ARN con caratteri jolly. Se non si conosce l'ARN della risorsa, utilizzare aws:SourceAccount.
Nota
Se l'ARN di una risorsa include caratteri non consentiti in una politica AWS KMS chiave, non è possibile utilizzare tale ARN di risorsa nel valore della chiave condizionale. aws:SourceArn Devi invece utilizzare la chiave di condizione aws:SourceAccount. Per maggiori informazioni sulle regole delineate nel documento delle policy delle chiavi, consulta la sezione Formato della policy della chiave.
Nell'esempio seguente di policy della chiave, il principale che ottiene le autorizzazioni è il principale del servizio AWS CloudTrail , cloudtrail.amazonaws.com. Per implementare il privilegio minimo, questa policy utilizza le chiavi di condizione aws:SourceArn e kms:EncryptionContext:context-key. La dichiarazione politica consente di CloudTrail utilizzare la chiave KMS per generare la chiave dati utilizzata per crittografare un percorso. Le condizioni aws:SourceArn e kms:EncryptionContext:context-key sono valutate in modo indipendente. Qualsiasi richiesta di utilizzare la chiave KMS per l'operazione specificata deve soddisfare entrambe le condizioni.
Per limitare l'autorizzazione del servizio al percorso finance nell'account di esempio (111122223333) e nella Regione us-west-2, questa istruzione di policy definisce la condizione della chiave aws:SourceArn per l'ARN di un particolare percorso. La dichiarazione di condizione utilizza l'ArnEqualsoperatore per garantire che ogni elemento dell'ARN venga valutato indipendentemente durante la corrispondenza. L'esempio utilizza anche la chiave di condizione kms:EncryptionContext:context-key per limitare l'autorizzazione ai percorsi in un determinato account e Regione.
Prima di utilizzare questa policy della chiave, è necessario sostituire l'ID dell'account, la Regione e il nome del percorso di esempio con valori validi riferiti al proprio account.