View a markdown version of this page

Utilizzo dei tag per controllare l'accesso alle chiavi - AWS Crittografia dei pagamenti

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

Utilizzo dei tag per controllare l'accesso alle chiavi

Puoi controllare l'accesso alla crittografia dei AWS pagamenti in base ai tag sulla chiave. Ad esempio, puoi scrivere una policy IAM che consenta ai principali di abilitare e disabilitare solo le chiavi con un tag particolare. Oppure puoi utilizzare una policy IAM per impedire ai principali di utilizzare le chiavi nelle operazioni crittografiche a meno che la chiave non abbia un tag particolare.

Questa funzionalità fa parte del supporto di AWS Payment Cryptography per il controllo degli accessi basato sugli attributi (ABAC). Per informazioni sull'uso dei tag per controllare l'accesso alle AWS risorse, vedi A cosa serve ABAC? AWSe Controllo dell'accesso alle AWS risorse utilizzando i tag delle risorse nella Guida per l'utente IAM.

AWS Payment Cryptography supporta la chiave di contesto di condizione globale aws:ResourceTag/tag-key, che consente di controllare l'accesso alle chiavi in base ai tag sulla chiave. Poiché più chiavi possono avere lo stesso tag, questa funzione consente di applicare l'autorizzazione a un set selezionato di chiavi. È inoltre possibile modificare facilmente le chiavi del set modificando i relativi tag.

In AWS Payment Cryptography, la chiave aws:ResourceTag/tag-key condizionale è supportata solo nelle policy IAM. Non è supportata nelle policy chiave, che si applicano solo a una chiave, o nelle operazioni che non utilizzano una chiave particolare, come le ListAliases operazioni ListKeys or.

Il controllo dell'accesso con i tag offre un modo semplice, scalabile e flessibile per gestire le autorizzazioni. Tuttavia, se non è progettato e gestito correttamente, può consentire o negare l'accesso alle chiavi inavvertitamente. Se utilizzi tag per controllare l'accesso, prendi in considerazione le seguenti procedure.

  • Utilizza i tag per rafforzare le best practice di Accesso meno privilegiato. Concedi ai responsabili IAM solo le autorizzazioni di cui hanno bisogno solo sulle chiavi che devono usare o gestire. Ad esempio, utilizza i tag per etichettare le chiavi utilizzate per un progetto. Quindi concedi al team di progetto il permesso di utilizzare solo le chiavi con il tag di progetto.

  • Fai attenzione a dare ai principali le autorizzazioni payment-cryptography:TagResource e payment-cryptography:UntagResource che consentono di aggiungere, modificare ed eliminare tag. Quando utilizzi i tag per controllare l'accesso alle chiavi, la modifica di un tag può autorizzare i responsabili a utilizzare chiavi che altrimenti non avrebbero il permesso di usare. Può anche negare l'accesso alle chiavi necessarie ad altri presidi per svolgere il proprio lavoro. Gli amministratori chiave che non dispongono dell'autorizzazione per modificare le politiche chiave o creare concessioni possono controllare l'accesso alle chiavi se dispongono dell'autorizzazione per gestire i tag.

    Quando possibile, utilizza una condizione politica, ad esempio aws:TagKeys per limitare le aws:RequestTag/tag-key autorizzazioni di etichettatura di un principale a determinati tag o modelli di tag su determinate chiavi.

  • Controlla i tuoi committenti Account AWS che attualmente dispongono delle autorizzazioni di etichettatura e rimozione dei tag e modificali, se necessario. Le policy IAM potrebbero consentire autorizzazioni di tag e untag su tutte le chiavi. Ad esempio, la policy gestita dall'amministratore consente ai principali di etichettare, rimuovere i tag ed elencare i tag su tutte le chiavi.

  • Prima di impostare una politica che dipenda da un tag, rivedi i tag sulle chiavi del tuo. Account AWS Assicurati che la tua policy si applichi solo ai tag che intendi includere. Utilizza CloudTrail i registri e gli CloudWatch allarmi per avvisarti delle modifiche ai tag che potrebbero influire sull'accesso alle tue chiavi.

  • Le condizioni delle policy basate su tag utilizzano la corrispondenza dei modelli; non sono legate a una particolare istanza di un tag. Una policy che utilizza chiavi di condizione basate su tag influisce su tutti i tag nuovi ed esistenti che corrispondono al modello. Se si elimina e si ricrea un tag che corrisponde a una condizione della policy, la condizione si applica al nuovo tag, proprio come quello precedente.

Ad esempio, considerare il seguente esempio di policy IAM. Consente ai principali di eseguire le operazioni di Decrypt solo sulle chiavi del tuo account che si trovano nella regione Stati Uniti orientali (Virginia settentrionale) e dotate di un tag. "Project"="Alpha" È possibile collegare questa policy ai ruoli nel progetto Alpha di esempio.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "IAMPolicyWithResourceTag", "Effect": "Allow", "Action": [ "payment-cryptography:DecryptData" ], "Resource": "arn:aws:payment-cryptography:us-east-1:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "Alpha" } } } ] }

Il seguente esempio di politica IAM consente ai principali di utilizzare qualsiasi chiave dell'account per determinate operazioni crittografiche. Ma vieta ai principali di utilizzare queste operazioni crittografiche su chiavi con o senza tag. "Type"="Reserved" "Type"

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "IAMAllowCryptographicOperations", "Effect": "Allow", "Action": [ "payment-cryptography:EncryptData", "payment-cryptography:DecryptData", "payment-cryptography:ReEncrypt*" ], "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*" }, { "Sid": "IAMDenyOnTag", "Effect": "Deny", "Action": [ "payment-cryptography:EncryptData", "payment-cryptography:DecryptData", "payment-cryptography:ReEncrypt*" ], "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Type": "Reserved" } } }, { "Sid": "IAMDenyNoTag", "Effect": "Deny", "Action": [ "payment-cryptography:EncryptData", "payment-cryptography:DecryptData", "payment-cryptography:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "Null": { "aws:ResourceTag/Type": "true" } } } ] }