Utilizza richieste firmate

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 o OPTIONS. 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
Uscita:
...
  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.