View a markdown version of this page

Anfragen authentifizieren: Browser-Based Uploads mit POST (AWS Signatur (Version 4) - 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.

Anfragen authentifizieren: Browser-Based Uploads mit POST (AWS Signatur (Version 4)

Amazon S3 unterstützt HTTP-POST-Anfragen, sodass Benutzer Inhalte direkt auf Amazon S3 hochladen können. Die Verwendung von HTTP POST zum Hochladen von Inhalten vereinfacht Uploads und reduziert die Upload-Latenz, wenn Benutzer Daten hochladen, um sie in Amazon S3 zu speichern. In diesem Abschnitt wird beschrieben, wie Sie HTTP-POST-Anfragen authentifizieren. Weitere Informationen zu HTTP-POST-Anfragen, zum Erstellen eines Formulars, zum Erstellen einer POST-Richtlinie und ein Beispiel finden Sie unterBrowser-Based Uploads mit POST (AWS Signatur (Version 4).

Gehen Sie wie folgt vor, um eine HTTP-POST-Anfrage zu authentifizieren:

  1. Das Formular muss die folgenden Felder enthalten, um die Signatur und relevante Informationen bereitzustellen, anhand derer Amazon S3 die Signatur nach Erhalt der Anfrage erneut berechnen kann:

    Elementname Description
    policy

    Die Base64-encoded Sicherheitsrichtlinie, die beschreibt, was in der Anfrage zulässig ist. Für die Signaturberechnung ist diese Richtlinie die Zeichenfolge, die Sie signieren. Amazon S3 muss diese Richtlinie erhalten, damit es die Signatur erneut berechnen kann.

    x-amz-algorithm

    Der verwendete Signaturalgorithmus. Für AWS Signature Version 4 lautet der WertAWS4-HMAC-SHA256.

    x-amz-credential

    Zusätzlich zu Ihrer Zugriffsschlüssel-ID enthält dies Informationen zum Umfang, den Sie bei der Berechnung des Signaturschlüssels für die Signaturberechnung verwendet haben.

    Es handelt sich um eine Zeichenfolge der folgenden Form:

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

    Beispiel:

    AKIAIOSFODNN7EXAMPLE/20130728/us-east-1/s3/aws4_request. .

    Für Amazon S3 lautet die AWS-Service-Zeichenfolge. s3 Eine Liste der Amazon aws-region S3-Zeichenfolgen finden Sie unter Regionen und Endpunkte im. Allgemeine AWS-Referenz

    x-amz-date

    Es ist der Datumswert im ISO8601-Format. Beispiel, 20130728T000000Z.

    Es ist dasselbe Datum, das Sie bei der Erstellung des Signaturschlüssels verwendet haben. Dies muss auch derselbe Wert sein, den Sie in der Richtlinie (x-amz-date) angeben, die Sie signiert haben.

    x-amz-signature

    (AWS Signaturversion 4) Der HMAC-SHA256 Hash der Sicherheitsrichtlinie.

    Weitere Informationen zu den Optionen für die Signatur finden Sie unter Hinzufügen der Signatur zur HTTP-Anfrage im Allgemeine AWS-Referenz.

  2. Die POST-Richtlinie muss die folgenden Elemente enthalten:

    Elementname Description
    x-amz-algorithm

    Der Signaturalgorithmus, den Sie zur Berechnung der Signatur verwendet haben. Für AWS Signature Version 4 lautet der WertAWS4-HMAC-SHA256.

    x-amz-credential

    Zusätzlich zu Ihrer Zugriffsschlüssel-ID enthält dies Informationen zum Umfang, den Sie bei der Berechnung des Signaturschlüssels für die Signaturberechnung verwendet haben.

    Es handelt sich um eine Zeichenfolge der folgenden Form:

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

    Zum Beispiel

    AKIAIOSFODNN7EXAMPLE/20130728/us-east-1/s3/aws4_request. .

    x-amz-date

    Der Datumswert, der in der nach ISO8601 formatierten Zeichenfolge angegeben ist. Zum Beispiel „20130728T000000Z“. Das Datum muss mit dem Datum übereinstimmen, das Sie bei der Erstellung des Signaturschlüssels für die Signaturberechnung verwendet haben.

  3. Für die Signaturberechnung ist die POST-Richtlinie die zu signierende Zeichenfolge.

Berechnung einer Signatur

Das folgende Diagramm veranschaulicht den Prozess der Signaturberechnung.

AWS Signaturberechnungsprozess mit den Schritten StringToSign SigningKey,, und Signaturen.

Um eine Signatur zu berechnen
  1. Erstellen Sie eine Richtlinie mithilfe der UTF-8 Codierung.

  2. Konvertiert die UTF-8-encoded Richtlinie in Base64. Das Ergebnis ist die zu signierende Zeichenfolge.

  3. Erstellen Sie die Signatur als HMAC-SHA256 Hash der zu signierenden Zeichenfolge. Sie geben den Signaturschlüssel als Schlüssel für die Hash-Funktion an.

  4. Codieren Sie die Signatur mithilfe der Hex-Kodierung.

Weitere Informationen zum Erstellen von HTML-Formularen, Sicherheitsrichtlinien und ein Beispiel finden Sie in den folgenden Unterthemen: