ABACper AWS KMS - 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à.

ABACper AWS KMS

Il controllo degli accessi basato sugli attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. AWS KMS supporta ABAC consentendo di controllare l'accesso alle chiavi gestite dai clienti in base ai tag e agli alias associati alle chiavi. KMS Le chiavi di condizione dei tag e degli alias che abilitano ABAC AWS KMS forniscono un modo potente e flessibile per autorizzare i responsabili all'uso delle KMS chiavi senza modificare le politiche o gestire le concessioni. Ma occorre usare queste funzionalità con cura in modo che ai principali non sia inavvertitamente autorizzato o negato l'accesso.

Se utilizzateABAC, tenete presente che l'autorizzazione a gestire tag e alias è ora un'autorizzazione di controllo dell'accesso. Assicurati di conoscere i tag e gli alias esistenti su tutte le KMS chiavi prima di implementare una politica che dipenda da tag o alias. Prendere ragionevoli precauzioni quando si aggiungono, eliminano e aggiornano gli alias e quando si taggano e si rimuovono i tag delle chiavi. Assegna le autorizzazioni per gestire tag e alias solo alle entità che ne hanno bisogno e limita i tag e gli alias che possono gestire.

Note

Quando usi ABAC for AWS KMS, fai attenzione a non concedere ai principali il permesso di gestire tag e alias. La modifica di un tag o di un alias può consentire o negare l'autorizzazione a una chiave. KMS Gli amministratori chiave che non dispongono dell'autorizzazione per modificare le politiche chiave o creare concessioni possono controllare l'accesso alle KMS chiavi se sono autorizzati a gestire tag o alias.

Potrebbero essere necessari fino a cinque minuti prima che le modifiche ai tag e agli alias influiscano sull'autorizzazione delle chiavi. KMS Le modifiche recenti potrebbero essere visibili nelle API operazioni prima che influiscano sull'autorizzazione.

Per controllare l'accesso a una KMS chiave in base al relativo alias, è necessario utilizzare una chiave di condizione. Non è possibile utilizzare un alias per rappresentare una KMS chiave nell'Resourceelemento di una dichiarazione politica. Quando un alias appare nell'Resourceelemento, l'informativa sulla politica si applica all'alias, non alla chiave associata. KMS

Ulteriori informazioni

ABACchiavi di condizione per AWS KMS

Per autorizzare l'accesso alle KMS chiavi in base ai relativi tag e alias, utilizzate le seguenti chiavi condizionali in una politica o IAM in una politica chiave.

ABACchiave di condizione Descrizione Tipo di policy AWS KMS operazioni
leggi: ResourceTag Il tag (chiave e valore) sulla KMS chiave corrisponde al tag (chiave e valore) o al modello di tag nella politica IAMsolo politica KMSoperazioni relative alle risorse chiave 2
aws:RequestTag//tag-key Il tag (chiave e valore) nella richiesta corrisponde al tag (chiave e valore) o al modello di tag nella policy Politiche e IAM politiche chiave 1 TagResource, UntagResource
Leggi: TagKeys Le chiavi tag nella richiesta corrispondono alle chiavi tag nella policy Politiche e IAM politiche chiave 1 TagResource, UntagResource
km: ResourceAliases Gli alias associati alla KMS chiave corrispondono agli alias o ai modelli di alias nella policy IAMsolo politica KMSoperazioni relative alle risorse chiave 2
km: RequestAlias L'alias che rappresenta la KMS chiave nella richiesta corrisponde all'alias o ai modelli di alias nella politica. Politiche e politiche chiave 1 IAM Operazioni crittografiche, DescribeKeyGetPublicKey

1 Qualsiasi chiave di condizione che può essere utilizzata in una politica chiave può essere utilizzata anche in una IAM politica, ma solo se la politica chiave lo consente.

2 Un'operazione su una risorsa KMS chiave è un'operazione autorizzata per una KMS chiave particolare. Per identificare le operazioni KMS chiave relative alle risorse, nella tabella AWS KMS delle autorizzazioni, cerca un valore di KMS chiave nella Resources colonna relativa all'operazione.

Ad esempio, è possibile utilizzare queste chiavi di condizione per creare le seguenti policy.

  • Una IAM politica kms:ResourceAliases che consente l'autorizzazione a utilizzare KMS chiavi con un alias o un pattern di alias particolare. Questa è leggermente diversa dalle politiche che si basano sui tag: sebbene sia possibile utilizzare modelli di alias in una politica, ogni alias deve essere unico in una regione and. Account AWS Ciò consente di applicare una politica a un set selezionato di KMS chiavi senza elencare la chiave ARNs delle KMS chiavi nell'informativa sulla politica. Per aggiungere o rimuovere KMS chiavi dal set, modificate l'alias della KMS chiave.

  • Una politica chiave kms:RequestAlias che consente ai principali di utilizzare una KMS chiave in un'Encryptoperazione, ma solo quando la Encrypt richiesta utilizza quell'alias per identificare la chiave. KMS

  • Una IAM politica aws:ResourceTag/tag-key che nega l'autorizzazione all'uso di KMS chiavi con una particolare chiave di tag e un valore di tag. Ciò consente di applicare una politica a un set selezionato di KMS chiavi senza elencare la chiave ARNs delle KMS chiavi nell'informativa sulla politica. Per aggiungere o rimuovere KMS chiavi dal set, tagga o rimuovi il tag dalla KMS chiave.

  • Una IAM politica aws:RequestTag/tag-key che consente ai responsabili di eliminare solo i tag "Purpose"="Test" KMS chiave.

  • Una IAM politica aws:TagKeys che neghi il permesso di etichettare o rimuovere un tag da una KMS chiave con una Restricted chiave di tag.

ABACrende la gestione degli accessi flessibile e scalabile. Ad esempio, è possibile utilizzare la chiave aws:ResourceTag/tag-key condition per creare una IAM policy che consenta ai responsabili di utilizzare una KMS chiave per operazioni specifiche solo quando la KMS chiave ha un Purpose=Test tag. La politica si applica a tutte le KMS chiavi in tutte le regioni di. Account AWS

Se associata a un utente o a un ruolo, la seguente IAM politica consente ai responsabili di utilizzare tutte le KMS chiavi esistenti con un Purpose=Test tag per le operazioni specificate. Per fornire questo accesso a KMS chiavi nuove o esistenti, non è necessario modificare la politica. Basta attaccare il Purpose=Test tag alle KMS chiavi. Allo stesso modo, per rimuovere questo accesso dalle KMS chiavi con un Purpose=Test tag, modifica o elimina il tag.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }

Tuttavia, se si utilizza questa funzione, fare attenzione nella gestione di tag e alias. L'aggiunta, la modifica o l'eliminazione di un tag o di un alias può consentire o negare inavvertitamente l'accesso a una chiave. KMS Gli amministratori chiave che non dispongono dell'autorizzazione per modificare le politiche chiave o creare concessioni possono controllare l'accesso alle KMS chiavi se sono autorizzati a gestire tag e alias. Per mitigare questo rischio, considera di limitare le autorizzazioni per la gestione di tag e alias. Ad esempio, potrebbe essere necessario consentire solo ai principali di gestire la gestione dei tag Purpose=Test. Per informazioni dettagliate, consulta Utilizzate gli alias per controllare l'accesso alle chiavi KMS e Utilizzate i tag per controllare l'accesso alle KMS chiavi.

Tag o alias?

AWS KMS supporta ABAC con tag e alias. Entrambe le opzioni offrono una strategia di controllo degli accessi flessibile e scalabile, ma sono leggermente diverse l'una dall'altra.

Potresti decidere di utilizzare tag o utilizzare alias in base ai tuoi modelli di AWS utilizzo particolari. Ad esempio, se sono già state concesse autorizzazioni di assegnazione di tag alla maggior parte degli amministratori, potrebbe essere più semplice controllare una strategia di autorizzazione basata sugli alias. Oppure, se sei vicino alla quota di alias per KMS chiave, potresti preferire una strategia di autorizzazione basata sui tag.

I seguenti vantaggi sono di interesse generale.

Vantaggi del controllo degli accessi basato su tag

  • Stesso meccanismo di autorizzazione per diversi tipi di AWS risorse.

    Puoi utilizzare lo stesso tag o chiave di tag per controllare l'accesso a più tipi di risorse, come un cluster Amazon Relational Database Service (RDSAmazon), un volume Amazon Elastic Block Store (EBSAmazon) e KMS una chiave. Questa funzione consente diversi modelli di autorizzazione più flessibili rispetto ai tradizionali controlli di accesso basati sui ruoli.

  • Autorizza l'accesso a un gruppo di chiavi. KMS

    Puoi utilizzare i tag per gestire l'accesso a un gruppo di KMS chiavi nella stessa Account AWS regione. Assegna lo stesso tag o chiave di tag alle KMS chiavi che scegli. Quindi crea una semplice dichiarazione easy-to-maintain politica basata sul tag o sulla chiave del tag. Per aggiungere o rimuovere una KMS chiave dal tuo gruppo di autorizzazione, aggiungi o rimuovi il tag; non è necessario modificare la politica.

Vantaggi del controllo degli accessi basato su alias

  • Autorizza l'accesso alle operazioni di crittografia in base agli alias.

    La maggior parte delle condizioni delle policy basate sulla richiesta per gli attributi, tra cui aws:RequestTag/tag-key, influiscono solo sulle operazioni che aggiungono, modificano o eliminano l'attributo. Ma la chiave kms: RequestAlias condition controlla l'accesso alle operazioni crittografiche in base all'alias utilizzato per identificare la chiave nella richiesta. KMS Ad esempio, puoi concedere a un'autorizzazione principale l'uso di una KMS chiave in un'Encryptoperazione, ma solo quando il valore del KeyId parametro è. alias/restricted-key-1 Per soddisfare questa condizione, è necessario quanto segue:

    • La KMS chiave deve essere associata a quell'alias.

    • La richiesta deve utilizzare l'alias per identificare la KMS chiave.

    • Il principale deve avere il permesso di utilizzare la KMS chiave in base alla kms:RequestAlias condizione.

    Ciò è particolarmente utile se le applicazioni utilizzano comunemente nomi alias o alias ARNs per fare riferimento alle KMS chiavi.

  • Fornisci autorizzazioni molto limitate.

    Un alias deve essere univoco in una Account AWS regione and. Di conseguenza, concedere ai principali l'accesso a una KMS chiave basata su un alias può essere molto più restrittivo rispetto a concedere loro l'accesso in base a un tag. A differenza degli alias, i tag possono essere assegnati a più KMS chiavi nello stesso account e nella stessa regione. Se lo desideri, puoi utilizzare uno schema di alias, ad esempio per consentire agli alias/test* amministratori di accedere a un gruppo di KMS chiavi nello stesso account e nella stessa regione. Tuttavia, consentire o negare l'accesso a un particolare alias consente un controllo molto rigoroso sulle chiavi. KMS