In dieser Anleitung wird erklärt, wie Sie eine Signatur erstellen und welche Felder für Signaturen erforderlich und optional sind.
Zum Erstellen einer Signatur erstellen Sie einen String, der signiert werden soll. In dieser Anleitung wird er als signierter Wert bezeichnet. Der signierte Wert enthält Parameter, die den Inhalt beschreiben, den Sie schützen, die Ablaufzeit des signierten Werts usw.
Sie verwenden den signierten Wert beim Erstellen eines Signaturstrings. Zum Erstellen eines Signaturstrings erstellen Sie die Parameter für die Signatur, z. B. eine Signatur mit dem asymmetrischen Schlüssel für Ed25519 des signierten Werts.
Media CDN verwendet die endgültige Signatur, um Ihre Inhalte zu schützen.
Unterstützte Signierungsformate
Media CDN unterstützt die folgenden Formate für signierte Anfragen.
| Format | Verhalten | Beispiel |
|---|---|---|
| Abfrageparameter (genaue URL) |
Genaue URL zum Gewähren des Zugriffs auf eine bestimmte URL. |
Exakt:
|
| Abfrageparameter (URL-Präfix) |
Durch die Angabe eines URLPrefix können Sie ein Präfix signieren und dieselben Abfrageparameter an mehrere URLs innerhalb Ihres Players oder Ihrer Manifestgenerierung anhängen.
|
Zu signieren:
Ersetzen Sie |
| Pfadkomponente |
Präfix: Ermöglicht den Zugriff auf jede URL mit einem Präfix vor der
So können relative Manifest-URLs die signierte URL-Komponente automatisch übernehmen, wenn Unterressourcen abgerufen werden. |
https://media.example.com/video/edge-cache-token=Expires=EXPIRATION
|
| Signiertes Cookie | Präfix: Das Cookie ermöglicht den Zugriff auf jede URL mit dem Präfix, das im signierten URLPrefix Wert angegeben ist.
|
Edge-Caching-Cookie:
|
Signatur erstellen
Erstellen Sie einen signierten Wert, indem Sie einen String verketten, der die erforderlichen Signaturfelder und gewünschten optionalen Signaturfelder enthält.
Falls angegeben, muss
URLPrefixan erster Stelle stehen, gefolgt vonExpires,KeyNameund dann allen optionalen Parametern.Trennen Sie die einzelnen Felder und Parameter mit Folgendem:
- Verwenden Sie für Cookies einen Doppelpunkt
:. - Verwenden Sie für Abfrageparameter und Pfadkomponenten ein kaufmännisches Und-Zeichen
&.
- Verwenden Sie für Cookies einen Doppelpunkt
Signieren Sie den signierten Wert mit einer Ed25519-Signatur.
Hängen Sie am Ende des Strings ein Feldtrennzeichen (entweder
:oder&) gefolgt vonSignature=und der Ed25519-Signatur an.
Signierte URL erstellen
Im folgenden Codebeispiel wird gezeigt, wie Sie programmatisch eine signierte URL erstellen.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Signiertes URL-Präfix erstellen
In den folgenden Codebeispielen wird gezeigt, wie Sie programmatisch ein signiertes URL-Präfix erstellen.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Signiertes URL-Cookie erstellen
In den folgenden Codebeispielen wird gezeigt, wie Sie programmatisch ein signiertes URL- Cookie erstellen.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Signierte Pfadkomponente erstellen
In den folgenden Codebeispielen wird gezeigt, wie Sie programmatisch eine signierte Pfadkomponente erstellen.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Erforderliche Signaturfelder
Die folgenden Felder sind für jede Signatur erforderlich:
ExpiresKeyNameSignature
Wenn Abfrageparameter vorhanden sind, müssen sie als letzte Parameter in der URL gruppiert werden. Wenn nicht anders angegeben, wird bei Parameternamen und ihren Werten die Groß-/Kleinschreibung beachtet.
In der folgenden Tabelle wird jeder Parameter erläutert:
| Feldname | Signaturparameter | Signierter Wert |
|---|---|---|
Expires |
Ganzzahlsekunden, die seit der Unix-Epoche verstrichen sind (1970-01-01T00:00:00Z) | Expires=EXPIRATION_TIME, danach ist die Signatur nicht mehr gültig. |
KeyName |
Der Name des EdgeCacheKeyset, der zum Signieren dieser
Anfrage verwendet wurde. KeyName bezieht sich auf das gesamte Keyset und nicht auf einzelne Schlüssel im Schlüsselsatz selbst.
|
KeyName=EDGE_CACHE_KEYSET |
Signature |
Eine base64-codierte Version der Signatur. | Nicht zutreffend |
Optionale Signaturfelder
Wenn Abfrageparameter vorhanden sind, müssen sie als letzte Parameter in der URL gruppiert werden. Wenn nicht anders angegeben, wird bei Parameternamen und ihren Werten die Groß-/Kleinschreibung beachtet.
In der folgenden Tabelle werden Name und Details der einzelnen Parameter für optionale Signaturparameter erläutert:
| Feldname | Signaturparameter | Signierter Wert |
|---|---|---|
HeaderName |
Ein benannter Anfrageheader-Feldname, der in der Anfrage vorhanden sein muss. Muss beim Signieren in Kleinbuchstaben angegeben werden, da bei den Namen der Headerfelder die Groß-/Kleinschreibung beachtet wird. Media CDN wandelt den Header in Kleinbuchstaben um, bevor die Signatur validiert wird. |
HeaderName=HEADER_NAME |
HeaderValue |
Ein benannter Anfrageheader-Feldwert, der in der
Anfrage vorhanden sein muss. Dies ist in der Regel eine Nutzer-ID oder eine andere nicht transparente ID. Anfragen
mit HeaderValue aber ohne HeaderName werden
abgelehnt.
|
HeaderValue=HEADER_VALUE |
IPRanges |
Eine Liste mit bis zu fünf IPv4- und IPv6-Adressen im CIDR-Format, für
die diese URL im websicheren Base64-Format gültig ist. Geben Sie beispielsweise Die Aufnahme von IPRanges in die Signaturen ist möglicherweise nicht sinnvoll, wenn Kunden von WAN-Migrationen bedroht sind oder wenn der Netzwerkpfad zu Ihrem Anwendungs-Frontend ein anderer ist als der Bereitstellungspfad.
Media CDN lehnt Clients mit dem Code In den folgenden Fällen kann es vorkommen, dass Media CDN
Clients mit dem Code
All diese Faktoren können dazu beitragen, dass ein bestimmter Client während einer Videowiedergabesitzung eine
nicht-deterministische IP-Adresse hat. Wenn sich die
IP-Adresse des Clients ändert, nachdem Sie den Zugriff gewährt haben, und der
Client dann versucht, ein Videosegment in seinen Wiedergabepuffer
herunterzuladen, erhält er von
Media CDN den Fehler |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Das Base64-codierte (URL-sichere) URL-Präfix, für das Zugriff gewährt werden soll. Durch die Angabe eines URLPrefix können Sie ein Präfix signieren und dieselben Abfrageparameter an mehrere URLs innerhalb Ihres Players oder Ihrer Manifestgenerierung anhängen.
Der URLPrefix ist erforderlich, wenn das Format für signierte Cookies
verwendet wird.
|
URLPrefix=BASE_64_URL_PREFIX |