Perché non riesco a creare uno snapshot della mia istanza Amazon EC2 crittografata?
La mia istanza Amazon Elastic Compute Cloud (Amazon EC2) utilizza la crittografia del Servizio AWS di gestione delle chiavi (AWS KMS). Desidero creare uno snapshot dei volumi Amazon Elastic Block Store (Amazon EBS) per la mia istanza EC2, ma ricevo un errore.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Prerequisiti:
- Crea uno snapshot non crittografato per verificare che il problema riguardi la crittografia AWS KMS.
- Cerca nella cronologia degli eventi di AWS CloudTrail messaggi di errore dettagliati o un maggiore contesto.
In base al messaggio di errore che ricevi quando provi a creare uno snapshot crittografato del volume Amazon EBS, intraprendi le seguenti azioni.
Risolvi l'errore "AccessDenied: User is not authorized to perform: kmsCreateGrant"
Se l'entità AWS Identity and Access Management (AWS IAM) che ha creato lo snapshot non ha le autorizzazioni richieste, viene visualizzato il messaggio di errore "AccessDenied". Quando condividi uno snapshot crittografato, devi condividere anche la chiave gestita dal cliente che hai utilizzato per crittografare lo snapshot.
Per condividere la chiave tra account AWS, scegli Aggiungi un altro account quando crei la chiave. In alternativa, aggiorna la policy della chiave AWS KMS per consentire all'account di destinazione di utilizzare la chiave AWS KMS.
Esempio di policy della chiave AWS KMS:
{ "Sid": "Allow use of the key for EBS snapshot operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt", "kms:Decrypt" ], "Resource": "*" }
Nota: sostituisci ACCOUNT-ID con l'ID dell'account di destinazione e ROLE-NAME con il nome del ruolo IAM.
Per ulteriori informazioni, consulta Risoluzione dei problemi relativi alle autorizzazioni AWS KMS.
Risolvi l'errore "No resource-based policies allow access"
Questo errore si verifica quando l'accesso multi-account è stato configurato in modo errato o quando l'account di destinazione blocca l'accesso.
Per risolverlo, verifica che la policy della chiave AWS KMS consenta all'account di destinazione di accedere alla chiave con le autorizzazioni richieste.
Esempio di policy della chiave AWS KMS:
{ "Sid": "Allow use of the key for EBS snapshot operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt", "kms:Decrypt" ], "Resource": "*" }
Nota: sostituisci ACCOUNT-ID con l'ID dell'account di destinazione e ROLE-NAME con il nome del ruolo IAM.
Quindi condividi lo snapshot crittografato e la chiave AWS KMS con l'account di destinazione.
Assicurati che le policy di controllo dei servizi (SCP) dell'account di destinazione in AWS Organizations non blocchino l'accesso. AWS valuta le SCP prima delle policy IAM o delle policy basate sulle risorse.
Per le configurazioni multi-Regione, esegui questo comando AWS CLI describe-key per assicurarti che gli utenti possano accedere ad AWS KMS nella Regione di destinazione:
aws kms describe-key --key-id example-key-id --region example-region
Nota: sostituisci example-key-id con l'ID della tua chiave AWS KMS e example-region con la Regione di destinazione.
Se gli utenti non riescono ad accedere alla chiave nella Regione di destinazione, assicurati di aver creato chiavi di replica multi-Regione.
Per ulteriori informazioni, consulta Autorizzazione per gli utenti in altri account a utilizzare una chiave KMS.
Risolvi l'errore "Resource does not exist in this Region"
Per risolverlo, assicurati di aver configurato correttamente l'accesso alla chiave di crittografia nelle Regioni AWS richieste.
Per verificare che la chiave AWS KMS esista nella Regione di destinazione, esegui questo comando list-keys:
aws kms list-keys --region example-region
Nota: sostituisci example-region con la Regione di destinazione.
Se la chiave non esiste nella Regione di destinazione, aggiorna la policy della chiave AWS KMS per concedere l'accesso all'account nella Regione di destinazione.
Esempio di policy della chiave AWS KMS:
{ "Sid": "Allow use of the key for EBS snapshot operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt", "kms:Decrypt" ], "Resource": "*" }
Nota: sostituisci ACCOUNT-ID con l'ID dell'account di destinazione e ROLE-NAME con il nome del ruolo IAM.
Per le configurazioni multi-Regione, assicurati di aver creato chiavi di replica multi-Regione.
Per verificare se la chiave AWS KMS ha le autorizzazioni richieste, esegui questo comando get-key-policy:
aws kms get-key-policy --key-id example-key-id --policy-name default --region example-region
Nota: sostituisci example-key-id con l'ID della tua chiave AWS KMS e example-region con la Regione di destinazione.
Se la policy della chiave AWS KMS non include le autorizzazioni richieste, aggiornala.
- Argomenti
- Compute
- Lingua
- Italiano
