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.
Legen Sie signierte Cookies mithilfe einer benutzerdefinierten Richtlinie fest
Führen Sie die folgenden Schritte aus, um ein signiertes Cookie einzurichten, das eine benutzerdefinierte Richtlinie verwendet:
So richten Sie ein signiertes Cookies mit einer benutzerdefinierten Richtlinie ein
-
Wenn du verwendest. NEToder Java, um signiert zu erstellenURLs, und wenn Sie den privaten Schlüssel für Ihr key pair nicht vom Standard-.pem-Format in ein mit kompatibles Format umformatiert haben. NEToder mit Java, mach das jetzt. Weitere Informationen finden Sie unter Formatieren Sie den privaten Schlüssel neu (. NETund nur Java).
-
Programmieren Sie Ihre Anwendung so, dass drei
Set-Cookie
-Header an genehmigte Viewer gesendet werden. Sie benötigen dreiSet-Cookie
Header, da jederSet-Cookie
Header nur ein Name-Wert-Paar enthalten kann und ein CloudFront signiertes Cookie drei Name-Wert-Paare benötigt. Die Name-Wert-Paare sind:CloudFront-Policy
,CloudFront-Signature
undCloudFront-Key-Pair-Id
. Die Werte müssen auf dem Viewer vorhanden sein, bevor ein Benutzer die erste Anfrage für eine Datei stellt, bei der der Zugriff kontrolliert werden soll.Anmerkung
Im Allgemeinen empfehlen wir, die Attribute
Expires
undMax-Age
auszuschließen. Dies bewirkt, dass der Browser das Cookie löscht, wenn der Benutzer den Browser schließt. Dies verringert das Risiko, dass ein Benutzer unbefugten Zugriff auf Ihre Inhalte erhält. Weitere Informationen finden Sie unter Verhindern Sie den Missbrauch signierter Cookies.Bei den Namen der Cookie-Attribute muss die Groß- und Kleinschreibung beachtet werden.
Zeilenumbrüche werden nur hinzugefügt, damit die Attribute besser lesbar sind.
Set-Cookie: CloudFront-Policy=
base64 encoded version of the policy statement
; Domain=optional domain name
; Path=/optional directory path
; Secure; HttpOnly Set-Cookie: CloudFront-Signature=hashed and signed version of the policy statement
; Domain=optional domain name
; Path=/optional directory path
; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature
; Domain=optional domain name
; Path=/optional directory path
; Secure; HttpOnly- (Optional)
Domain
-
Der Domänenname für die angeforderte Datei. Wenn Sie kein
Domain
Attribut angeben, ist der Standardwert der Domainname in derURL, und er gilt nur für den angegebenen Domainnamen, nicht für Subdomänen. Wenn Sie einDomain
-Attribut angeben, gilt dieses auch für Unterdomänen. Ein vorangestellter Punkt im Domänennamen (z. B.Domain=.example.com
) ist optional. Wenn Sie einDomain
Attribut angeben, müssen außerdem der Domainname in URL und der Wert desDomain
Attributs übereinstimmen.Sie können den Domainnamen angeben, der Ihrer Distribution CloudFront zugewiesen wurde, z. B. d111111abcdef8.cloudfront.net, aber Sie können nicht *.cloudfront.net für den Domainnamen angeben.
Wenn Sie einen alternativen Domainnamen wie example.com in verwenden möchten, müssen Sie den alternativen Domainnamen zu Ihrer Distribution hinzufügenURLs, unabhängig davon, ob Sie das Attribut angeben.
Domain
Weitere Informationen finden Sie unter Alternative Domainnamen (CNAMEs) im Thema Referenz zu Verteilungseinstellungen. - (Optional)
Path
-
Der Pfad für die angeforderte Datei. Wenn Sie kein
Path
Attribut angeben, ist der Standardwert der Pfad in. URL Secure
-
Macht es erforderlich, dass der Viewer Cookies vor dem Senden einer Anfrage verschlüsselt. Wir empfehlen, den
Set-Cookie
Header über eine HTTPS Verbindung zu senden, um sicherzustellen, dass die Cookie-Attribute vor man-in-the-middle Angriffen geschützt sind. HttpOnly
-
Erfordert, dass der Betrachter das Cookie nur in HTTP HTTPS Oder-Anfragen sendet.
CloudFront-Policy
-
Ihre Richtlinienerklärung in einem JSON Format, bei dem Leerzeichen entfernt wurden, und anschließend base64-kodiert. Weitere Informationen finden Sie unter Erstellen Sie eine Signatur für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet.
Die Richtlinienanweisung steuert den Zugriff, den ein signiertes Cookie einem Benutzer gewährt. Sie umfasst die Dateien, auf die der Benutzer zugreifen kann, ein Ablaufdatum und eine optionale Uhrzeit, an dem die Datei gültig URL wird, sowie eine optionale IP-Adresse oder einen Bereich von IP-Adressen, die auf die Datei zugreifen dürfen.
CloudFront-Signature
-
Eine gehashte, signierte und Base64-kodierte Version der Richtlinienerklärung. JSON Weitere Informationen finden Sie unter Erstellen Sie eine Signatur für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet.
CloudFront-Key-Pair-Id
-
Die ID für einen CloudFront öffentlichen Schlüssel, zum Beispiel.
K2JCJMDEHXQW5F
Die ID des öffentlichen Schlüssels gibt an CloudFront, welcher öffentliche Schlüssel zur Validierung des signierten Schlüssels verwendet werden sollURL. CloudFrontvergleicht die Informationen in der Signatur mit den Informationen in der Grundsatzerklärung, um sicherzustellen, dass die URL nicht manipuliert wurde.Dieser öffentliche Schlüssel muss zu einer Schlüsselgruppe gehören, die ein vertrauenswürdiger Aussteller in der Verteilung ist. Weitere Informationen finden Sie unter Geben Sie Unterzeichner an, die signierte URLs und signierte Cookies erstellen können.
- (Optional)
Set-Cookie
Beispiel-Header für benutzerdefinierte Richtlinien
Sehen Sie sich die folgenden Beispiele für Set-Cookie
Header-Paare an.
Wenn Sie einen alternativen Domainnamen wie example.org in verwenden möchtenURLs, müssen Sie den alternativen Domainnamen zu Ihrer Distribution hinzufügen, unabhängig davon, ob Sie das Domain
Attribut angeben. Weitere Informationen finden Sie unter Alternative Domainnamen (CNAMEs) im Thema Referenz zu Verteilungseinstellungen.
Beispiel 1
Sie können die Set-Cookie
Header für ein signiertes Cookie verwenden, wenn Sie den Domainnamen verwenden, der Ihrer Distribution zugeordnet ist, in Ihren URLs Dateien.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly
Beispiel 2
Sie können die Set-Cookie
Header für ein signiertes Cookie verwenden, wenn Sie URLs für Ihre Dateien einen alternativen Domainnamen (example.org) verwenden.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/; Secure; HttpOnly
Beispiel 3
Sie können die Set-Cookie
Header-Paare für eine signierte Anfrage verwenden, wenn Sie den Domainnamen verwenden, der Ihrer Distribution zugeordnet ist, URLs für Ihre Dateien.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=dd111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly
Beispiel 4
Sie können die Set-Cookie
Header-Paare für eine signierte Anfrage verwenden, wenn Sie einen alternativen Domainnamen (example.org) verwenden, der URLs Ihrer Distribution in Ihren Dateien zugeordnet ist.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/; Secure; HttpOnly
Erstellen Sie eine Richtlinienerklärung für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet
Zum Erstellen einer Richtlinienanweisung für eine benutzerdefinierte Richtlinie führen Sie die folgenden Schritte aus. Einige Beispiel-Richtlinienanweisungen, die den Zugriff auf Dateien auf verschiedene Weisen kontrollieren, finden Sie unter Beispiel-Richtlinienanweisungen für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet.
So erstellen Sie die Richtlinienanweisung für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet
-
Erstellen Sie die Richtlinienerklärung im folgenden JSON Format.
{ "Statement": [ { "Resource": "URL of the file", "Condition": { "DateLessThan": { "AWS:EpochTime":required ending date and time in Unix time format and UTC }, "DateGreaterThan": { "AWS:EpochTime":optional beginning date and time in Unix time format and UTC }, "IpAddress": { "AWS:SourceIp": "optional IP address" } } } ] }
Beachten Sie Folgendes:
-
Sie können nur eine Anweisung einschließen.
-
Verwenden Sie die UTF Kodierung mit 8 Zeichen.
-
Fügen Sie alle Satzzeichen und Parameternamen genau wie angegeben ein. Abkürzungen für Parameternamen werden nicht akzeptiert.
-
Die Reihenfolge der Parameter im Bereich
Condition
ist unerheblich. -
Informationen zu den Werten für
Resource
,DateLessThan
,DateGreaterThan
undIpAddress
finden Sie unter Werte, die Sie in der Richtlinienanweisung für eine benutzerdefinierte Richtlinie für signierte Cookies angeben.
-
-
Entfernen Sie alle Leerzeichen (einschließlich Tabulatoren und Zeilenumbruchzeichen) aus der Richtlinienerklärung. Möglicherweise müssen Sie in der Zeichenfolge im Anwendungscode Escape-Zeichen einfügen.
-
Base64-kodieren Sie die Richtlinienanweisung mithilfe der Base64-Kodierung. MIME Weitere Informationen finden Sie in Abschnitt 6.8, Base64 Content-Transfer-Encoding im RFC Jahr 2045, MIME
(Mehrzweck-Internet-Mail-Erweiterungen) Erster Teil: Format von Internet-Nachrichtentexten. -
Ersetzen Sie ungültige Zeichen in einer URL Abfragezeichenfolge durch gültige Zeichen. In der folgenden Tabelle sind ungültige und gültige Zeichen aufgelistet.
Ersetzen Sie diese ungültigen Zeichen Durch diese gültigen Zeichen +
- (Bindestrich)
=
_ (Unterstrich)
/
~ (Tilde)
-
Fügen Sie den resultierenden Wert im
Set-Cookie
-Header hinterCloudFront-Policy=
ein. -
Erstellen Sie eine Signatur für den
Set-Cookie
-Header fürCloudFront-Signature
, indem Sie die Richtlinienanweisung hashen, signieren und eine Base64-Codierung vornehmen. Weitere Informationen finden Sie unter Erstellen Sie eine Signatur für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet.
Werte, die Sie in der Richtlinienanweisung für eine benutzerdefinierte Richtlinie für signierte Cookies angeben
Beim Erstellen einer Richtlinienanweisung für eine benutzerdefinierte Richtlinie geben Sie die folgenden Werte an.
- Ressource
-
Die Basis URL einschließlich Ihrer Abfragezeichenfolgen, falls vorhanden:
https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
Wichtig
Wenn Sie den
Resource
Parameter weglassen, können Benutzer auf alle Dateien zugreifen, die jeder Distribution zugeordnet sind, die dem key pair zugeordnet ist, das Sie zum Erstellen der signierten URL Datei verwenden.Sie können nur einen Wert für
Resource
angeben.Beachten Sie Folgendes:
-
Protokoll – Der Wert muss mit
http://
oderhttps://
beginnen. -
Abfragezeichenfolgeparameter – Wenn Sie über keine Abfragezeichenfolgeparameter verfügen, lassen Sie das Fragezeichen weg.
-
Platzhalter – Sie können das Platzhalterzeichen, das null oder mehr Zeichen (*), oder das Platzhalterzeichen, das genau einem Zeichen (?) irgendwo in der Zeichenfolge entspricht, verwenden. Beispielsweise würde der Wert:
https://d111111abcdef8.cloudfront.net/*game_download.zip*
u. a. die folgenden Dateien umfassen:
-
https://d111111abcdef8.cloudfront.net/game_download.zip
-
https://d111111abcdef8.cloudfront.net/example_game_download.zip?license=yes
-
https://d111111abcdef8.cloudfront.net/test_game_download.zip?license=temp
-
-
Alternative Domainnamen — Wenn Sie in der einen alternativen Domainnamen (CNAME) angebenURL, müssen Sie den alternativen Domainnamen angeben, wenn Sie auf Ihrer Webseite oder Anwendung auf die Datei verweisen. Geben Sie nicht Amazon S3 URL für die Datei an.
-
- DateLessThan
-
Das Ablaufdatum und die Uhrzeit für das URL Unix-Zeitformat (in Sekunden) und die koordinierte Weltzeit (UTC). Setzen Sie den Wert nicht in Anführungszeichen.
Beispielsweise wird der 16. März 2015, 10:00 Uhr, in 1426500000 im Unix-Zeitformat UTC umgewandelt.
Weitere Informationen finden Sie unter Wann CloudFront überprüft das Ablaufdatum und die Uhrzeit in einem signierten Cookie.
- DateGreaterThan (Fakultativ)
-
Ein optionales Startdatum und eine Startzeit für das URL Unix-Zeitformat (in Sekunden) und die koordinierte Weltzeit (UTC). Benutzer dürfen am oder vor dem angegebenen Datum und der angegebenen Uhrzeit nicht auf die Datei zugreifen. Setzen Sie den Wert nicht in Anführungszeichen.
- IpAddress (Fakultativ)
-
Die IP-Adresse des Clients, der die GET Anfrage stellt. Beachten Sie Folgendes:
-
Um allen IP-Adressen den Zugriff auf die Datei zu gewähren, lassen Sie den Parameter
IpAddress
weg. -
Sie können entweder eine IP-Adresse oder einen IP-Adressbereich angeben. Sie können die Richtlinie beispielsweise nicht so einrichten, dass Zugriff gewährt wird, wenn die IP-Adresse des Clients sich in einem von zwei getrennten Bereichen befindet.
-
Um den Zugriff von einer einzigen IP-Adresse zu gewähren, geben Sie Folgendes an:
"
IPv4 IP address
/32"
-
Sie müssen IP-Adressbereiche im IPv4 CIDR Standardformat angeben (z. B.
192.0.2.0/24
). Weitere Informationen finden Sie unter RFC4632, Classless Interdomain Routing (CIDR): Der Plan zur Zuweisung und Aggregation von Internetadressen,. https://tools.ietf.org/html/rfc4632Wichtig
IP-Adressen im IPv6 Format wie 2001:0 db 8:85 a3: :8a2e: 0370:7334 werden nicht unterstützt.
Wenn Sie eine benutzerdefinierte Richtlinie verwenden, die Folgendes umfasst: Aktivieren Sie diese Option nicht für die Verteilung.
IpAddress
IPv6 Wenn Sie den Zugriff auf einige Inhalte anhand der IP-Adresse und IPv6 Supportanfragen für andere Inhalte einschränken möchten, können Sie zwei Distributionen erstellen. Weitere Informationen finden Sie unter Aktivieren IPv6 im Thema Referenz zu Verteilungseinstellungen.
-
Beispiel-Richtlinienanweisungen für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet
Die folgenden Beispiel-Richtlinienanweisungen zeigen, wie der Zugriff auf eine bestimmte Datei, auf alle Dateien in einem Verzeichnis oder auf alle mit einer Schlüsselpaar-ID verknüpften Dateien kontrolliert wird. Die Beispiele zeigen auch, wie der Zugriff von einer einzelnen IP-Adresse oder einem Bereich von IP-Adressen kontrolliert wird und wie Sie verhindern, dass Benutzer das signierte Cookie nach einem festgelegten Datum und einer festgelegten Zeit verwenden.
Wenn Sie eines dieser Beispiele kopieren und einfügen, entfernen Sie alle Leerzeichen (einschließlich Tabulatoren und Zeilenumbruchzeichen), ersetzen Sie die Werte durch Ihre eigenen Werte und fügen Sie nach der schließenden Klammer (}) ein Zeilenumbruchzeichen ein.
Weitere Informationen finden Sie unter Werte, die Sie in der Richtlinienanweisung für eine benutzerdefinierte Richtlinie für signierte Cookies angeben.
Themen
- Beispiel für eine Richtlinienerklärung: Greifen Sie von einem IP-Adressbereich aus auf eine Datei zu
- Beispiel für eine Richtlinienanweisung: Greifen Sie über einen Bereich von IP-Adressen auf alle Dateien in einem Verzeichnis zu
- Beispiel für eine Richtlinienanweisung: Greifen Sie von einer IP-Adresse aus auf alle Dateien zu, die mit einer Schlüsselpaar-ID verknüpft sind
Beispiel für eine Richtlinienerklärung: Greifen Sie von einem IP-Adressbereich aus auf eine Datei zu
Das folgende Beispiel für eine benutzerdefinierte Richtlinie in einem signierten Cookie gibt an, dass ein Benutzer über IP-Adressen im Bereich 192.0.2.0/24
bis zum 1. Januar 2023 um 10:00 Uhr auf die Datei https://d111111abcdef8.cloudfront.net/game_download.zip
zugreifen kannUTC:
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/game_download.zip", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.0/24" }, "DateLessThan": { "AWS:EpochTime": 1357034400 } } } ] }
Beispiel für eine Richtlinienanweisung: Greifen Sie über einen Bereich von IP-Adressen auf alle Dateien in einem Verzeichnis zu
Mit der folgenden Beispiel-Richtlinienanweisung können Sie signierte Cookies für jede Datei im training
-Verzeichnis erstellen wie durch das Platzhalterzeichen * im Resource
-Parameter verdeutlicht. Benutzer können 192.0.2.0/24
bis zum 1. Januar 2013, 10:00 Uhr, von einer IP-Adresse aus auf die Datei zugreifenUTC:
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/training/*", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.0/24" }, "DateLessThan": { "AWS:EpochTime": 1357034400 } } } ] }
Jedes signierte Cookie, in dem Sie diese Richtlinie verwenden, enthält eine BasisURL, die eine bestimmte Datei identifiziert, zum Beispiel:
https://d111111abcdef8.cloudfront.net/training/orientation.pdf
Beispiel für eine Richtlinienanweisung: Greifen Sie von einer IP-Adresse aus auf alle Dateien zu, die mit einer Schlüsselpaar-ID verknüpft sind
Mit der folgenden Beispiel-Richtlinienanweisung können Sie signierte Cookies für jede mit einer beliebigen Verteilung verknüpfte Datei einrichten wie durch das Platzhalterzeichen * im Resource
-Parameter verdeutlicht. Der Benutzer muss die IP-Adresse verwende 192.0.2.10/32
. (Der Wert 192.0.2.10/32
in der CIDR Notation bezieht sich auf eine einzelne IP-Adresse,192.0.2.10
.) Die Dateien sind nur vom 1. Januar 2013 um 10:00 Uhr UTC bis zum 2. Januar 2013 um 10:00 Uhr verfügbarUTC:
{ "Statement": [ { "Resource": "https://*", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.10/32" }, "DateGreaterThan": { "AWS:EpochTime": 1357034400 }, "DateLessThan": { "AWS:EpochTime": 1357120800 } } } ] }
Jedes signierte Cookie, in dem Sie diese Richtlinie verwenden, enthält eine BasisURL, die eine bestimmte Datei in einer bestimmten CloudFront Distribution identifiziert, zum Beispiel:
https://d111111abcdef8.cloudfront.net/training/orientation.pdf
Das signierte Cookie enthält auch eine Schlüsselpaar-ID, die einer vertrauenswürdigen Schlüsselgruppe in der Distribution (d111111abcdef8.cloudfront.net) zugeordnet werden muss, die Sie in der Basis angeben. URL
Erstellen Sie eine Signatur für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet
Bei der Signatur für ein signiertes Cookie, das eine benutzerdefinierte Richtlinie verwendet, handelt es sich um eine gehashte, signierte und Base64-codierte Version der Richtlinienanweisung.
Weitere Informationen und Beispiele für das Hashing, Signieren und Codieren der Richtlinienanweisung finden Sie unter:
So erstellen Sie eine Signatur für ein signiertes Cookie mithilfe einer benutzerdefinierten Richtlinie
-
Verwenden Sie die Hash-Funktion SHA -1, RSA um die JSON Richtlinienanweisung, die Sie in der Prozedur erstellt haben, mit einem Hashwert zu versehen und zu signierenSo erstellen Sie die Richtlinienerklärung für eine signierteURL, die eine benutzerdefinierte Richtlinie verwendet. Verwenden Sie die Version der Richtlinienanweisung, die keine Leerzeichen mehr enthält, die aber noch nicht Base64-codiert wurde.
Verwenden Sie für den privaten Schlüssel, der für die Hash-Funktion erforderlich ist, einen privaten Schlüssel, dessen öffentlicher Schlüssel sich in einer aktiven vertrauenswürdigen Schlüsselgruppe für die Verteilung befindet.
Anmerkung
Die Methode, die Sie zum Hashen und Signieren der Richtlinienanweisung verwenden, ist abhängig von Ihrer Programmiersprache und Plattform. Einen Beispiel-Code finden Sie unter Codebeispiele zum Erstellen einer Signatur für eine signierte URL.
-
Entfernen Sie Leerzeichen (einschließlich Tabulatoren und Zeilenumbruchzeichen) aus der Hash-Zeichenfolge und der signierten Zeichenfolge.
-
Base64-kodieren Sie die Zeichenfolge mithilfe der Base64-Kodierung. MIME Weitere Informationen finden Sie in Abschnitt 6.8, Base64 Content-Transfer-Encoding im RFC Jahr 2045, MIME
(Mehrzweck-Internet-Mail-Erweiterungen) Erster Teil: Format von Internet-Nachrichtentexten. -
Ersetzen Sie ungültige Zeichen in einer URL Abfragezeichenfolge durch gültige Zeichen. In der folgenden Tabelle sind ungültige und gültige Zeichen aufgelistet.
Ersetzen Sie diese ungültigen Zeichen Durch diese gültigen Zeichen +
- (Bindestrich)
=
_ (Unterstrich)
/
~ (Tilde)
-
Fügen Sie den resultierenden Wert im
Set-Cookie
-Header für dasCloudFront-Signature=
-Name-Wert-Paar ein und kehren Sie zu So richten Sie ein signiertes Cookies mit einer benutzerdefinierten Richtlinie ein zurück, um denSet-Cookie
-Header fürCloudFront-Key-Pair-Id
hinzuzufügen.