Utilizzo degli alias per controllare l'accesso alle chiavi 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à.

Utilizzo degli alias per controllare l'accesso alle chiavi KMS

È possibile controllare l'accesso alle KMS chiavi in base agli alias associati alla KMS chiave. Per farlo, usa i tasti kms: RequestAlias e kms: ResourceAliases condition. Questa funzionalità fa parte di AWS KMS supporto per il controllo degli accessi basato sugli attributi (). ABAC

La chiave kms:RequestAlias condition consente o nega l'accesso a una KMS chiave in base all'alias contenuto in una richiesta. La chiave kms:ResourceAliases condizionale consente o nega l'accesso a una KMS chiave in base agli alias associati alla chiave. KMS

Queste funzionalità non consentono di identificare una KMS chiave utilizzando un alias nell'resourceelemento di una dichiarazione politica. Quando un alias è il valore di un resource elemento, la policy si applica alla risorsa alias, non a qualsiasi KMS chiave che potrebbe essere associata ad essa.

Nota

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

Quando utilizzi gli alias per controllare l'accesso alle KMS chiavi, considera quanto segue:

  • Utilizzare gli alias per rafforzare la best practice dell'accesso con privilegio minimo. IAMAssegna ai responsabili solo le autorizzazioni di cui hanno bisogno solo per le KMS chiavi che devono usare o gestire. Ad esempio, utilizzate gli alias per identificare le KMS chiavi utilizzate per un progetto. Quindi concedi al team di progetto il permesso di utilizzare solo KMS le chiavi con gli alias del progetto.

  • Fai attenzione a concedere ai principali le autorizzazioni kms:CreateAlias, kms:UpdateAlias, oppurekms:DeleteAlias che consentono di aggiungere, modificare ed eliminare alias. Quando usi gli alias per controllare l'accesso alle KMS chiavi, la modifica di un alias può dare ai responsabili il permesso di usare KMS chiavi che altrimenti non avrebbero avuto il permesso di usare. Può anche negare l'accesso alle KMS chiavi di cui altri dirigenti hanno bisogno per svolgere il proprio lavoro.

  • Rivedi i principi del tuo Account AWS che attualmente dispongono dell'autorizzazione per gestire gli alias e modificare le autorizzazioni, se necessario. Gli amministratori chiave che non dispongono dell'autorizzazione per modificare le politiche chiave o creare concessioni possono controllare l'accesso alle KMS chiavi se dispongono dell'autorizzazione per gestire gli alias.

    Ad esempio, la console policy delle chiavi predefinita per amministratori delle chiavi include le autorizzazioni kms:CreateAlias, kms:DeleteAlias, e kms:UpdateAlias. IAMle politiche potrebbero concedere autorizzazioni di alias per tutte le chiavi del KMS Account AWS. Ad esempio, la policy AWSKeyManagementServicePowerUsergestita consente ai principali di creare, eliminare ed elencare alias per tutte le KMS chiavi ma non di aggiornarle.

  • Prima di impostare una politica che dipende da un alias, esamina gli alias sulle chiavi del tuo KMS Account AWS. Assicurati che la tua politica si applichi solo agli alias che intendi includere. Usa CloudTrail registri e CloudWatch allarmi per avvisarti delle modifiche agli alias che potrebbero influire sull'accesso alle tue chiavi. KMS Inoltre, la ListAliasesrisposta include la data di creazione e la data dell'ultimo aggiornamento per ogni alias.

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

La chiave di condizione kms:RequestAlias si basa sull'alias specificato esplicitamente in una richiesta di operazione. La chiave di kms:ResourceAliases condizione dipende dagli alias associati a una KMS chiave, anche se non compaiono nella richiesta.

km: RequestAlias

Consenti o nega l'accesso a una KMS chiave in base all'alias che identifica la KMS chiave in una richiesta. Puoi utilizzare la chiave kms: RequestAlias condition in una policy o policy chiave. IAM Si applica alle operazioni che utilizzano un alias per identificare una KMS chiave in una richiesta, vale a dire le operazioni crittografiche, DescribeKeye. GetPublicKey Non è valido per le operazioni di alias, come o. CreateAliasDeleteAlias

Nella chiave condizione, specificare un Nome alias o modello di nome alias. Non è possibile specificare un alias ARN.

Ad esempio, la seguente dichiarazione di politica chiave consente ai principali di utilizzare le operazioni specificate sulla KMS chiave. L'autorizzazione è effettiva solo quando la richiesta utilizza un alias che include alpha l'identificazione della KMS chiave.

{ "Sid": "Key policy using a request alias condition", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/alpha-developer" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:RequestAlias": "alias/*alpha*" } } }

La seguente richiesta di esempio da un principale autorizzato soddisferebbe la condizione. Tuttavia, una richiesta che utilizza un ID chiave, una chiave ARN o un alias diverso non soddisferebbe la condizione, anche se questi valori identificassero la stessa KMS chiave.

$ aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"

km: ResourceAliases

Consenti o nega l'accesso a una KMS chiave in base agli alias associati alla KMS chiave, anche se l'alias non viene utilizzato in una richiesta. La chiave kms: ResourceAliases condition consente di specificare un alias o un pattern di alias, ad esempio, in modo da poterlo utilizzare in una IAM politica per controllare l'accesso a più KMS chiavi nella stessa alias/test* regione. È valido per qualsiasi AWS KMS operazione che utilizza una KMS chiave.

Ad esempio, la seguente IAM politica consente ai responsabili di gestire la rotazione automatica dei KMS tasti sui tasti in due Account AWS. Tuttavia, l'autorizzazione si applica solo alle KMS chiavi associate agli alias che iniziano conrestricted.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:EnableKeyRotation", "kms:DisableKeyRotation", "kms:GetKeyRotationStatus" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ], "Condition": { "ForAnyValue:StringLike": { "kms:ResourceAliases": "alias/restricted*" } } } ] }

La condizione kms:ResourceAliases è una condizione della risorsa, non la richiesta. Pertanto, una richiesta che non specifica l'alias può ancora soddisfare la condizione.

La seguente richiesta di esempio, che specifica un alias corrispondente, soddisfa la condizione.

$ aws kms enable-key-rotation --key-id "alias/restricted-project"

Tuttavia, anche la seguente richiesta di esempio soddisfa la condizione, a condizione che la KMS chiave specificata abbia un alias che inizia conrestricted, anche se tale alias non viene utilizzato nella richiesta.

$ aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"