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. Le chiavi KMS vengono utilizzate per proteggere molte delle risorse più sensibili del tuo. Account AWS Prenditi il tempo necessario per progettare le policy chiave, le policy IAM, le concessioni e le policy degli endpoint VPC che controllano l'accesso alle chiavi KMS.

Nelle istruzioni delle policy IAM che controllano l'accesso alle chiavi KMS, utilizza il principio del privilegio minimo. Assegna ai principali IAM solo le autorizzazioni necessarie solo per quelle chiavi KMS che devono utilizzare o gestire.

Le seguenti best practice si applicano alle policy IAM che controllano l'accesso a AWS KMS chiavi e alias. Per una guida generale alle best practice delle policy IAM, consulta la sezione Best practice di sicurezza in IAM nella Guida per l'utente IAM.

Utilizzo delle policy delle chiavi

Quando possibile, concedi le autorizzazioni nelle policy chiave che interessano una chiave KMS anziché in una policy IAM applicabile a molte chiavi KMS, incluse quelle di altri Account AWS. Ciò è particolarmente importante per le autorizzazioni sensibili come kms: PutKeyPolicy e kms: ScheduleKeyDeletion ma anche per le operazioni crittografiche che determinano il modo in cui i dati sono protetti.

CreateKey Limita le autorizzazioni

Concedi il permesso di creare chiavi (kms: CreateKey) solo ai principali che ne hanno bisogno. I principali che creano una chiave KMS impostano anche le policy delle chiavi, in modo che possano concedere a se stessi e agli altri l'autorizzazione per utilizzare e gestire le chiavi KMS 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 KMS di crittografia simmetrica.

Specificare le chiavi KMS in una policy IAM

Come best practice, specifica l'ARN di chiave di ciascuna chiave KMS a cui si applica l'autorizzazione nell'elemento Resource dell'istruzione della policy. Questa procedura limita l'autorizzazione per le chiavi KMS a quella richiesta dal principale. Ad esempio, questo elemento Resource elenca solo le chiavi KMS che il principale deve utilizzare.

"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 le chiavi KMS, utilizza un Resource valore che limiti l'accesso alle chiavi KMS in una regione affidabile e affidabile, ad esempio. Account AWS arn:aws:kms:region:account:key/* Oppure limita l'accesso alle chiavi KMS in tutte le regioni (*) di una persona affidabile, ad esempio. Account AWSarn:aws:kms:*:account:key/*

Non puoi utilizzare un ID chiave, un nome aliaso l'ARN dell'alias per rappresentare una chiave KMS nel campo Resource di una policy IAM. Se si specifica un alias ARN, la policy si applica all'alias e non alla chiave KMS. Per informazioni generali sulle policy IAM, consulta Controllo dell'accesso agli alias.

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

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

Ad esempio, per utilizzare una chiave KMS in un'altra Account AWS, un principale necessita dell'autorizzazione della politica chiave della chiave KMS nell'account esterno e di una politica IAM nel proprio account. Supponiamo che un account arbitrario conceda l'autorizzazione Account AWS kms:Decrypt sulle sue chiavi KMS. In tal caso, una policy IAM nell'account che concede a un ruolo l'autorizzazione kms:Decrypt per tutte le chiavi KMS ("Resource": "*") soddisferebbe la parte IAM del requisito. Di conseguenza, i principali che possono assumere tale ruolo possono ora decrittare i testi cifrati utilizzando la chiave KMS nell'account non attendibile. Le voci relative alle relative operazioni vengono visualizzate nei CloudTrail registri di entrambi gli account.

In particolare, evita di utilizzare "Resource": "*" in un'istruzione della policy che consente le seguenti operazioni API. Queste operazioni possono essere richiamate sulle chiavi KMS 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:, kms: UpdateAlias DeleteAlias) devono essere allegate all'alias e alla chiave KMS. Puoi utilizzare "Resource": "*" in una policy IAM per rappresentare gli alias e le chiavi KMS oppure per specificare gli alias e le chiavi KMS nell'elemento Resource. Per alcuni esempi, consulta Controllo dell'accesso agli alias.

 

Negli esempi riportati in questo argomento vengono fornite ulteriori informazioni e indicazioni per la progettazione di policy IAM per le chiavi KMS. Per una guida generale sulle AWS KMS migliori pratiche, consulta le Best Practice (PDF).AWS Key Management Service Per le best practice IAM per tutte le AWS risorse, consulta le best practice di sicurezza in IAM nella IAM User Guide.