Authentifizierungsmethoden - AWS Identitäts- und Zugriffsverwaltung

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.

Authentifizierungsmethoden

Wichtig

Sofern Sie die AWS SDKs oder CLI nicht verwenden, müssen Sie Code schreiben, um Signaturen zu berechnen, die Authentifizierungsinformationen in Ihren Anfragen enthalten. Die Signaturberechnung in AWS Signature Version 4 kann ein komplexes Unterfangen sein, und wir empfehlen, dass Sie, wann immer möglich, die AWS SDKs oder CLI verwenden.

Mit einer der folgenden Methoden können Sie Authentifizierungsinformationen ausdrücken.

HTTP-Autorisierungs-Header

Der HTTP-Authorization-Header ist die gängigste Methode zur Authentifizierung einer Anfrage. Alle REST-API-Vorgänge (außer browserbasierte Uploads mit POST-Anfragen) erfordern diesen Header. Weitere Informationen zum Autorisierungsheader-Wert und zur Berechnung der Signatur und verwandter Optionen finden Sie unter Authentifizieren von Anfragen: Verwenden des Autorisierungsheaders (AWS Signature Version 4) in der Amazon S3 S3-API-Referenz.

Nachfolgend finden Sie ein Beispiel für den Authorization-Header-Wert. Zur besseren Lesbarkeit werden diesem Beispiel Zeilenumbrüche hinzugefügt. In Ihrem Code muss der Header eine fortlaufende Zeichenfolge sein. Zwischen dem Algorithmus und den Anmeldeinformationen steht kein Komma, die anderen Elemente müssen jedoch durch Kommas getrennt werden.

Authorization: AWS 4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;range;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024

Die folgende Tabelle beschreibt die verschiedenen Komponenten des Werts des Autorisierungs-Headers aus dem vorangegangenen Beispiel:

Komponente Beschreibung

Autorisierung

Der Algorithmus, der zur Berechnung der Signatur verwendet wurde. Sie müssen diesen Wert angeben, wenn Sie AWS Signature Version 4 für die Authentifizierung verwenden. Die Zeichenfolge gibt AWS Signature Version 4 (AWS 4) und den Signaturalgorithmus () an. HMAC-SHA256

Credential

Ihre Zugriffsschlüssel-ID und die Informationen des Gültigkeitsbereichs, darunter Datum, Region und Service, die zur Berechnung der Signatur verwendet wurden.

Diese Zeichenfolge verfügt über das folgende Format:

<your-access-key-id>/<date>/<aws-region>/<aws-service>/aws4_request

Dabei gilt: Der <date>-Wert wird im Format JJJJMMTT angegeben. Der <aws-service>-Wert ist s3, wenn eine Anfrage an Amazon S3 gesendet wird.

SignedHeaders

Eine durch Semikolons getrennte Liste von Anforderungs-Headern, die Sie zur Berechnung von Signature verwendet haben. Die Liste enthält nur Header-Namen und die Header-Namen müssen in Kleinbuchstaben geschrieben sein. Zum Beispiel: host; range; x-amz-date

Signatur

Die 256-Bit-Signatur, ausgedrückt als 64 hexadezimale Kleinbuchstaben. Beispiel:fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024

Beachten Sie, dass die Signaturberechnungen je nach gewählter Option zur Übertragung der Nutzlast variieren.

Parameter der Abfragezeichenfolge

Sie können eine Abfragezeichenfolge verwenden, um eine Anfrage vollständig in einer URL auszudrücken. In diesem Fall verwenden Sie Abfrageparameter, um Anforderungsinformationen bereitzustellen, einschließlich der Authentifizierungsinformationen. Da die Anforderungssignatur Teil der URL ist, wird diese Art von URL oft als vorsignierte URL bezeichnet. Sie können vorsignierte URLs verwenden, um anklickbare Links in HTML einzubetten, die bis zu sieben Tage gültig sein können. Weitere Informationen finden Sie unter Authentifizieren von Anfragen: Verwenden von Abfrageparametern (AWS Signature Version 4) in der Amazon S3 S3-API-Referenz.

Im Folgenden finden Sie ein Beispiel für eine vorsignierte URL. Zur besseren Lesbarkeit werden diesem Beispiel Zeilenumbrüche hinzugefügt:

https://s3.amazonaws.com/examplebucket/test.txt ? X-Amz-Algorithm=AWS4-HMAC-SHA256 & X-Amz-Credential=<your-access-key-id>/20130721/us-east-1/s3/aws4_request & X-Amz-Date=20130721T201207Z & X-Amz-Expires=86400 & X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value>
Anmerkung

Der X-Amz-Credential-Wert in der URL zeigt das Zeichen „/“ nur zur besseren Lesbarkeit an. In der Praxis sollte es als %2F codiert werden. Beispielsweise:

&X-Amz-Credential=<your-access-key-id>%2F20130721%2Fus-east-1%2Fs3%2Faws4_request

Die folgende Tabelle beschreibt die Abfrageparameter in der URL, die Informationen zur Authentifizierung bereitstellen.

Abfragezeichenfolgen-Parametername Beschreibung

X-Amz-Algorithm

Identifiziert die Version von AWS Signature und den Algorithmus, den Sie zur Berechnung der Signatur verwendet haben. Für AWS Signature Version 4 setzen Sie diesen Parameterwert auf. AWS 4-HMAC-SHA256 Diese Zeichenfolge identifiziert  AWS -Signature Version 4 (AWS 4) und den HMAC-SHA256-Algorithmus (HMAC-SHA256).

X-Amz-Credential

Neben Ihrer Zugriffsschlüssel-ID gibt dieser Parameter auch den Bereich (AWS Region und Dienst) an, für den die Signatur gültig ist. Dieser Wert muss mit dem Gültigkeitsbereich übereinstimmen, den Sie für die Signaturberechnungen verwenden, die im folgenden Abschnitt beschrieben werden.

Das allgemeine Format für diesen Parameterwert lautet wie folgt:

<your-access-key-id>/<date>/<AWS Region>/<AWS-service>/aws4_request

Beispiel: AKIAIOSFODNN7EXAMPLE/20130721/us-east-1/s3/aws4_request

Eine Liste der AWS regionalen Zeichenketten finden Sie unter Regionale Endpunkte in der AWS Allgemeinen Referenz.

X-Amz-Datum

Das Datums- und Uhrzeitformat muss dem ISO 8601-Standard entsprechen und im yyyyMMddTHHmmssZ-Format formatiert sein. Wenn Datum und Uhrzeit beispielsweise „01.08.2016 15:32:41.982-700“ lauten, müssen diese zunächst in UTC (koordinierte Weltzeit) konvertiert und dann als „20160801T223241Z“ übermittelt werden.

X-Amz-Expires

Gibt den Zeitraum in Sekunden an, für den die generierte vorsignierte URL gültig ist. Zum Beispiel 86 400 (24 Stunden). Es handelt sich um einen Ganzzahlwert. Der Mindestwert, den Sie festlegen können, ist 1 und der Höchstwert 604 800 (sieben Tage). Eine vorsignierte URL kann maximal sieben Tage gültig sein, da der Signaturschlüssel, den Sie bei der Signaturberechnung verwenden, bis zu sieben Tage gültig ist.

X-Amz- SignedHeaders

Listet die Header auf, die Sie zur Berechnung der Signatur verwendet haben. Für die Signaturberechnungen sind folgende Header erforderlich:

  • Der HTTP-Host-Header.

  • Alle x-amz-*-Header, die Sie der Anfrage hinzufügen möchten.

Für zusätzliche Sicherheit sollten Sie alle Anforderungs-Header signieren, die Sie in Ihre Anfrage aufnehmen möchten.

X-Amz-Signature

Stellt die Signatur zur Authentifizierung Ihrer Anfrage bereit. Diese Signatur muss mit der vom Service berechneten Signatur übereinstimmen. Andernfalls lehnt der Service die Anfrage ab. Beispiel: 733255ef022bec3f2a8701cd61d4b371f3f28c9f193a1f02279211d48d5193d7

Signaturberechnungen werden im folgenden Abschnitt beschrieben.

X-Amz-Security-Token

Optionaler Parameter für Anmeldeinformationen, wenn Sie Anmeldeinformationen verwenden, die vom STS-Service stammen.