Best practice per le policy IAM - AWS Key Management Service

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à.

Best practice per le policy IAM

Garantire l'accesso a AWS KMS keys è fondamentale per la sicurezza di tutte le AWS risorse. KMSle chiavi vengono utilizzate per proteggere molte delle risorse più sensibili del tuo Account AWS. Prenditi il tempo necessario per progettare le politiche chiave, IAM le politiche, le concessioni e le politiche degli VPC endpoint che controllano l'accesso alle tue KMS chiavi.

Nelle dichiarazioni IAM politiche che controllano l'accesso alle KMS chiavi, utilizza il principio dei meno privilegiati. IAMAssegna ai responsabili solo le autorizzazioni di cui hanno bisogno solo sulle KMS chiavi che devono usare o gestire.

Le seguenti best practice si applicano alle IAM politiche che controllano l'accesso a AWS KMS chiavi e alias. Per indicazioni generali IAM sulle best practice relative alle policy, consulta la sezione Procedure consigliate in materia di sicurezza IAM nella Guida per l'IAMutente.

Utilizzo delle policy delle chiavi

Quando possibile, fornisci le autorizzazioni nelle policy chiave che riguardano una KMS chiave, anziché in una IAM policy che può essere applicata a molte KMS chiavi, incluse quelle di altre Account AWS. Ciò è particolarmente importante per le autorizzazioni sensibili come kms: PutKeyPolicy e kms: ScheduleKeyDeletion ma anche per le operazioni crittografiche che determinano la protezione dei dati.

CreateKey Limita le autorizzazioni

Concedi il permesso di creare chiavi (kms: CreateKey) solo ai principali che ne hanno bisogno. I responsabili che creano una KMS chiave ne stabiliscono anche la politica, in modo che possano concedere a se stessi e agli altri il permesso di usare e gestire le KMS chiavi che creano. Quando concedi questa autorizzazione, è consigliabile limitarla utilizzando le condizioni delle policy. Ad esempio, puoi utilizzare la KeySpec condizione kms: per limitare l'autorizzazione alle chiavi di crittografia simmetriche. KMS

Specificare le KMS chiavi in una politica IAM

Come procedura consigliata, specificare la chiave ARN di ogni KMS chiave a cui si applica l'autorizzazione nell'Resourceelemento della dichiarazione politica. Questa pratica limita l'autorizzazione alle KMS chiavi richieste dal principale. Ad esempio, questo Resource elemento elenca solo le KMS chiavi che il principale deve usare.

"Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ]

Quando non è possibile specificare KMS le chiavi, utilizzate un Resource valore che limiti l'accesso alle KMS chiavi in una regione Account AWS e in una regione attendibile, ad esempio. arn:aws:kms:region:account:key/* Oppure limita l'accesso alle KMS chiavi in tutte le regioni (*) di una persona affidabile Account AWS, ad esempio. arn:aws:kms:*:account:key/*

Non è possibile utilizzare un ID chiave, un nome alias o un alias ARN per rappresentare una KMS chiave nel Resource campo di una IAM politica. Se si specifica un aliasARN, la politica si applica all'alias, non alla chiave. KMS Per informazioni sulle IAM politiche per gli alias, vedere Controllo dell'accesso agli alias

Evitare "Resource": "*" in una policy IAM

Utilizza i caratteri jolly (*) in modo giudizioso. In una politica chiave, il carattere jolly nell'Resourceelemento rappresenta la KMS chiave a cui è associata la politica chiave. Tuttavia, in una IAM policy, solo un carattere jolly presente nell'Resourceelemento ("Resource": "*") applica le autorizzazioni a tutte le KMS chiavi di tutte le chiavi Account AWS che l'account del principale è autorizzato a utilizzare. Ciò potrebbe includere KMSle chiavi di un altro Account AWS account, oltre alle KMS chiavi dell'account del principale.

Ad esempio, per utilizzare una KMS chiave in un'altra Account AWS, un principale necessita dell'autorizzazione della politica KMS chiave della chiave dell'account esterno e di una IAM politica del proprio account. Supponiamo che un account arbitrario abbia dato al tuo account Account AWS KMS:Decrypt l'autorizzazione sulle proprie chiavi. KMS In tal caso, una IAM politica del vostro account che conceda un'kms:Decryptautorizzazione di ruolo su tutte le KMS chiavi ("Resource": "*") soddisferebbe la parte del requisito. IAM Di conseguenza, i responsabili che possono assumere quel ruolo possono ora decrittografare i testi cifrati utilizzando la KMS chiave dell'account non attendibile. Le voci relative alle loro operazioni vengono visualizzate nei registri di entrambi gli account. CloudTrail

In particolare, evitate di utilizzare "Resource": "*" in una dichiarazione politica che consenta le seguenti API operazioni. Queste operazioni possono essere richiamate sui KMS tasti di altri Account AWS.

Quando utilizzare "Resource": "*"

In una policy IAM usi un carattere jolly nell'elemento Resource solo per le autorizzazioni che lo richiedono. Solo le seguenti autorizzazioni richiedono l'elemento "Resource": "*".

Nota

Le autorizzazioni per le operazioni con alias (kms:CreateAlias, kms:UpdateAlias, kms: DeleteAlias) devono essere allegate all'alias e alla chiave. KMS È possibile utilizzarli "Resource": "*" in una IAM politica per rappresentare gli alias e le chiavi o specificare gli alias e KMS le chiavi nell'elemento. KMS Resource Per alcuni esempi, consulta Controllo dell'accesso agli alias.

 

Gli esempi in questo argomento forniscono ulteriori informazioni e linee guida per la progettazione IAM di politiche per KMS le chiavi. Per le IAM best practice relative a tutte le AWS risorse, consulta la sezione Procedure consigliate in materia di sicurezza IAM nella Guida per IAM l'utente.