View a markdown version of this page

Angabe der Signaturversion bei der Anforderungsauthentifizierung - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Angabe der Signaturversion bei der Anforderungsauthentifizierung

Amazon S3 unterstützt in den meisten AWS-Regionen Fällen nur AWS Signature Version 4. In einigen älteren Versionen AWS-Regionen unterstützt Amazon S3 sowohl Signature Version 4 als auch Signature Version 2. Signature Version 2 wird jedoch deaktiviert (veraltet). Weitere Informationen zum Ende der Unterstützung für Signature Version 2 finden Sie unter AWS Signature Version 2 ist für Amazon S3 deaktiviert (veraltet).

Eine Liste aller Amazon-S3-Regionen und der von ihnen unterstützten Signature-Versionen finden Sie unter Regions and Endpoints (Regionen und Endpunkte) in der Allgemeinen AWS -Referenz.

Für alle AWS-Regionen verwenden AWS SDKs standardmäßig Signature Version 4, um Anfragen zu authentifizieren. Wenn Sie AWS SDKs verwenden, die vor Mai 2016 veröffentlicht wurden, müssen Sie möglicherweise Signature Version 4 anfordern, wie in der folgenden Tabelle dargestellt.

SDK Anforderung von Signature Version 4 für die Anforderungs-Authentifizierung
AWS CLI

Für das Standardprofil führen Sie den folgenden Befehl aus:

$ aws configure set default.s3.signature_version s3v4

Für ein benutzerdefiniertes Profil führen Sie den folgenden Befehl aus:

$ aws configure set profile.your_profile_name.s3.signature_version s3v4
Java-SDK

Fügen Sie Ihrem Code Folgendes hinzu:

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

Oder geben Sie in der Befehlszeile Folgendes an:

-Dcom.amazonaws.services.s3.enableV4
PHP SDK

Setzen Sie den Parameter signature auf v4, wenn Sie den Amazon S3 Service-Client für PHP SDK v2 erstellen:

<?php $client = S3Client::factory([ 'region' => 'YOUR-REGION', 'version' => 'latest', 'signature' => 'v4' ]);

Setzen Sie den Parameter signature_version bei Verwendung des PHP SDK v3 im Rahmen der Erstellung des Amazon S3 Service-Clients auf v4:

<?php $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'YOUR-REGION', 'signature_version' => 'v4' ]);
Python-Boto SDK

Geben Sie Folgendes in der boto-Standardkonfigurationsdatei an:

[s3] use-sigv4 = True
Ruby SDK

Ruby SDK – Version 1: Setzen Sie den :s3_signature_version-Parameter auf :v4, wenn Sie den Client konstruieren:

s3 = AWS::S3::Client.new(:s3_signature_version => :v4)

Ruby SDK – Version 3: Setzen Sie den signature_version-Parameter auf v4, wenn Sie den Client konstruieren:

s3 = Aws::S3::Client.new(signature_version: 'v4')
.NET SDK

Fügen Sie den folgenden Code hinzu, bevor Sie den Amazon-S3-Client erstellen:

AWSConfigsS3.UseSignatureVersion4 = true;

Oder fügen Sie der Konfigurationsdatei Folgendes hinzu:

<appSettings> <add key="AWS.S3.UseSignatureVersion4" value="true" /> </appSettings>

 

AWS Signature Version 2 ist für Amazon S3 deaktiviert (veraltet)

Signature Version 2 wird unter Amazon S3 deaktiviert (veraltet). Danach akzeptiert Amazon S3 nur noch API-Anforderungen, die mithilfe der Signature Version 4 signiert wurden.

Dieser Abschnitt umfasst Antworten auf häufig gestellte Fragen im Bezug auf das Supportende für Signature Version 2.

Was ist die Signaturversion und was bedeutet es 2/4, Anfragen zu signieren?

Der Signiervorgang mittels Signature Version 2 oder Signature Version 4 authentifiziert Ihre API-Anforderungen in Amazon S3. Durch das Signieren von Anforderungen ist Amazon S3 in der Lage, den Absender der Anforderung zu identifizieren und Ihre Anforderungen vor Angreifern zu schützen.

Weitere Informationen zum Signieren von AWS Anfragen finden Sie unter Signieren von AWS API-Anfragen im Allgemeine AWS-Referenz.

Welche Aktualisierung nehmen Sie vor?

Derzeit unterstützen wir Amazon S3 API-Anforderungen, die mithilfe von Signature Version 2 und Signature Version 4 signiert wurden. Später akzeptiert Amazon S3 nur noch Anforderungen, die mit Signature Version 4 signiert wurden.

Weitere Informationen zum Signieren von AWS Anfragen finden Sie unter Änderungen in Signaturversion 4 im Allgemeine AWS-Referenz.

Warum nehmen Sie die Aktualisierung vor?

Signature Version 4 bietet mehr Sicherheit, da hierbei im Gegensatz zum geheimen Zugriffsschlüssel ein Signaturschlüssel verwendet wird. Signature Version 4 wird derzeit in allen unterstützt AWS-Regionen, wohingegen Signature Version 2 nur in Regionen unterstützt wird, die vor Januar 2014 eingeführt wurden. Dank dieser Aktualisierung sind wir in der Lage, in allen Regionen eine einheitlichere Erfahrung bereitzustellen.

Wie kann ich sicherstellen, dass ich Signature Version 4 verwende und welche Aktualisierungen benötige ich?

Normalerweise entscheidet das Tool oder das SDK auf Clientseite, welche Signature Version zum Signieren der Anforderungen verwendet wird. Standardmäßig verwenden die neuesten Versionen unserer AWS SDKs Signature Version 4. Setzen Sie sich mit dem entsprechenden Supportteam für Ihre Drittanbietersoftware in Verbindung, um zu erfahren, welche Version Sie benötigen. Um direkte REST-Aufrufe an Amazon S3 zu senden, müssen Sie Ihre Anwendung so anpassen, dass der Signiervorgang mithilfe von Signature Version 4 ausgeführt wird.

Informationen darüber, welche Version der AWS SDKs bei der Umstellung auf Signature Version 4 verwendet werden soll, finden Sie unter. Von Signature Versionؘ 2 zur Signature Version 4 wechseln.

Weitere Informationen zur Verwendung von Signature Version 4 mit der Amazon S3 REST-API finden Sie unter Authenticating Requests (Authentifizieren von Anforderungen) (AWS Signature Version 4) in der API-Referenz zu Amazon Simple Storage Service.

Was passiert, wenn ich keine Aktualisierung durchführe?

Anforderungen, mit Signature Version 2 signiert wurden und zu einem späteren Zeitpunkt gesendet werden, können dann nicht mehr mit Amazon S3 authentifiziert werden. Anforderer sehen eine Fehlermeldung, dass die Anforderung mit Signature Version 4 signiert sein muss.

Sollte ich Änderungen vornehmen, selbst wenn ich eine vorsignierte URL verwende, die es erforderlich macht, dass ich für mehr als sieben Tage signiere?

Wenn sie eine vorsignierte URL verwenden, für die Sie für mehr als sieben Tage signieren müssen, ist keine Maßnahme erforderlich. Sie können AWS Signature Version 2 weiterhin verwenden, um die vorsignierte URL zu signieren und zu authentifizieren. Weitere Informationen zur Migration auf Signature Version 4 für ein Szenario mit einer vorsignierten URL finden Sie in der Amazon S3-Dokumentation.

Weitere Infos

Von Signature Versionؘ 2 zur Signature Version 4 wechseln.

Wenn Sie aktuell Signature Version 2 für die Authentifizierung der API-Anforderungen in Amazon S3 verwenden, sollten Sie möglichst bald auf Signature Version 4 umwechseln. Das Ende der Unterstützung für Signature Version 2 wird unter beschriebe AWS Signature Version 2 ist für Amazon S3 deaktiviert (veraltet).

Weitere Informationen zur Verwendung von Signature Version 4 mit der Amazon S3 REST-API finden Sie unter Authenticating Requests (Authentifizieren von Anforderungen) (AWS Signature Version 4) in der API-Referenz zu Amazon Simple Storage Service.

Die folgende Liste stellt die SDKs mit der erforderlichen Mindestversion zur Verwendung von Signature Version 4 (SigV4) dar. Wenn Sie vorsignierte URLs mit den AWS Java-, JavaScript (Node.js) - oder Python (Boto/CLI) -SDKs verwenden, müssen Sie die richtige AWS-Region und Signature Version 4 in der Client-Konfiguration festlegen. Weitere Informationen zum Einrichten von SigV4 in der Client-Konfiguration finden Sie unter Angabe der Signaturversion bei der Anforderungsauthentifizierung.

Wenn Sie das verwenden SDK/Product Aktualisieren Sie auf diese SDK-Version Bei Verwendung von Sigv4 Codeänderung am Client erforderlich? Link zur SDK-Dokumentation

AWS SDK für Java v1

Upgrade auf Java 1.11.201+ oder v2. Ja Angabe der Signaturversion bei der Anforderungsauthentifizierung

AWS SDK für Java v2

Keine SDK-Aktualisierung erforderlich. Nein AWS SDK für Java

AWS SDK für .NET v1

Auf 3.1.10 oder höher aktualisieren. Ja AWS SDK für .NET

AWS SDK für .NET v2

Auf 3.1.10 oder höher aktualisieren. Nein AWS SDK für .NET v2

AWS SDK für .NET v3

Auf 3.3.0.0 oder höher aktualisieren. Ja AWS SDK für .NET v3

AWS SDK für JavaScript v1

Auf 2.68.0 oder höher aktualisieren. Ja AWS SDK für JavaScript

AWS SDK für JavaScript v2

Auf 2.68.0 oder höher aktualisieren. Ja AWS SDK für JavaScript

AWS SDK für JavaScript v3

Derzeit ist keine weitere Maßnahme erforderlich. Im Q3 2019 auf Hauptversion V3 aktualisieren. Nein AWS SDK für JavaScript

AWS SDK für PHP v1

Empfohlen wird ein Upgrade auf die aktuelle Version von PHP oder mindestens v2.7.4 und der Wert v4 für den Signature-Parameter in der Konfiguration des S3-Clients. Ja AWS SDK für PHP

AWS SDK für PHP v2

Empfohlen wird ein Upgrade auf die aktuelle Version von PHP oder mindestens v2.7.4 und der Wert v4 für den Signature-Parameter in der Konfiguration des S3-Clients. Nein AWS SDK für PHP

AWS SDK für PHP v3

Keine SDK-Aktualisierung erforderlich. Nein AWS SDK für PHP

Boto2

Auf Boto2 v2.49.0. aktualisieren. Ja Boto 2-Aktualisierung

Boto3

Auf 1.5.71 (Botocore), 1.4.6 (Boto3) aktualisieren. Ja Boto 3 — AWS SDK für Python

AWS CLI

Auf 1.11.108 aktualisieren. Ja AWS Command Line Interface

AWS CLI v2 (Vorschau)

Keine SDK-Aktualisierung erforderlich. Nein AWS Command Line Interface Version 2

AWS SDK für Ruby v1

Auf Ruby V3 aktualisieren. Ja Ruby V3 für AWS

AWS SDK für Ruby v2

Auf Ruby V3 aktualisieren. Ja Ruby V3 für AWS

AWS SDK für Ruby v3

Keine SDK-Aktualisierung erforderlich. Nein Ruby V3 für AWS

Go

Keine SDK-Aktualisierung erforderlich. Nein AWS SDK für Go

C++

Keine SDK-Aktualisierung erforderlich. Nein AWS SDK für C++
AWS Tools for Windows PowerShell oder AWS Tools for PowerShell Core

Wenn Sie Modulversionen verwenden, die älter als 3.3.0.0 sind, müssen Sie auf 3.3.0.0 aktualisieren.

Verwenden Sie Get-Module cmdlet, um die Versionsinformationen zu erhalten:

Get-Module –Name AWSPowershell Get-Module –Name AWSPowershell.NetCore

Um auf die Version 3.3.0.0 zu aktualisieren, verwenden Sie das cmdlet Update-Module:

Update-Module –Name AWSPowershell Update-Module –Name AWSPowershell.NetCore

Für Signature Version 2-Datenverkehr können Sie vorab signierte URLs verwenden, die länger als sieben Tage gültig sind.