Questa guida spiega come creare una firma e i campi obbligatori e facoltativi per le firme.
Per creare una firma, componi una stringa da firmare, indicata come valore firmato in questa guida. Il valore firmato include parametri che descrivono i contenuti che stai proteggendo, la data e l'ora di scadenza del valore firmato e così via.
Utilizza il valore firmato durante la creazione di una stringa di firma. Puoi creare una stringa di firma componendo i parametri per la firma, ad esempio una firma Ed25519 con chiave asimmetrica del valore firmato.
Media CDN utilizza la firma composta finale per proteggere i tuoi contenuti.
Formati di firma supportati
Media CDN supporta i seguenti formati di richieste firmate.
Formato | Comportamento | Esempio |
---|---|---|
Parametri di query (URL esatto) |
URL esatto, per concedere l'accesso a un URL specifico. |
Esatta:
|
Parametri di query (prefisso URL) |
La specifica di un URLPrefix ti consente di firmare un prefisso e di aggiungere gli stessi parametri di ricerca a più URL all'interno della generazione del player o del manifest.
|
Cosa firmare:
Sostituisci |
Componente percorso |
Prefisso: consente l'accesso a qualsiasi URL con un prefisso precedente al componente
In questo modo, gli URL manifest relativi ereditano automaticamente il componente URL firmato quando viene eseguito il recupero delle risorse secondarie. |
https://media.example.com/video/edge-cache-token=Expires=EXPIRATION
|
Cookie firmato | Prefisso: il cookie consente l'accesso a qualsiasi URL con il prefisso specificato
nel valore firmato URLPrefix .
|
Edge-Cache-Cookie:
|
Crea una firma
Crea un valore firmato concatenando una stringa contenente i campi di firma obbligatori e i campi di firma facoltativi desiderati.
Se specificato,
URLPrefix
deve essere il primo, seguito daExpires
,KeyName
e da eventuali parametri facoltativi.Separa ogni campo e tutti i parametri con quanto segue:
- Per i cookie, utilizza il carattere due punti
:
. - Per parametri di ricerca e i componenti del percorso, utilizza il carattere &
&
.
- Per i cookie, utilizza il carattere 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.
Creare un URL firmato
Gli esempi di codice riportati di seguito mostrano come creare un URL firmato tramite programmazione.
Go
Per autenticarti a Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti a 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
Gli esempi di codice riportati di seguito mostrano come creare programmaticamente un prefisso URL firmato.
Go
Per autenticarti a Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti a Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Creare un cookie URL firmato
Gli esempi di codice riportati di seguito mostrano come creare programmaticamente un cookie URL firmato.
Go
Per autenticarti a Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti a Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Crea un componente del percorso firmato
I seguenti esempi di codice mostrano come creare programmatically un componente del percorso firmato.
Python
Per autenticarti a Media CDN, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Campi di 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 illustra ciascun parametro:
Nome campo | Parametri di firma | Valore firmato |
---|---|---|
Expires |
Secondi interi trascorsi dall'epoca di Unix (1970-01-01T00:00:00Z) | Expires=EXPIRATION_TIME , dopodiché la firma non è più valida. |
KeyName |
Il nome del EdgeCacheKeyset utilizzato per firmare questa
richiesta. KeyName si riferisce all'intero set di chiavi, non alle singole chiavi all'interno del set stesso.
|
KeyName=EDGE_CACHE_KEYSET |
Signature |
Una versione con codifica base64 della firma. | Non applicabile |
Campi di 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 tabella seguente spiega il nome e i dettagli di ciascun parametro per i parametri facoltativi della firma:
Nome campo | Parametri di firma | Valore firmato |
---|---|---|
HeaderName |
Un nome di campo dell'intestazione della richiesta che deve essere presente nella richiesta. Deve essere in minuscolo quando è firmato perché i nomi dei campi delle intestazioni sono sensibili alle maiuscole. Media CDN mette in minuscolo l'intestazione prima di convalidare la firma. |
HeaderName=HEADER_NAME |
HeaderValue |
Un valore del campo dell'intestazione della richiesta denominato 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 questo 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", specifica
Gli intervalli IP potrebbero non essere utili da includere nelle firme quando i client sono esposti a rischi di migrazioni WAN o nei casi in cui il percorso di rete al frontend dell'applicazione è diverso dal percorso di importazione.
Media CDN rifiuta i client con un codice Di seguito sono riportati i casi in cui Media CDN potrebbe rifiutare i clienti con un codice
Tutti questi fattori possono contribuire a far sì che un determinato client abbia un
indirizzo IP non deterministico durante una sessione di riproduzione di un video. Se l'indirizzo IP del cliente cambia dopo che hai concesso l'accesso e il cliente tenta di scaricare un segmento di video nel proprio buffer di riproduzione, riceve un messaggio |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Il prefisso dell'URL base64 (sicuro per l'URL) a cui concedere l'accesso. La specifica di un
URLPrefix ti consente di firmare un prefisso e di aggiungere gli stessi parametri di query
a più URL all'interno del player o della generazione del manifest.
URLPrefix è obbligatorio quando si utilizza il formato del cookie firmato.
|
URLPrefix=BASE_64_URL_PREFIX |