Perché non posso usare una chiave AWS KMS personalizzata per creare o allegare un volume EBS crittografato?

3 minuti di lettura
0

Non riesco a creare o collegare un volume Amazon Elastic Block Store (Amazon EBS) crittografato da un'istantanea. L'istantanea è crittografata con una chiave gestita dal cliente del servizio di gestione delle chiavi AWS (AWS KMS).

Breve descrizione

Potresti non essere in grado di creare o collegare un volume EBS crittografato da un'istantanea crittografata. Ciò si verifica quando l'istantanea e la chiave KMS personalizzata utilizzata per crittografare l'istantanea si trovano nello stesso account e non dispongono delle autorizzazioni relative alla policy della chiave. Per risolvere questo problema, autorizza l'utente o il ruolo AWS Identity and Access Management (IAM) nella policy della chiave AWS KMS.

Risoluzione

Identifica le autorizzazioni mancanti nella policy utilizzando la cronologia degli eventi di AWS CloudTrail

  1. Apri la console AWS CloudTrail.
  2. Scegli Cronologia eventi. Quindi, per Intervallo di tempo, inserisci una finestra di 15 minuti in cui sono state effettuate le chiamate API AttachVolume o CreateVolume.
  3. Scegli Filtro, seleziona Sorgente evento, quindi inserisci kms.amazonaws.com.
  4. Dopo il caricamento dei risultati, selezionai il pulsante di download, quindi scegli Scarica CSV.
  5. Apri il file.csv, quindi filtra la colonna del Codice di errore per AccessDenied. Tutti i Nomi degli eventi con il codice di errore AccessDenied sono in genere le autorizzazioni mancanti.

Nota: gli eventi CloudTrail impiegano fino a 15 minuti per essere visualizzati nella scheda Cronologia eventi. Se si controlla la Cronologia degli eventi subito dopo aver ricevuto lo stato di errore CreateVolume o AttachVolume, è possibile che non venga visualizzato alcun evento.

Dopo aver identificato le autorizzazioni mancanti, completa i passaggi seguenti per risolvere il problema.

Verifica che la policy delle chiavi KMS includa l'utente o il ruolo IAM che sta tentando di creare o collegare il volume

Dalla visualizzazione predefinita della console AWS KMS

1.   Apri la console AWS KMS.

2.   Scegli Chiavi gestite dal cliente, quindi seleziona la chiave appropriata.

3.   In Policy della chiave scorri verso il basso fino a Utenti chiave. Verifica che la sezione Utenti chiave elenchi l'utente o il ruolo IAM che stai utilizzando per creare il volume.

4.   Se la sezione Utenti chiave non elenca l'utente o il ruolo, scegli Aggiungi, seleziona l'utente o il ruolo, quindi scegli Aggiungi.

Dalla visualizzazione delle policy della console AWS KMS

Se hai già modificato manualmente la policy della chiave AWS KMS, è disponibile solo nella visualizzazione della policy (JSON). Per consentire le autorizzazioni AWS KMS richieste, assicurati di elencare l'ARN dell'utente o del ruolo IAM come Principal nella dichiarazione.

Esempio di policy della chiave

Di seguito è riportato un esempio di policy della chiave AWS KMS che consente a UserA di accedere a Key1:

{
	"Version": "2012-10-17",
	"Id": "key-consolepolicy-3",
	"Statement": [{
			"Sid": "Enable IAM User Permissions",
			...
		},
		{
			"Sid": "Allow access for Key Administrators",
			...
		},
		{
			"Sid": "Allow use of the keys",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111111111111:user/UserA"
			},
			"Action": [
				"kms:Encrypt",
				"kms:Decrypt",
				"kms:ReEncrypt*",
				"kms:GenerateDataKey*",
				"kms:DescribeKey"
			],
			"Resource": "*"
		},
		{
			"Sid": "Allow attachment of persistent resources",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111111111111:user/UserA"
			},
			"Action": [
				"kms:CreateGrant",
				"kms:ListGrants",
				"kms:RevokeGrant"
			],
			"Resource": "*",
			"Condition": {
				"Bool": {
					"kms:GrantIsForAWSResource": "true"
				}
			}
		}
	]
}
AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa