Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Verwenden der AWS SDKs, CLI und Explorer

Sie können auch die AWS SDKs für die Entwicklung von Anwendungen mit Amazon S3 verwenden. Die AWS SDKs vereinfachen Ihre Programmierungsaufgaben, indem sie die zugrunde liegende REST API umhüllen. Die AWS Mobile SDKs und die AWS Amplify JavaScript-Bibliothek sind auch für die Erstellung von verbundenen mobilen und Webanwendungen mit AWS verfügbar.

In diesem Abschnitt finden Sie eine Übersicht über die Verwendung von AWS SDKs für die Entwicklung von Amazon S3-Anwendungen. Darüber hinaus beschreibt dieser Abschnitt, wie Sie die AWS SDK-Codebeispiele in dieser Anleitung testen können.

Neben den AWS SDKs stehen auch AWS Explorer für Visual Studio und Eclipse for Java IDE zur Verfügung. In diesem Fall werden die SDKs und die Explorer zusammen als AWS Toolkits bereitgestellt.

Sie können auch die AWS Command Line Interface (AWS CLI) für die Verwaltung von Amazon S3-Buckets und Objekten verwenden.

AWS Toolkit for Eclipse

Die AWS Toolkit for Eclipse beinhaltet AWS SDK for Java und AWS Explorer for Eclipse. Der AWS Explorer for Eclipse ist ein Open Source Plug-In für die Eclipse for Java IDE, die es den Entwicklern vereinfacht, Java-Anwendungen mit AWS zu entwickeln, zu debuggen und bereitzustellen. Die einfach zu bedienende GUI-Oberfläche gestattet Ihnen, auf Ihre AWS-Infrastruktur zuzugreifen und diese zu verwalten, einschließlich von Amazon S3. Sie können allgemeine Operationen ausführen, wie beispielsweise die Verwaltung Ihrer Buckets und Objekte oder die Einrichtung von IAM-Richtlinien bei der Entwicklung von Anwendungen, und all das innerhalb des Kontexts der Eclipse for Java IDE. Weitere Informationen zur Einrichtung finden Sie unter Einrichten des Toolkits. Beispiele für die Verwendung des Explorers finden Sie unter Zugreifen auf AWS Explorer.

AWS Toolkit for Visual Studio

AWS Explorer for Visual Studio ist eine Erweiterung von Microsoft Visual Studio, der es Entwicklern einfacher macht, .NET-Anwendungen mit Amazon Web Services zu entwickeln, zu debuggen und bereitzustellen. Die einfach zu bedienende GUI-Oberfläche gestattet Ihnen, auf Ihre AWS-Infrastruktur zuzugreifen und diese zu verwalten, einschließlich von Amazon S3. Sie können allgemeine Operationen ausführen, wie beispielsweise die Verwaltung Ihrer Buckets und Objekte oder die Einrichtung von IAM-Richtlinien bei der Entwicklung von Anwendungen, und all das innerhalb des Kontexts von Visual Studio. Weitere Informationen zur Einrichtung finden Sie unter Einrichten von AWS Toolkit for Visual Studio. Beispiele für die Verwendung von Amazon Amazon S3 unter Verwendung des Explorers finden Sie unter Verwenden von Amazon S3 im AWS Explorer.

AWS-SDKs

Sie können nur den SDK herunterladen. Weitere Informationen zum Herunterladen der SDK-Bibliotheken finden Sie unter Beispiel-Code-Bibliotheken.

AWS CLI

Die AWS CLI ist ein vereinheitlichtes Tool zur Verwaltung von AWS-Services, einschließlich von Amazon S3. Weitere Informationen zum Herunterladen von AWS CLI finden Sie unter AWS Command Line Interface.

Angabe der Signature-Version in der Anfrageauthentifizierung

Amazon S3 unterstützt in den meisten AWS-Regionen nur AWS Signature Version 4. In einigen der älteren 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 siehe AWS Signature Version 2 für Amazon S3 deaktiviert (veraltet).

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

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

SDK Anforderung von Signature Version 4 für die Anfrageauthentifizierung
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
JavaScript SDK

Setzen Sie den signatureVersion-Parameter auf v4, wenn Sie den Client konstruieren:

var s3 = new AWS.S3({signatureVersion: 'v4'});
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 für Amazon S3 deaktiviert (veraltet)

Signature Version 2 wird in Amazon S3 deaktiviert (veraltet). Amazon S3 akzeptiert anschließend nur API-Anforderungen, die mit Signature Version 4 signiert wurden.

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

Um was handelt es sich bei der Signature Version 2/4 und was versteht man unter dem Signieren einer Anforderung?

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-Anforderungen finden Sie unter Signieren von AWS-API-Anfragen in der AWS General Reference.

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. Nach dem 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 Signature Version 4 in der AWS General Reference.

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 AWS-Regionen unterstützt, während Signature Version 2 nur von Regionen unterstützt wird, die vor dem Januar 2014 gestartet 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 Signaturversion zum Signieren der Anforderungen verwendet wird. Standardmäßig verwenden die aktuellen Versionen unsere 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 Amazon S3zu senden, müssen Sie Ihre Anwendung so anpassen, dass der Signiervorgang mithilfe von Signature Version 4 ausgeführt wird.

Weitere Informationen darüber, welche Version des AWS SDKs beim Wechsel zu Signature Version 4 zu verwenden ist, 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 Authentifizieren von Anforderungen (AWS Signature Version 4) in der Amazon Simple Storage Service API Reference.

Was passiert, wenn ich keine Aktualisierung durchführe?

Anforderungen, mit Signature Version 2 signiert wurden und nach dem 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 weiterhin AWS Signature Version 2 zum Signieren und Authentifizieren der vorsignierten URL verwenden. Wir werden uns darum kümmern und zusätzliche Einzelheiten zur Migration zu Signature Version 4 für ein vorab signiertes URL-Szenario bereitstellen.

Weitere Infos

Von Signature Versionؘ 2 zur Signature Version 4 wechseln.

Wenn Sie aktuell Signatur 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 des Supports für Signature Version 2 wird unter AWS Signature Version 2 für Amazon S3 deaktiviert (veraltet) beschrieben.

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

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

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

AWS SDK for Java v1

Q4 2018 auf Java 1.11.x oder v2 aktualisieren. Ja Angabe der Signature-Version in der Anfrageauthentifizierung

AWS SDK for Java v2 (Vorversion)

Keine SDK-Aktualisierung erforderlich. Nein AWS SDK for 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

Keine SDK-Aktualisierung erforderlich. Ja AWS SDK für .NET v3

AWS SDK for JavaScript v1

Auf 2.68.0 oder höher aktualisieren. Ja AWS SDK for JavaScript

AWS SDK for JavaScript v2

Auf 2.68.0 oder höher aktualisieren. Ja AWS SDK for JavaScript

AWS SDK for JavaScript v3

Derzeit ist keine weitere Maßnahme erforderlich. Im Q3 2019 auf Hauptversion V3 aktualisieren. Nein AWS SDK for 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-Befehlszeilenschnittstelle

AWS CLI v2 (Vorversion)

Keine SDK-Aktualisierung erforderlich. Nein AWS-Befehlszeilenschnittstelle, 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 for Go

C++

Keine SDK-Aktualisierung erforderlich. Nein AWS SDK für C++

AWS-Tools für Windows PowerShell oder AWS-Tools für PowerShell Core

Wenn Sie Modulversionen verwenden, die älter als 3.3.99 sind, müssen Sie auf 3.3.99 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.99 zu aktualisieren, verwenden Sie Update-Module cmdlet:

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.