Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Warum kann ich keine große Datei mit der AWS-KMS-Schlüsselverschlüsselung auf Amazon S3 hochladen?
Ich möchte eine große Datei in meinen Amazon Simple Storage Service (Amazon S3)-Bucket hochladen. In meiner Upload-Anfrage füge ich Verschlüsselungsinformationen mit einem AWS Key Management Service (AWS KMS)-Schlüssel hinzu. Ich erhalte jedoch die Fehlermeldung „Access Denied“.
Kurzbeschreibung
Bestätige, dass du berechtigt bist, kms:Decrypt-Aktionen für den AWS-KMS-Schlüssel auszuführen, den du zum Verschlüsseln des Objekts verwendest.
Bei großen Dateien führen AWS-S3-Befehle auf hoher Ebene mit der AWS-Befehlszeilenschnittstelle (AWS CLI), AWS-SDKs und vielen Programmen von Drittanbietern automatisch einen mehrteiligen Upload durch. Um einen AWS-KMS-Schlüssel zum Verschlüsseln eines mehrteiligen Uploads zu verwenden, benötigst du die Berechtigungen kms:GenerateDataKey und kms:Decrypt. Mit den Berechtigungen kms:GenerateDataKey kannst du den Upload initiieren. Mit der Berechtigung kms:Decrypt kannst du neu hochgeladene Teile mit dem Schlüssel verschlüsseln, den du für frühere Teile desselben Objekts verwendet hast.
Hinweis: Um einen mehrteiligen Upload mit Verschlüsselung mithilfe eines AWS-KMS-Schlüssels durchzuführen, musst du über Folgendes verfügen:
- Berechtigung für die Aktionen kms:Decrypt und kms:GenerateDataKey für den Schlüssel.
- Berechtigungen für die Aktion kms:GenerateDataKey für die CreateMultipartUpload-API.
- Berechtigungen für die Aktion kms:Decrypt für die UploadPart- und UploadPartCopy-APIs. Diese Berechtigungen sind erforderlich, da Amazon S3 Daten aus den verschlüsselten Dateiteilen entschlüsseln und lesen muss, bevor der mehrteilige Upload abgeschlossen ist.
Wenn sich dein AWS Identity and Access Management (IAM)-Benutzer oder deine Rolle im selben AWS-Konto wie der KMS-Schlüssel befindet, musst du über diese Berechtigungen für die Schlüsselrichtlinie verfügen. Wenn dein IAM-Benutzer oder deine IAM-Rolle zu einem anderen Konto gehört als der KMS-Schlüssel, musst du sowohl über die Berechtigungen für die Schlüsselrichtlinie als auch für deinen IAM-Benutzer oder deine IAM-Rolle verfügen.
Lösung
Schlüsselrichtlinie
Überprüfe die AWS-KMS-Schlüsselrichtlinie mithilfe der Richtlinienansicht der AWS-Managementkonsole.
Suche in der Schlüsselrichtlinie nach Aussagen, in denen die Amazon-Ressourcennummer (ARN) deines IAM-Benutzers oder deiner IAM-Rolle als AWS-Prinzipal aufgeführt ist. Die ARN hat das Format: arn:aws:iam::111122223333:user/john.
Überprüfe dann die Liste der Aktionen, die deine IAM-Benutzer- oder -Rollenanweisungen zulassen. Für mehrteilige Uploads muss die Liste der erlaubten Aktionen kms:Decrypt mit SSE-KMS enthalten.
Diese Anweisung in einer Schlüsselrichtlinie ermöglicht es dem Benutzer John beispielsweise, die Aktionen kms:Decrypt und kms:GenerateDataKey auszuführen:
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/john" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
IAM-Berechtigungen
Um deine IAM-Berechtigungen zu überprüfen, öffne die IAM-Konsole und dann deinen IAM-Benutzer oder deine IAM-Rolle.
Sieh dir die Liste der Berechtigungsrichtlinien an, die auf deinen IAM-Benutzer oder deine IAM-Rolle angewendet wurden. Stelle sicher, dass eine Richtlinie angewendet wurde, die es dir ermöglicht, die Aktion kms:Decrypt für den Schlüssel auszuführen, der zum Verschlüsseln des Objekts verwendet wurde:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" ] } }
Die Beispielanweisung gewährt dem IAM-Benutzer Zugriff, um kms:Decrypt und kms:GenerateDataKey auf dem Schlüssel arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd auszuführen.
Anweisungen zum Aktualisieren deiner IAM-Berechtigungen findest du unter Berechtigungen für einen IAM-Benutzer ändern.
Weitere Informationen
- Themen
- Storage
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr