Controllo dell’accesso 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 dell’accesso ai tag

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

È inoltre possibile limitare queste autorizzazioni utilizzando le chiavi di condizione globali AWS per i tag. InAWS KMS, queste condizioni possono controllare l'accesso alle operazioni di etichettatura, come e. TagResourceUntagResource

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 ABAC per AWS KMS e Utilizzo dei tag per controllare l'accesso alle chiavi KMS.

Per esempi di policy e ulteriori informazioni, consulta Controllo dell'accesso in base alle chiavi di tag nella Guida per l’utente di IAM.

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 chiave KMS, il principale deve disporre dell'autorizzazione in una policy IAM che non sia limitato a particolari chiavi KMS.

km: ListResourceTags

Consente ai principali di visualizzare i tag sulle chiavi KMS.

km: UntagResource

Consente ai principali di eliminare i tag dalle chiavi KMS.

Autorizzazioni ad assegnare tag nelle policy

Puoi fornire l'autorizzazione ad assegnare tag in una policy delle chiavi o in una policy IAM. Ad esempio, la policy delle chiavi di esempio riportata di seguito fornisce agli utenti selezionati l'autorizzazione di tag nella 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 l'autorizzazione ad assegnare tag su più chiavi KMS, è possibile utilizzare una policy IAM. Affinché questa policy sia efficace, la policy delle chiavi per ogni chiave KMS deve consentire all'account di utilizzare le policy IAM per controllare l'accesso alla chiave KMS.

Ad esempio, la policy IAM seguente consente ai principali di creare chiavi KMS. Consente inoltre di creare e gestire i tag su tutte le chiavi KMS nell'account specificato. Questa combinazione consente ai responsabili di utilizzare il parametro Tags dell'CreateKeyoperazione per aggiungere tag a una chiave KMS 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 condizione kms:KeyOrigin per impedire ai principali di assegnare o rimuovere tag dalle chiavi KMS con materiale della chiave importato.

Come best practice nell'utilizzo dei tag per controllare l'accesso alle chiavi KMS, è consigliabile utilizzare la chiave di condizione aws:RequestTag/tag-key o aws:TagKeys per determinare quali tag (o chiavi tag) sono consentiti.

Ad esempio, la seguente istruzione della policy IAM è 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 or ForAnyValue set 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 dettagli sugli operatori del set, consulta Utilizzare più chiavi e valori nella Guida per l’utente di IAM.

{ "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"} } } ] }