Per creare una richiesta firmata, componi una stringa che includa parametri che descrivere i contenuti che vuoi proteggere e la data di scadenza dei . Quindi, includi la stringa composta nella richiesta. Media CDN verifica quindi che la richiesta firmata sia valida prima senza alcuna azione.
Requisiti per la richiesta firmata
Le richieste firmate devono soddisfare i seguenti requisiti:
Avere un metodo HTTP
GET
,HEAD
oOPTIONS
. Gli altri metodi non sono supportati.Hanno una scadenza impostata nel futuro. A causa di potenziali differenze di sincronizzazione dell'orologio, nonché delle condizioni di rete del client (ad es. disconnessioni e tentativi di nuovo collegamento), ti consigliamo di impostare i timestamp non meno di un minuto nel futuro o non meno della durata dello stream video, a seconda del valore maggiore.
Avere una firma che può essere verificata da una chiave o un segreto in un
EdgeCacheKeyset
.
Non puoi firmare altri metodi HTTP, ad esempio le richieste POST
, PUT
o DELETE
.
Se devi emettere URL firmati per i caricamenti rivolti agli utenti, consulta la documentazione di Cloud Storage per gli URL firmati.
Configura le richieste firmate
Le seguenti sezioni descrivono nel dettaglio come configurare, firmare e convalidare richieste.
Genera chiavi
Crea le chiavi che Media CDN utilizza per la firma richieste.
Crea un set di chiavi
Crea il set di chiavi utilizzato da Media CDN per le richieste firmate.
Richiedi richieste firmate
Per consentire solo alle richieste firmate di accedere a una risorsa, puoi associare un elenco di chiavi a un percorso e impostare signedRequestMode
su uno dei seguenti valori:
REQUIRE_SIGNATURES
per le richieste firmate che non utilizzano i token.REQUIRE_TOKENS
per le richieste firmate utilizzando token.
L'abilitazione delle richieste firmate su una route implica che tutte le richieste siano firmate o un token. Richieste senza una firma valida (ad esempio una chiave non valida) nome, firma o token scaduto, firma non corrispondente e così via), non riescono.
Un EdgeCacheKeyset
può contenere più chiavi per consentire la presenza
la rotazione. Le richieste valide firmate con qualsiasi chiave elencata vengono accettate e le chiavi vengono provate in ordine. Per ulteriori informazioni sulla rotazione della chiave, consulta la sezione Rotazione
o altri secret.
Quando signedRequestMode
è impostato su REQUIRE_SIGNATURES
o REQUIRE_TOKENS
, Media CDN convalida sia i hit che i miss della cache. Sono incluse tutte le metriche
richieste all'origine.
Di seguito è riportato un esempio di configurazione Media CDN applica richieste firmate su un dato PathMatcher (route):
gcloud edge-cache services describe prod-media-service
... routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC signedRequestMode: REQUIRE_SIGNATURES signedRequestKeyset: prod-vod-keyset
Per informazioni sulla creazione di token per le richieste con firma, consulta Generare di token.
Per disattivare la firma della richiesta, puoi impostare signedRequestMode
su DISABLED
ed elimini il riferimento a signedRequestKeyset
.
Convalida le richieste all'origine
Quando un percorso è configurato con una modalità di firma REQUIRE_SIGNATURES
, Media CDN convalida che ogni richiesta corrispondente abbia una firma valida. L'assenza di una firma viene considerata come una firma non valida per questi
route.
Per evitare casi in cui la firma non è configurata correttamente e in cui un utente di accedere direttamente alla tua origine, ti consigliamo di verificare che le richieste siano firmate anche all'origine. Un approccio di difesa in profondità alla protezione dei contenuti contribuisce a impedire l'accesso e il download non autorizzati dei tuoi contenuti con licenza e a pagamento.
Per i metodi di firma basati su URL, in cui la firma fa parte della query
parametri o incorporati come componente del percorso dell'URL, la firma e i relativi
vengono rimossi dall'URL prima che la richiesta venga inviata
origine dati. In questo modo si evita che la firma causi problemi di routing quando
che gestisce la richiesta. Per convalidare queste richieste, puoi esaminare
Intestazione della richiesta x-client-request-url
, che include l'originale (firmata)
l'URL di richiesta del client prima della rimozione dei componenti firmati.
Per convalidare le richieste all'origine, utilizza lo stesso codice di convalida come parte gli endpoint di firma della richiesta, il che aiuta anche a mitigare la mancata corrispondenza delle chiavi a causa della rotazione della chiave.
Ruota le chiavi
Come best practice, ruota o aggiorna i secret utilizzati Media CDN regolarmente. Consigliamo di ruotare le chiavi ogni 30-60 giorni, ma non è strettamente necessario.
Passaggi successivi
Per scoprire di più su come attivare e accedere ai log di Media CDN, inclusa la possibilità di filtrare e eseguire query sui log, consulta Logging.
Per configurare Media CDN e un per un bucket Cloud Storage privato, Connettività e schermatura dell'origine.