Controllo dell'accesso all'archivio delle chiavi esterne - 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 all'archivio delle chiavi esterne

Tutte le funzionalità di controllo degli accessi AWS KMS, vale a dire le policy delle chiavi, le policy IAM e le autorizzazioni, utilizzate con le chiavi KMS standard funzionano allo stesso modo per le chiavi KMS in un archivio delle chiavi esterne. Puoi utilizzare le policy IAM per controllare l'accesso alle operazioni API che creano e gestiscono archivi delle chiavi esterne. Puoi utilizzare le policy IAM e le policy delle chiavi per controllare l'accesso alle AWS KMS keys nell'archivio delle chiavi esterne. Puoi anche utilizzare le policy di controllo dei servizi per la tua organizzazione AWS e le policy degli endpoint VPC per controllare l'accesso alle chiavi KMS nell'archivio delle chiavi esterne.

Ti consigliamo di concedere a utenti e ruoli soltanto le autorizzazioni necessarie per le attività che sono supposti eseguire.

Autorizzazione dei gestori dell'archivio delle chiavi esterne

I principali che creano e gestiscono un archivio delle chiavi esterne necessitano di autorizzazioni per eseguire le operazioni dell'archivio delle chiavi personalizzate. L'elenco seguente descrive le autorizzazioni minime necessarie per i gestori dell'archivio delle chiavi esterne. Dal momento che l'archivio delle chiavi personalizzate non è una risorsa AWS, non è possibile fornire autorizzazioni a un archivio delle chiavi esterne per i principali di altri Account AWS.

  • kms:CreateCustomKeyStore

  • kms:DescribeCustomKeyStores

  • kms:ConnectCustomKeyStore

  • kms:DisconnectCustomKeyStore

  • kms:UpdateCustomKeyStore

  • kms:DeleteCustomKeyStore

I principali che creano un archivio delle chiavi esterne devono disporre dell'autorizzazione per creare e configurare i componenti di tale archivio. I principali possono creare archivi delle chiavi esterne solo nei propri account. Per creare un archivio delle chiavi esterne con connettività del servizio endpoint VPC, i principali devono disporre dell'autorizzazione per creare i seguenti componenti:

  • Un Amazon VPC

  • Sottoreti pubbliche e private

  • Un Network Load Balancer e un gruppo di destinazione

  • Un servizio endpoint Amazon VPC

Per maggiori dettagli, consulta le sezioni Identity and access management per Amazon VPC, Identity and Access Management per endpoint VPC e servizi endpoint VPC e Autorizzazioni API di Elastic Load Balancing.

Autorizzazione degli utenti delle chiavi KMS in archivi delle chiavi esterne

I principali che creano e gestiscono le AWS KMS keys nell'archivio delle chiavi esterne devono disporre delle stesse autorizzazioni di chi crea e gestisce le chiavi KMS in AWS KMS. La policy chiave predefinita per le chiavi KMS in un archivio delle chiavi esterne è identica alla policy chiave predefinita per le chiavi KMS in AWS KMS. Il controllo degli accessi basato su attributi (ABAC), che utilizza tag e alias per controllare l'accesso alle chiavi KMS, sono efficaci anche nelle chiavi KMS negli archivi delle chiavi esterne.

I principali che utilizzano le chiavi KMS nell'archivio delle chiavi personalizzate per operazioni di crittografia devono disporre dell'autorizzazione per eseguire l'operazione di crittografia con la chiave KMS, ad esempio kms:Decrypt. Puoi fornire queste autorizzazioni in una policy IAM o in una policy delle chiavi. I principali non hanno tuttavia bisogno di autorizzazioni supplementari per utilizzare una chiave KMS in un archivio delle chiavi personalizzate.

Per impostare un'autorizzazione che si applica solo alle chiavi KMS in un archivio delle chiavi esterne, utilizza la condizione della policy kms:KeyOrigin con un valore di EXTERNAL_KEY_STORE. Puoi utilizzare questa condizione per limitare l'CreateKeyautorizzazione kms: o qualsiasi autorizzazione specifica per una risorsa chiave KMS. Ad esempio, la policy IAM seguente consente all'identità a cui è associata di chiamare le operazioni specificate in tutte le chiavi KMS, a condizione che le chiavi KMS si trovino in un archivio delle chiavi esterne. Tieni presente che puoi limitare l'autorizzazione alle chiavi KMS in un archivio delle chiavi esterne e in un Account AWS, ma non a un particolare archivio delle chiavi esterne nell'account.

{ "Sid": "AllowKeysInExternalKeyStores", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL_KEY_STORE" } } }

Autorizzazione di AWS KMS per comunicare con il proxy dell'archivio delle chiavi esterne

AWS KMS comunica con il gestore delle chiavi esterne solo tramite il proxy dell'archivio delle chiavi esterne che fornisci. AWS KMS esegue l'autenticazione sul proxy firmando le relative richieste tramite il processo Signature Version 4 (SigV4) con le credenziali di autenticazione per il proxy dell'archivio delle chiavi esterne specificate. Se utilizzi la connettività dell'endpoint pubblico per il proxy dell'archivio delle chiavi esterne, AWS KMS non richiede autorizzazioni aggiuntive.

Tuttavia, se utilizzi la connettività del servizio endpoint VPC, devi concedere ad AWS KMS l'autorizzazione per creare un endpoint di interfaccia per il servizio endpoint Amazon VPC. Questa autorizzazione è necessaria, indipendentemente dal fatto che il proxy dell'archivio delle chiavi esterne si trovi nel VPC o altrove, ma utilizza il servizio endpoint VPC per comunicare con AWS KMS.

AWS KMSPer consentire la creazione di un endpoint di interfaccia, utilizza la console Amazon VPC o ModifyVpcEndpointServicePermissionsl'operazione. Consenti le autorizzazioni per il seguente principale: cks.kms.<region>.amazonaws.com.

Ad esempio, il comando AWS CLI consente ad AWS KMS di connettersi al servizio endpoint VPC specificato nella regione Stati Uniti occidentali (Oregon) (us-west-2). Prima di eseguire questo comando, sostituisci l'ID del servizio Amazon VPC e la Regione AWS con valori validi per la tua configurazione.

modify-vpc-endpoint-service-permissions --service-id vpce-svc-12abc34567def0987 --add-allowed-principals '["cks.kms.us-west-2.amazonaws.com"]'

Per rimuovere questa autorizzazione, usa la console Amazon VPC o ModifyVpcEndpointServicePermissionscon il RemoveAllowedPrincipals parametro.

Autorizzazione proxy dell'archivio delle chiavi esterne (facoltativo)

Alcuni proxy degli archivi delle chiavi esterne implementano i requisiti di autorizzazione per l'uso delle relative chiavi esterne. Un proxy dell'archivio delle chiavi esterne è consentito, ma non obbligatorio, per progettare e implementare uno schema di autorizzazione che consenta a determinati utenti di richiedere determinate operazioni solo in base ad alcune condizioni. Ad esempio, un proxy potrebbe essere configurato per consentire all'utente A di eseguire la crittografia con una particolare chiave esterna, ma non di effettuare l'operazione inversa.

L'autorizzazione proxy è indipendente dall'autenticazione proxy basata su SigV4 richiesta da AWS KMS per tutti i proxy degli archivi delle chiavi esterne. È inoltre indipendente dalle policy delle chiavi, dalle policy IAM e dalle concessioni che autorizzano l'accesso alle operazioni che riguardano l'archivio delle chiavi esterne o le relative chiavi KMS.

Per abilitare l'autorizzazione da parte del proxy dell'archivio delle chiavi esterne, AWS KMS include i metadati in ogni richiesta API proxy, tra cui il chiamante, la chiave KMS, l'operazione AWS KMS e il Servizio AWS (se presente). I metadati della richiesta per la versione 1 (v1) dell'API proxy dell'archivio delle chiavi esterne sono i seguenti.

"requestMetadata": { "awsPrincipalArn": string, "awsSourceVpc": string, // optional "awsSourceVpce": string, // optional "kmsKeyArn": string, "kmsOperation": string, "kmsRequestId": string, "kmsViaService": string // optional }

Ad esempio, potresti configurare il proxy in modo da consentire le richieste provenienti da un determinato principale (awsPrincipalArn), ma solo quando tale richiesta viene effettuata da uno specifico Servizio AWS (kmsViaService) per conto del principale.

Se l'autorizzazione proxy fallisce, anche la relativa l'operazione AWS KMS ha esito negativo e viene visualizzato un messaggio che spiega l'errore. Per maggiori dettagli, consulta Problemi relativi all'autorizzazione proxy.

Autenticazione TLS reciproca (facoltativa)

Per consentire al proxy dell'archivio delle chiavi esterne di autenticare le richieste provenienti da AWS KMS, AWS KMS firma tutte le richieste che arrivano al proxy con le credenziali di autenticazione proxy Signature V4 (SigV4) per l'archivio delle chiavi esterne.

Per garantire inoltre che il proxy dell'archivio delle chiavi esterne risponda solo alle richieste di AWS KMS, alcuni proxy supportano l'autenticazione TLS reciproca, in cui le parti che partecipano a una transazione utilizzano certificati per autenticarsi reciprocamente. L'autenticazione TLS reciproca aggiunge l'autenticazione lato client, in cui il server proxy dell'archivio delle chiavi esterne autentica il client AWS KMS, all'autenticazione lato server fornita dall'autenticazione TLS standard. Nel raro caso in cui le credenziali di autenticazione proxy siano compromesse, l'autenticazione TLS reciproca impedisce a terzi di effettuare richieste API al proxy dell'archivio delle chiavi esterne.

Per implementare l'autenticazione TLS reciproca, configura il proxy dell'archivio delle chiavi esterne in modo che accetti solo certificati TLS lato client con le seguenti proprietà:

  • Il nome comune dell'oggetto sul certificato TLS deve essere cks.kms.<Region>.amazonaws.com, ad esempio cks.kms.eu-west-3.amazonaws.com.

  • Il certificato deve essere concatenato a un'autorità di certificazione associata ai servizi di trust di Amazon.