Direkt zum Inhalt

Wie behebe ich den Fehler "Requests require AWS Signature Version 4", wenn ich versuche, auf Amazon-S3-Objekte zuzugreifen, die mit von AWS KMS verwalteten Schlüsseln verschlüsselt sind?

Lesedauer: 3 Minute
0

Ich habe versucht, auf Amazon Simple Storage Service (Amazon S3)-Objekte zuzugreifen, die mit AWS Key Management Service (AWS KMS) verschlüsselt sind. Ich erhalte die folgende Fehlermeldung: "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4".

Lösung

Die folgenden Gründe können die Fehlermeldung "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4" verursachen:

  • Deine Anfragen sind nicht mit AWS Signature Version 4 signiert.
  • Du hast eine anonyme Anfrage gestellt.

Deine Anfragen sind nicht mit AWS Signature Version 4 signiert

Wenn du Signature Version 2 mit einem mit AWS KMS verschlüsselten Objekt verwendest, erhältst du möglicherweise eine Fehlermeldung. Einige S3-REST-API-Endpunkte und AWS-Regionen unterstützen weiterhin Anfragen, die mit Signature Version 2 signiert wurden. Es hat sich jedoch bewährt, Signature Version 4 für die Anmeldung zu verwenden. Weitere Informationen findest du unter AWS Signature Version 2 deaktiviert (veraltet) für Amazon S3.

Du kannst Anfragen, die mit Signature Version 2 signiert sind, an Buckets in Regionen richten, die Signature Version 2 unterstützen. AWS KMS setzt jedoch voraus, dass deine Anfragen mit Signature Version 4 signiert sind.

Gehe wie folgt vor, um die Signaturversion zu identifizieren, die du für Anfragen an Objekte in deinem Bucket verwendet hast:

Hinweis: Für Anfragen, die von AWS KMS verwaltete Schlüssel angeben, musst du SSL oder TLS verwenden. Wenn du SSL oder TLS nicht verwendest und die Anfrage über eine unsichere Verbindung stellst, erhältst du die folgende Fehlermeldung:

"An error occurred (InvalidArgument) when calling the operation_performed operation: Requests specifying Server Side Encryption with AWS KMS managed keys must be made over a secure connection.""Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4"

Du hast eine anonyme Anfrage gestellt

Eine anonyme Anfrage ist eine Anfrage, die nicht mit AWS-Anmeldeinformationen signiert ist. Beispielsweise verwendest du die Objekt-URL in deinem Browser oder einem HTTP-Client, um ein S3-Objekt herunterzuladen.

Ein Beispiel für eine Objekt-URL ist https://bucketname.s3.region.amazonaws.com/folder/file.txt.

Das Folgende ist ein Beispiel für einen curl-Befehl, den du ausführst, um eine anonyme Anfrage zu stellen:

curl -vo ./local/path/file.txt https://bucketname.s3.region.amazonaws.com/folder/file.txt

Um die Fehlermeldung zu vermeiden, stelle sicher, dass deine Anfrage mit AWS-Anmeldeinformationen signiert ist.

AWS OFFICIALAktualisiert vor einem Jahr