Controllo degli accessi ai tag - 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à.

Controllo degli accessi ai tag

Per aggiungere, visualizzare ed eliminare i tag, nella AWS KMS console o utilizzando, i principali devono disporre delle API autorizzazioni di etichettatura. Puoi fornire queste autorizzazioni nelle policy delle chiavi. Puoi anche fornirli nelle IAM policy (incluse le policy VPCdegli endpoint), ma solo se la policy chiave lo consente. La policy AWSKeyManagementServicePowerUsergestita consente ai responsabili di etichettare, rimuovere i tag ed elencare i tag su tutte le KMS chiavi a cui l'account può accedere.

Puoi anche limitare queste autorizzazioni utilizzando chiavi di condizione AWS globali per i tag. In AWS KMS, queste condizioni possono controllare l'accesso alle operazioni di etichettatura, come e TagResource. UntagResource

Nota

Presta attenzione quando concedi ai principali l'autorizzazione per gestire tag e alias. Modificando un tag o un alias puoi consentire o negare l'autorizzazione alla chiave gestita dal cliente. Per informazioni dettagliate, consulta ABACper AWS KMS e Utilizzate i tag per controllare l'accesso alle KMS chiavi.

Per esempio, politiche e ulteriori informazioni, vedere Controlling Access Based on Tag Keys nella Guida per l'IAMutente.

Le autorizzazioni per creare e gestire i tag funzionano come descritto di seguito.

km: TagResource

Consente ai principali di aggiungere o modificare tag. Per aggiungere tag durante la creazione di una KMS chiave, il principale deve disporre dell'autorizzazione in una IAM politica che non è limitata a KMS chiavi particolari.

km: ListResourceTags

Consente ai mandanti di visualizzare i tag sulle chiavi. KMS

km: UntagResource

Consente ai principali di eliminare i tag dalle KMS chiavi.

Autorizzazioni ad assegnare tag nelle policy

È possibile fornire le autorizzazioni di etichettatura in una politica o in una politica chiave. IAM Ad esempio, la politica chiave di esempio seguente fornisce a determinati utenti l'autorizzazione a contrassegnare la chiave. KMS Fornisce a tutti gli utenti che possono assumere l'esempio dei ruoli di Amministratore o Sviluppatore il permesso di visualizzare i tag.

{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "kms:TagResource", "kms:ListResourceTags", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "kms:ListResourceTags", "Resource": "*" } ] }

Per concedere ai principali il permesso di etichettare più KMS chiavi, puoi utilizzare una policy. IAM Affinché questa politica sia efficace, la politica chiave per ogni KMS chiave deve consentire all'account di utilizzare IAM le politiche per controllare l'accesso alla chiave. KMS

Ad esempio, la seguente IAM politica consente ai principali di creare KMS chiavi. Consente inoltre loro di creare e gestire tag su tutte le KMS chiavi dell'account specificato. Questa combinazione consente ai responsabili di utilizzare il parametro Tags dell'CreateKeyoperazione per aggiungere tag a una KMS chiave durante la creazione.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource", "kms:ListResourceTags" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }

Limitazione delle autorizzazioni ad assegnare tag

È possibile limitare le autorizzazioni di assegnazione dei tag utilizzando Condizioni della policy. Le seguenti condizioni della policy possono essere applicate alle autorizzazioni kms:TagResource e kms:UntagResource. Ad esempio, è possibile utilizzare la condizione aws:RequestTag/tag-key per consentire a un principale di aggiungere solo tag specifici o impedire a un principale di aggiungere tag con chiavi tag particolari. In alternativa, è possibile utilizzare la kms:KeyOrigin condizione per impedire ai principali di etichettare o decontrassegnare KMS le chiavi con materiale chiave importato.

Come best practice, quando usi i tag per controllare l'accesso alle KMS chiavi, usa il tasto aws:RequestTag/tag-key o aws:TagKeys condition per determinare quali tag (o chiavi di tag) sono consentiti.

Ad esempio, la seguente IAM politica è simile a quella precedente. Tuttavia, questa policy consente ai principali di creare tag (TagResource) ed eliminare i tag UntagResource solo per i tag con chiave di tag Project.

Poiché TagResource le UntagResource richieste possono includere più tag, è necessario specificare un operatore ForAllValues o ForAnyValue impostare con la TagKeys condizione aws:. L’operatore ForAnyValue richiede che almeno una delle chiavi di tag nella richiesta corrisponda a una delle chiavi di tag nella policy. L’operatore ForAllValues richiede che tutte le chiavi di tag nella richiesta corrispondano a una delle chiavi di tag nella policy. L'ForAllValuesoperatore restituisce anche true se non ci sono tag nella richiesta, ma TagResource UntagResource fallisce quando non viene specificato alcun tag. Per i dettagli sugli operatori impostati, consulta Utilizzare più chiavi e valori nella Guida per l'IAMutente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "kms:ListResourceTags", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }