Auf dieser Seite werden die Optionen beschrieben, die Media CDN bietet, um eine nicht autorisierte Verteilung Ihrer Inhalte zu verhindern.
Media CDN unterstützt mehrere Optionen für signierte Anfragen, um Ihre Inhalte vor unbefugter Verteilung zu schützen. Ein Token ist ein Medium zum Austausch signierter Anfragen, z. B. ein signiertes Cookie, ein URI mit Abfrageparametern oder eine Pfadkomponente. Von Nutzern bereitgestellte gültige Tokens werden verwendet, um den Zugriff auf Ihre Inhalte zu authentifizieren. Ein Nutzer mit einem ungültigen oder fehlenden Token kann nicht auf Ihre Inhalte zugreifen.
Media CDN bietet die folgenden Optionen für signierte Anfragen für die Clientauthentifizierung:
Signaturen: Media CDN verwendet eine einzelne Signatur zum Schutz von Inhalten.
Tokens: Media CDN verwendet Tokens zum Schutz von Inhalten. Sie können sich für die Authentifizierung mit einem oder mehreren Tokens entscheiden.
Bei der Dual-Token-Authentifizierung verwendet Media CDN zwei Token, ein Kurzzeit- und ein Langzeit-Token, um Inhalte zu schützen.
Mithilfe von Signaturen können Sie vollständige URLs signieren, einschließlich Host und Protokoll.
Tokens bieten die folgenden Funktionen:
- Kompatibilität mit Nicht-Google-CDNs
- Nur-Pfad-Signatur
- Kann mehrere Header signieren
- Möglichkeit, beliebige Daten- und Sitzungs-IDs einzubetten
Wir empfehlen Tokens für neue Integrationen. Für die Dual-Token-Authentifizierung werden Token benötigt.
Sie können signierte Anfragen und Authentifizierungsanfragen mit zwei Tokens zusammen verwenden, um Ihre Inhalte zu schützen.
So funktionieren signierte Anfragen
Eine signierte Anfrage verwendet Signaturen oder Tokens, um zu prüfen, ob jeder Betrachter für den Zugriff auf Inhalte authentifiziert ist. Sie können Media CDN so konfigurieren, dass der Zugriff auf einen der folgenden Bereiche beschränkt ist:
- Entweder ein genauer URI oder URI-Präfix für eine begrenzte Zeit
- Ein bestimmter Client
- Bei signierten Anfragen mit Token, bis zu fünf Pfade mit Platzhalter
Um signierte Anfragen zu verwenden, generieren Sie Schlüssel zum Signieren und Verifizieren von Signaturen. Anschließend konfigurieren Sie Routen, mit denen Sie das Verhalten basierend auf dem Inhaltstyp, den Clientattributen und Ihren Aktualitätsanforderungen optimieren können. Signierte Anfragen können pro Route erzwungen werden, wodurch Sie bestimmte Endpunkte schützen können.
Jeder Media CDN-Dienst kann eine Sammlung mehrerer Schlüssel verwenden. Die Sammlung von Schlüsseln wird auch als Schlüsselsatz bezeichnet. Mit Schlüsselsätzen können Sie Schlüssel rotieren und private Schlüssel ohne Unterbrechung auf Ihre eigene Infrastruktur verteilen.
Sie können Media CDN so konfigurieren, dass signierte Anfragen oder Tokens verwendet werden, um Inhalte zu schützen.
Für signierte Anfragen mit Signaturen können Sie eines der folgenden Formate verwenden:
- Genauer URI mit Abfrageparametern: Sie geben ein
URLPrefix
mit dem genauen URI an und hängen dieselben Abfrageparameter an mehrere URIs an. - URI-Präfix mit Abfrageparametern: Sie geben ein
URLPrefix
mit einem URI-Präfix an und hängen dieselben Abfrageparameter an mehrere URIs an. - Pfadkomponente: Sie geben eine Pfadkomponente an, durch die relative Für Manifest-URIs wird die Komponente für signierte URIs übernommen.
- Signiertes Cookie: Sie geben ein URI-Präfix in einem Cookie an, mit dem Zugriff auf einen beliebigen URI mit dem angegebenen Präfix.
Weitere Informationen finden Sie unter Signaturen generieren.
Bei signierten Anfragen, die Token verwenden, können Sie das Token in einem der folgenden Bereiche platzieren:
- In einem Abfrageparameter Ihrer Wahl
- In einem Cookie
Weitere Informationen finden Sie unter Tokens generieren.
So funktioniert Dual-Token-Authentifizierung
Bei der Dual-Token-Authentifizierung werden zwei Token zur Authentifizierung von Anforderungen an Ihre Inhalte verwendet: ein Kurzzeit-Token für den Beginn der Wiedergabe und ein Langzeit-Token für den Rest der Wiedergabesitzung.
Für die Verwendung der Dual-Token-Authentifizierung konfigurieren Sie Ihren Anwendungsserver so, dass Tokens mit kurzer Dauer für User-Agents ausgestellt werden. Anschließend konfigurieren Sie Media CDN so, dass es auf die Kurzzeit-Tokens reagiert. Sie können das Token in einem Abfrageparameter Ihrer Wahl oder in einem Cookie platzieren. Weitere Informationen finden Sie unter Dual-Token-Authentifizierung verwenden
Von Ihrem Anwendungsserver generierte Kurzzeit-Tokens helfen, primäre Manifeste (manchmal auch multivariate Playlists genannt) zu schützen. Der Ablauf der signierten Anfrage ist kurz genug, um ein primäres Manifest anzufordern, aber nicht den gesamten Inhalt eines Manifests.
Wenn Media CDN eine Anfrage mit einem autorisierten Kurzzeit-Token empfängt, wird ein signiertes Langzeit-Token generiert. Sie können das Token entweder in einem Abfrageparameter mit einem einzelnen Namen oder in einem Cookie verwenden. Das Token mit langer Dauer unterstützt die Anzeige eines Programms in voller Länge. Die von Media CDN generierten signierten Long-Duration-Tokens verwenden Ed25519-Signaturen, die mit von Google verwalteten Schlüsseln signiert sind, die einer EdgeCacheKeyset
-Ressource zugeordnet sind.
Sie können die Ablaufzeit von Kurzzeit- und Langzeit-Tokens anpassen. Als Best Practice empfehlen wir, dass Sie die Ablaufzeit der auf Ihrem Anwendungsserver generierten Kurzzeit-Tokens auf eine Minute konfigurieren. Sie müssen die Ablaufzeit von Langzeit-Token, die von Media CDN generiert werden, auf eine Dauer einstellen, die größer ist als die Länge Ihrer Inhalte, maximal jedoch auf einen Tag.
Anfrageablauf für die Dual-Token-Authentifizierung
Im Folgenden wird der Anfrageablauf beschrieben:
Ein Betrachter fordert von Ihrem Anwendungsserver Metadaten für die Medien an, die er ansehen möchte. Ihr Anwendungsserver gibt den URI des primären Manifests zurück, das mit einem Kurzzeit-Token signiert ist.
Ihre Spieleranwendung fordert das primäre Manifest von Media CDN an. Die Anfrage enthält das Kurzzeit-Token als Wert eines URI-Abfrageparameters im Format eines benannten Abfrageparameters.
Media CDN überprüft das Kurzzeit-Token und die signierten Parameter des Tokens.
- Wenn das Token gültig ist, erstellt Media CDN ein Langzeit-Signaturtoken. Media CDN gibt das Token entweder in einem Set-Cookie-Header zurück oder durch Ändern der Manifest- und Segment-URIs im primären Manifest, um das Token aufzunehmen.
- Wenn das Token ungültig ist, antwortet Media CDN mit der Antwort
HTTP 403 Forbidden
.
Die Spieleranwendung empfängt das primäre Manifest von Media CDN und fordert dann die Medien-Playlist oder die Mediensegmente an, auf die im primären Manifest verwiesen wird. Die Anfrage muss das Token für die lange Dauer enthalten, entweder als signiertes Cookie oder als URI-Parameter.
Media CDN prüft das Langzeit-Signaturtoken:
- Wenn das Langzeit-Token für die jeweilige Anfrage gültig ist, stellt Media CDN den angeforderten Inhalt bereit.
- Wenn das Langzeit-Token nicht gültig ist (aufgrund eines abgelaufenen Tokens oder eines ungültigen Pfads), antwortet Media CDN mit der Antwort
HTTP 403 Forbidden
.
Der Vorgang wird wiederholt, bis die Medienwiedergabe endet oder die Langzeit-Signatur abläuft.
Unterstützte Tokenformate für signierte Dual-Token-Anfragen
Signierte Dual-Token-Anfragen von Media CDN unterstützen je nach Tokentyp mehrere Formate.
Signierte Anfragen mit kurzer Laufzeit
Für signierte Anfragen mit kurzer Laufzeit unterstützt Media CDN standardmäßig Tokens, die mit Ed25519-Signaturen signiert wurden. Sie können auch Hash-basierte Nachrichtenauthentifizierungscodes (HMACs) mit Symmetrieschlüsseln verwenden, um die Kompatibilität mit dem vorhandenen Anwendungscode und anderen CDNs sicherzustellen.
Um HMACs zu verwenden, verwenden Sie Secret Manager zum Speichern des HMAC-Secrets. Anschließend gewähren Sie dem Media CDN-Dienstkonto Zugriff auf das gespeicherte Secret. Als Best Practice empfehlen wir die Verwendung der asymmetrischen Signatur mit Ed25519-Signaturen für Sicherheit und Leistung.
Das Media CDN-Dienstkonto gehört zum Media CDN-Projekt und wird nicht in der Liste der Dienstkonten Ihres Projekts angezeigt. Das Dienstkonto gewährt nur Zugriff auf Media CDN-Ressourcen in den Projekten, die Sie explizit zulassen.
Das Dienstkonto hat die folgenden Rollen:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
Dabei ist PROJECT_NUMBER die Projektnummer.
Zum Aktivieren des Media CDN-Dienstkontos müssen Sie mindestens eine Media CDN-Ressource erstellen, z. B. EdgeCacheOrigin
.
Signierte Anfragen mit langer Laufzeit
Für signierte Anfragen mit langer Laufzeit verwendet Media CDN Ed25519-Signaturen, die mit von Google verwalteten Schlüsseln signiert werden, die mit einer EdgeCacheKeyset
-Ressource verknüpft sind.
Media CDN unterstützt ein einzelnes Tokenformat für Tokens mit langer Laufzeit, die entweder in einem einzelnen Abfrageparameter für HLS-Streams oder in einem Cookie verwendet werden können.
Hinweise
In den folgenden Abschnitten werden folgende Themen behandelt:
URI-Limits
Die meisten modernen HTTP-Clients unterstützen URIs mit einer Länge von bis zu 8.000 Zeichen. Einige Legacy- oder Nischengeräte können jedoch strengere Limits haben. Im Allgemeinen fügt ein signierter URI dem Anfrage-URI etwa 125 Zeichen hinzu, einschließlich der folgenden:
- Wenn alle Feldnamen verwendet werden, werden etwa 67 Zeichen für jedes Feld verwendet, z. B.
Expires=
undKeyName=
. - Für Unix-Zeitstempel: 10 Zeichen
- Für den
KeyName
: fünf Zeichen - Für den base64-codierten
Signature
-Wert: 43 Zeichen
Als Best Practice sollten Sie URIs mit weniger als 2.000 Zeichen beibehalten. Verwenden Sie dazu Abfrageparameter als Tokens. Kürzere URIs verhindern, dass Geräte abgeschnittene URIs an Media CDN senden.
Legacy-Videostreaminggeräte
Einige Legacy-Videostreaming-Geräte unterstützen das Anhängen von Cookies an Manifest- oder Mediensegmentanfragen möglicherweise nicht vollständig. Wenn Sie Geräte mit bekannten Problemen bei der Verarbeitung von HTTP-Cookies haben, konfigurieren Sie Media CDN so, dass Abfrageparameter für signierte Anfragen und den Austausch von Dual-Token verwendet werden.
Zustimmung und Einhaltung des Datenschutzes
Sie allein sind für die Einwilligung und die Einhaltung der Datenschutzbestimmungen verantwortlich, wenn Sie Cookies zum Austausch von Kurzzeit-Tokens verwenden. Wenn Media CDN für die Verwendung von signierte Dual-Token-Anfragen konfiguriert ist, stellt Google die Cookies für Langzeit-Tokens aus und verwaltet sie.
Abrechnung
Weitere Informationen zur Abrechnung von Secret Manager finden Sie unter Preise.
Medien-CDN-Abrufe für Secrets werden intern im Cache gespeichert, wodurch die Rate von Secret-Abrufen aus Secret Manager erheblich reduziert wird. Durch die reduzierten Abrufe werden auch die Zugriffsraten erheblich reduziert, die Secret Manager beobachtet und Ihnen in Rechnung stellt.
Weitere Informationen zum Secret-Caching in Media CDN finden Sie unter Schlüsselübersicht.