Um eine signierte Anfrage zu erstellen, schreiben Sie einen String, der Parameter enthält, beschreiben Sie den Inhalt, den Sie schützen möchten, sowie die Ablaufzeit des vorzeichenbehafteter Wert. Anschließend nehmen Sie den zusammengesetzten String in Ihre Anfrage auf. Anschließend prüft Media CDN, ob die signierte Anfrage gültig ist, bevor wenn Sie darauf reagieren.
Anforderungen an signierte Anfragen
Signierte Anfragen müssen die folgenden Anforderungen erfüllen:
Verwenden Sie eine HTTP-Methode
GET
,HEAD
oderOPTIONS
. Andere Methoden sind nicht unterstützt.Die Ablaufzeit muss in der Zukunft liegen. Aufgrund möglicher Uhranzeige Synchronisierungsunterschiede und die Netzwerkbedingungen der Clients (für z. B. Verbindungstrennungen und Wiederholungsversuche), empfehlen wir, den Zeitstempel weniger als eine Minute in die Zukunft oder nicht weniger als die Länge des Video-Stream angezeigt wird, je nachdem, welcher Wert größer ist.
Sie besitzen eine Signatur, die mit einem Key oder Secret in einem
EdgeCacheKeyset
Sie können keine anderen HTTP-Methoden wie POST
-, PUT
- oder DELETE
-Anfragen signieren.
Informationen dazu, wie Sie signierte URLs für Uploads an Nutzer ausgeben, finden Sie in der
Cloud Storage-Dokumentation für signierte URLs
Sicherheitsaspekte
Media CDN validiert alle Anfragen, die einer Route entsprechen, die mit einem
cdnPolicy.signedRequestMode
: REQUIRE_SIGNATURES
oder REQUIRE_TOKENS
.
In der folgenden Tabelle werden Szenarien erläutert, in denen Media CDN validiert eine Anfrage:
Anfrage hat Signatur | Signatur gültig? | signedRequestMode | Verhalten | Antwortcode |
---|---|---|---|---|
Nein | – | REQUIRE_SIGNATURES oder REQUIRE_TOKENS |
Anfragen ohne Signaturen oder Tokens werden so behandelt, als ob die Signatur ungültig. | HTTP 403 |
Ja | Nein | REQUIRE_SIGNATURES oder REQUIRE_TOKENS |
Eine Signatur oder ein Token gilt als ungültig, wenn es abgelaufen ist oder nicht übereinstimmende URL oder falscher Schlüssel Ungültige Signaturen oder Tokens werden abgelehnt am CDN-Edge an. | HTTP 403 |
Ja | Ja | REQUIRE_SIGNATURES oder REQUIRE_TOKENS |
Validiert eine Signatur oder ein Token und die Antwort mit Inhalt aus oder einen Abruf vom Ursprung durchführen. | HTTP 200 |
Ja | Ja | Keine oder DISABLED |
Es wird keine Validierung durchgeführt und der Nutzer erhält eine Antwort . | HTTP 200 |
Ja | Nein | Keine oder DISABLED |
Es wird keine Validierung durchgeführt und der Nutzer erhält eine Antwort . | HTTP 200 |
Wenn die Anwendung eine ungültige Signatur erkennt, prüfen Sie, ob Ihre Anwendung mit dem Antwortcode HTTP 403 (Forbidden)
antwortet.
HTTP 403
-Antwortcodes können nicht zwischengespeichert werden.
Signierte Anfragen konfigurieren
In den folgenden Abschnitten wird beschrieben, wie Sie signierte -Anfragen.
Schlüssel generieren
Schlüssel erstellen, die Media CDN zum Signieren verwendet -Anfragen.
Schlüsselsatz erstellen
Schlüsselsatz erstellen, der von Media CDN verwendet wird für signierte Anfragen.
Signierte Anfragen verlangen
Damit nur signierte Anfragen auf eine Ressource zugreifen können, können Sie ein
Liste der Schlüssel für eine Route und legen Sie für signedRequestMode
einen der folgenden Werte fest:
REQUIRE_SIGNATURES
für signierte Anfragen ohne Tokens.REQUIRE_TOKENS
für signierte Anfragen mit Tokens.
Wenn Sie signierte Anfragen für eine Route aktivieren, müssen alle Anfragen signiert oder um ein Token zu präsentieren. Anfragen ohne gültige Signatur (z. B. ein ungültiger Schlüssel) Name, abgelaufene Signatur oder Token, nicht übereinstimmende Signatur usw. schlägt fehl.
Ein EdgeCacheKeyset
kann mehrere Schlüssel enthalten, um einen Schlüssel zuzulassen
Rotation. Gültige Anfragen, die mit einem der aufgeführten Schlüssel signiert sind, werden akzeptiert und Schlüssel
der Reihe nach versucht werden. Weitere Informationen zur Schlüsselrotation finden Sie unter Rotieren
Secrets.
Wenn signedRequestMode
auf REQUIRE_SIGNATURES
oder REQUIRE_TOKENS
gesetzt ist,
Media CDN prüft sowohl Cache-Treffer als auch Cache-Fehler. Dazu gehören alle
an den Ursprung senden.
Das folgende Beispiel zeigt eine Media CDN-Konfiguration, signierte Anfragen für einen bestimmten PathMatcher (Route) erzwingen:
gcloud edge-cache services describe prod-media-serviceAusgabe:
... routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC signedRequestMode: REQUIRE_SIGNATURES signedRequestKeyset: prod-vod-keyset
Informationen zum Erstellen von Tokens für signierte Anfragen finden Sie unter Generieren Tokens
Zum Deaktivieren der Anfragesignatur können Sie signedRequestMode
auf DISABLED
setzen.
und löschen Sie den Verweis auf die signedRequestKeyset
.
Anfragen am Ursprung validieren
Wenn eine Route mit dem Signaturmodus REQUIRE_SIGNATURES
konfiguriert ist,
Media CDN prüft, ob jede übereinstimmende Anfrage eine gültige
Signatur. Das Fehlen einer Signatur wird als ungültige Signatur gewertet.
Routen planen.
Um Fälle zu vermeiden, in denen die Signatur falsch konfiguriert ist und ein Nutzer versucht, direkt auf Ihren Ursprung zuzugreifen, sollten Sie prüfen, ob auch die Anfragen am Ursprung signiert werden. Gestaffelte Sicherheitsebenen des Inhaltsschutzes, um unbefugten Zugriff und Downloads zu verhindern. lizenzierten und kostenpflichtigen Inhalten.
Für URL-basierte Signaturmethoden, bei denen die Signatur Teil der Abfrage ist
Parameter oder eingebettet als URL-Pfadkomponente, die Signatur und zugehörige
werden aus der URL entfernt, bevor die Anfrage an den
Ursprung. Dadurch wird verhindert, dass die Signatur Routingprobleme verursacht, wenn der
„origin“ verarbeitet die Anfrage. Zur Validierung dieser Anfragen können Sie den
x-client-request-url
-Anfrageheader, der das signierte Original enthält
bevor die signierten Komponenten entfernt wurden.
Um Anfragen am Ursprung zu validieren, verwenden Sie denselben Validierungscode als Teil von Endpunkte Ihrer Anfragesignatur. Das trägt auch dabei zur Vermeidung von nicht übereinstimmenden Schlüsseln bei der Schlüsselrotation.
Schlüssel rotieren
Als Best Practice sollten Sie die Secrets rotieren oder aktualisieren, die von regelmäßig über Media CDN. Wir empfehlen, Schlüssel alle 30 bis 60 Mal zu rotieren Tage, aber das ist nicht unbedingt erforderlich.
Nächste Schritte
Weitere Informationen zum Aktivieren und Zugreifen auf Media CDN Logs, einschließlich der Filterung und Abfrage von Logs, finden Sie unter Logging:
Um Media CDN und eine privaten Cloud Storage-Bucket, siehe Ursprungskonnektivität und -abschirmung: