Questa guida spiega come creare una firma e i campi obbligatori e facoltativi per le firme.
Per creare una firma, devi comporre una stringa da firmare, che in questa guida viene definita un valore firmato. Il valore firmato include parametri che descrivono i contenuti da proteggere, la data di scadenza del valore firmato e così via.
Puoi utilizzare il valore firmato durante la creazione di una stringa per la firma. Puoi creare una stringa della firma componendo i parametri per la firma, ad esempio una firma Ed25519 con chiave asimmetrica del valore firmato.
Media CDN utilizza la firma finale scritta per proteggere i tuoi contenuti.
Formati di firma supportati
Media CDN supporta i seguenti formati di richieste firmate.
Formato | Comportamento | Esempio |
---|---|---|
Parametri di ricerca (URL esatto) |
URL esatto, per concedere l'accesso a un URL specifico. |
Esatto:
|
Parametri di query (prefisso URL) |
Se specifichi un valore URLPrefix , puoi firmare un prefisso e aggiungere
gli stessi parametri di ricerca a più URL all'interno della generazione del player o del file manifest.
|
Cosa firmare:
Sostituisci |
Componente percorso |
Prefisso: consente di accedere a qualsiasi URL con un prefisso precedente al componente In questo modo gli URL manifest relativi possono ereditare automaticamente il componente dell'URL firmato durante il recupero delle risorse secondarie. |
https://media.example.com/video/edge-cache-token=Expires=EXPIRATION
|
Cookie firmato | Prefisso: il cookie consente di accedere a qualsiasi URL con il prefisso specificato nel valore URLPrefix firmato.
|
Edge-Cache-Cookie:
|
Crea una firma
Crea un valore firmato concatenando una stringa contenente i campi della firma obbligatori e i campi di firma facoltativi desiderati.
Se specificato, deve essere inserito prima
URLPrefix
, seguito daExpires
,KeyName
e infine da eventuali parametri facoltativi.Separa ogni campo e i parametri con quanto segue:
- Per i cookie, utilizza i due punti
:
. - Per parametri di ricerca e i componenti del percorso, utilizza un carattere
&
e commerciale.
- Per i cookie, utilizza i due punti
Firma il valore firmato con una firma Ed25519.
Aggiungi un separatore di campo (
:
o&
) seguito daSignature=
e dalla firma Ed25519 alla fine della stringa.
Crea un URL firmato
I seguenti esempi di codice mostrano come creare in modo programmatico un URL firmato.
Go
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Crea un prefisso URL firmato
I seguenti esempi di codice mostrano come creare in modo programmatico un prefisso URL firmato.
Go
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Crea un cookie per l'URL firmato
I seguenti esempi di codice mostrano come creare in modo programmatico un cookie URL firmato.
Go
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Creare un componente del percorso firmato
I seguenti esempi di codice mostrano come creare in modo programmatico un componente di percorso firmato.
Python
Per eseguire l'autenticazione su Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Campi della firma obbligatori
I seguenti campi sono obbligatori per ogni firma:
Expires
KeyName
Signature
Se sono presenti parametri di ricerca, devono essere raggruppati come ultimi parametri nell'URL. Se non diversamente specificato, i nomi dei parametri e i relativi valori sono sensibili alle maiuscole.
La tabella seguente spiega ogni parametro:
Nome campo | Parametri firma | Valore firmato |
---|---|---|
Expires |
Secondi interi trascorsi dall'epoca di Unix (1970-01-01T00:00:00Z) | Expires=EXPIRATION_TIME , dopodiché la firma non sarà più valida. |
KeyName |
Il nome del EdgeCacheKeyset utilizzato per firmare questa
richiesta. KeyName si riferisce all'intero set di chiavi, non ai singoli tasti all'interno del set di chiavi stesso.
|
KeyName=EDGE_CACHE_KEYSET |
Signature |
Una versione della firma con codifica Base64. | Non applicabile |
Campi della firma facoltativi
Se sono presenti parametri di ricerca, devono essere raggruppati come ultimi parametri nell'URL. Se non diversamente specificato, i nomi dei parametri e i relativi valori sono sensibili alle maiuscole.
La seguente tabella spiega il nome e i dettagli di ciascun parametro per i parametri di firma facoltativi:
Nome campo | Parametri firma | Valore firmato |
---|---|---|
HeaderName |
Il nome di un campo di intestazione della richiesta denominato che deve essere presente nella richiesta. Deve essere in minuscolo quando viene firmato perché i nomi dei campi di intestazione sono sensibili alle maiuscole. Media CDN applica la minuscolo all'intestazione prima di convalidare la firma. |
HeaderName=HEADER_NAME |
HeaderValue |
Un valore denominato del campo di intestazione della richiesta che deve essere presente nella richiesta. In genere si tratta di un ID utente o di un altro identificatore opaco. Le richieste
con HeaderValue ma senza HeaderName vengono
rifiutate.
|
HeaderValue=HEADER_VALUE |
IPRanges |
Un elenco di massimo cinque indirizzi IPv4 e IPv6 in formato CIDR per i quali l'URL è valido in formato base64 sicuro per il web. Ad esempio,
per specificare gli intervalli IP "192.6.13.13/32,193.5.64.135/32", devi specificare
Potrebbe non essere utile includere gli intervalli IP nelle firme quando i client sono a rischio di migrazioni WAN o nei casi in cui il percorso di rete del frontend dell'applicazione sia diverso dal percorso di distribuzione.
Media CDN rifiuta i client con un codice Di seguito sono riportati i casi in cui Media CDN potrebbe rifiutare i client con un codice
Tutti questi fattori possono contribuire al fatto che un determinato client abbia un indirizzo IP non deterministico durante una sessione di riproduzione video. Se l'indirizzo IP del client cambia dopo che hai concesso l'accesso e il client tenta di scaricare un segmento video nel buffer di riproduzione, riceverà un |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Il prefisso dell'URL base64 (sicuro per URL) a cui concedere l'accesso. Se specifichi un valore URLPrefix , puoi firmare un prefisso e aggiungere gli stessi parametri di query a più URL all'interno della generazione del player o del manifest.
URLPrefix è obbligatorio se viene utilizzato il formato dei cookie firmati.
|
URLPrefix=BASE_64_URL_PREFIX |