Einrichten signierter Cookies mit einer vordefinierten Richtlinie - Amazon CloudFront

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.

Einrichten signierter Cookies mit einer vordefinierten Richtlinie

Um ein signiertes Cookie mit einer vordefinierten Richtlinie einzurichten, führen Sie die folgenden Schritte aus. Zum Erstellen einer Signatur vgl. Erstellen einer Signatur für ein signiertes Cookie, das eine vordefinierte Richtlinie verwendet.

Das folgende Beispiel zeigt Set-Cookie-Header für ein signiertes Cookie bei Verwendung des mit Ihrer Verteilung verknüpften Domänennamens in den URLs für Ihre Dateien:

Set-Cookie: CloudFront-Expires=1426500000; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly

Das folgende Beispiel zeigt Set-Cookie-Header für ein signiertes Cookie bei Verwendung des alternativen Domänennamens example.org in den URLs für Ihre Dateien:

Set-Cookie: CloudFront-Expires=1426500000; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/images/*; Secure; HttpOnly

Wenn Sie einen alternativen Domänennamen wie beispielsweise example.com in URLs verwenden möchten, müssen Sie den alternativen Domänennamen zu Ihrer Verteilung hinzufügen, unabhängig davon, ob Sie das Domain-Attribut angeben. Weitere Informationen finden Sie unter Alternative Domänennamen (CNAMEs) im Thema Werte, die Sie beim Erstellen oder Aktualisieren einer Verteilung angeben.

Erstellen einer Signatur für ein signiertes Cookie, das eine vordefinierte Richtlinie verwendet

Um die Signatur für ein signiertes Cookie zu erstellen, das eine vordefinierte Richtlinie verwendet, gehen Sie wie folgt vor:

Erstellen einer Richtlinienanweisung für ein signiertes Cookie, das eine vordefinierte Richtlinie verwendet

Wenn Sie ein signiertes Cookie einrichten, das eine vordefinierte Richtlinie verwendet, ist das CloudFront-Signature-Attribut eine gehashte und signierte Version einer Richtlinienanweisung. Bei signierten Cookies, die eine vordefinierte Richtlinie verwenden, fügen Sie die Richtlinienanweisung nicht in den Set-Cookie-Header ein, wie Sie es bei signierten Cookies tun, die eine benutzerdefinierte Richtlinie verwenden. Führen Sie die folgenden Schritte aus, um die Richtlinienanweisung zu erstellen.

So erstellen Sie eine Richtlinienanweisung für ein signiertes Cookie, das eine vordefinierte Richtlinie verwendet
  1. Erstellen Sie die Richtlinienanweisung unter Verwendung des folgenden JSON-Formats und der UTF-8-Zeichencodierung. Fügen Sie alle Satzzeichen und andere Literalwerte genau wie angegeben ein. Informationen zu den Parametern Resource und DateLessThan finden Sie unter Werte, die Sie in der Richtlinienanweisung für eine vordefinierte Richtlinie für signierte Cookies angeben.

    { "Statement": [ { "Resource": "base URL or stream name", "Condition": { "DateLessThan": { "AWS:EpochTime": ending date and time in Unix time format and UTC } } } ] }
  2. Entfernen Sie alle Leerzeichen (einschließlich Tabulatoren und Zeilenumbruchzeichen) aus der Richtlinienanweisung. Möglicherweise müssen Sie in der Zeichenfolge im Anwendungscode Escape-Zeichen einfügen.

Werte, die Sie in der Richtlinienanweisung für eine vordefinierte Richtlinie für signierte Cookies angeben

Beim Erstellen einer Richtlinienanweisung für eine vordefinierte Richtlinie geben Sie die folgenden Werte an:

Ressource

Die Basis-URL einschließlich Ihrer Abfragezeichenfolgen, sofern vorhanden, zum Beispiel:

https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes

Sie können nur einen Wert für Resource angeben.

Beachten Sie Folgendes:

  • Protokoll – Der Wert muss mit http:// oder https:// beginnen.

  • Abfragezeichenfolgeparameter – Wenn Sie über keine Abfragezeichenfolgeparameter verfügen, lassen Sie das Fragezeichen weg.

  • Alternative Domänennamen – Wenn Sie einen alternativen Domänennamen (CNAME) in der URL angeben, müssen Sie diesen alternativen Domänennamen angeben, wenn Sie auf Ihrer Webseite oder in Ihrer Anwendung auf die Datei verweisen. Geben Sie nicht die Amazon S3-URL für Datei an.

DateLessThan

Das Ablaufdatum und die Ablaufzeit für die URL im Unix-Zeitformat (in Sekunden) und in koordinierter Weltzeit (UTC). Setzen Sie den Wert nicht in Anführungszeichen.

Beispielsweise wird der 16. März 2015, 10:00 Uhr UTC in 1426500000 im Unix-Zeitformat umgewandelt.

Dieser Wert muss mit dem Wert des CloudFront-Expires-Attributs im Set-Cookie-Header übereinstimmen. Setzen Sie den Wert nicht in Anführungszeichen.

Weitere Informationen finden Sie unter Wann CloudFront überprüft das Ablaufdatum und die Ablaufzeit in einem signierten Cookie?.

Beispiel-Richtlinienanweisung für eine vordefinierte Richtlinie

Wenn Sie die folgende Beispiel-Richtlinienanweisung in einem signierten Cookie verwenden, kann ein Benutzer bis zum 16. März 2015, 10:00 Uhr UTC, auf die Datei https://d111111abcdef8.cloudfront.net/horizon.jpg zugreifen:

{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1426500000 } } } ] }

Signieren der Richtlinienanweisung zum Erstellen einer Signatur für ein signiertes Cookie, das eine vordefinierte Richtlinie verwendet

Um den Wert für das CloudFront-Signature-Attribut in einem Set-Cookie-Header zu erstellen, müssen Sie die in So erstellen Sie eine Richtlinienanweisung für ein signiertes Cookie, das eine vordefinierte Richtlinie verwendet erstellte Richtlinienanweisung hashen und signieren.

Weitere Informationen und Beispiele für das Hashing, Signieren und Codieren der Richtlinienanweisung finden Sie in den folgenden Themen: