Warum kann ich keinen benutzerdefinierten AWS-KMS-Schlüssel verwenden, um ein verschlüsseltes EBS-Volume zu erstellen oder anzuhängen?

Lesedauer: 3 Minute
0

Ich kann kein verschlüsseltes Amazon Elastic Block Store (Amazon EBS)-Volume aus einem Snapshot erstellen oder anhängen. Der Snapshot ist mit einem vom Kunden verwalteten AWS Key Management Service (AWS KMS)-Schlüssel verschlüsselt.

Kurzbeschreibung

Möglicherweise können Sie kein verschlüsseltes EBS-Volume aus einem verschlüsselten Snapshot erstellen oder anhängen. Dies ist der Fall, wenn sich Ihr Snapshot und der benutzerdefinierte KMS-Schlüssel, der zum Verschlüsseln des Snapshots verwendet wird, im selben Konto befinden und wichtige Richtlinienberechtigungen fehlen. Um dieses Problem zu lösen, lassen Sie den Benutzer oder die Rolle von AWS Identity and Access Management (IAM) in der AWS KMS-Schlüsselrichtlinie zu.

Behebung

Identifizieren Sie die fehlenden Berechtigungen in der Richtlinie mithilfe des AWS-CloudTrail-Ereignisverlaufs

  1. Öffnen Sie die AWS CloudTrail-Konsole.
  2. Wählen SieEventverlauf aus. Geben Sie dann für Time range ein 15-minütiges Fenster ein, in dem die AttachVolume- oder CreateVolume-API-Aufrufe stattfanden.
  3. Wählen Sie Filter, Ereignisquelle aus und geben Sie dann kms.amazonaws.com ein.
  4. Wählen Sie nach dem Laden der Ergebnisse die Download-Schaltfläche und dann CSV herunterladen aus.
  5. Öffnen Sie die CSV-Datei und filtern Sie dann die Spalte Fehlercode nach AccessDenied. Alle Ereignisnamen mit dem AccessDenied-Fehlercode sind normalerweise die fehlenden Berechtigungen.

Hinweis: Es kann bis zu 15 Minuten dauern, bis CloudTrail-Ereignisse auf der Registerkarte Ereignisverlauf angezeigt werden. Beim Überprüfen des Ereignisverlaufs unmittelbar nach dem Empfang des Status CreateVolume oder AttachVolume failed werden möglicherweise keine Ereignisse angezeigt.

Nachdem Sie die fehlenden Berechtigungen identifiziert haben, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Stellen Sie sicher, dass die KMS-Schlüsselrichtlinie den IAM-Benutzer oder die IAM-Rolle beinhaltet, die das Volume erstellt oder anhängt

Standardansicht der AWS KMS-Konsole

1.    Öffnen Sie die AWS KMS-Konsole.

2.    Wählen Sie Vom Kunden verwaltete Schlüssel und dann den entsprechenden Schlüssel aus.

3.    Scrollen Sie unter Schlüsselrichtlinie nach unten zu Schlüsselbenutzer. Vergewissern Sie sich, dass im Abschnitt Hauptbenutzer der IAM-Benutzer oder die IAM-Rolle aufgeführt ist, die das Volume erstellt oder anhängt.

4.Wenn der Abschnitt Schlüsselbenutzer den Benutzer oder die Rolle nicht auflistet, wählen Sie Hinzufügen, den Benutzer oder die Rolle aus und klicken Sie dann auf Hinzufügen.

Richtlinienansicht der AWS KMS-Konsole

Wenn Sie die AWS KMS-Schlüsselrichtlinie zuvor manuell bearbeitet haben, ist die Schlüsselrichtlinie nur in der Richtlinienansicht (JSON) verfügbar. Um die erforderlichen AWS-KMS-Berechtigungen zuzulassen, geben Sie in der Erklärung den ARN des IAM-Benutzers oder der IAM-Rolle als Prinzipal an.

Beispiel für eine wichtige Richtlinie

Im Folgenden finden Sie ein Beispiel für eine AWS KMS-Schlüsselrichtlinie, die UserA den Zugriff auf Key1 ermöglicht:

{
	"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 OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten