Questa guida spiega come creare una firma e le funzionalità obbligatorie e facoltative per le firme.
Per creare una firma, è necessario comporre una stringa da firmare, che definiamo un firmato di questa guida. Il valore con segno include i parametri che descrivono i contenuti che stai proteggendo, la data di scadenza del valore firmato e così via via email.
Puoi utilizzare il valore firmato durante la creazione di una stringa per la firma. Creerai un la stringa della firma componendo i parametri per la firma, come una firma con chiave asimmetrica Ed25519 del valore firmato.
Media CDN utilizza la firma finale scritta per proteggere 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) |
La specifica di un URLPrefix ti consente di firmare un prefisso e di aggiungere
gli stessi parametri di query a più URL all'interno della generazione di manifest o del player.
|
Cosa firmare:
Sostituisci |
Componente percorso |
Prefisso: consente l'accesso a qualsiasi URL con un prefisso precedente al componente Ciò consente agli URL manifest relativi di ereditare automaticamente 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 che contiene il valore campi della firma obbligatori e desiderati campi della firma facoltativi.
Se specificato,
URLPrefix
deve essere visualizzato per primo, seguito daExpires
,KeyName
, e gli eventuali parametri facoltativi.Separa ogni campo e i parametri con quanto segue:
- Per i cookie, utilizza i due punti
:
. - Per i parametri di query e i componenti del percorso, utilizza il carattere &
&
.
- 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 ulteriori 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 ulteriori informazioni, vedi Configura 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 autenticarti a Media CDN, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Media CDN, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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 URL firmato cookie.
Go
Per eseguire l'autenticazione su Media CDN, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Media CDN, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Crea un componente del percorso firmato
I seguenti esempi di codice mostrano come creare in modo programmatico un percorso firmato di strumento di authoring.
Python
Per autenticarti a Media CDN, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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 query, devono essere raggruppati come ultimi parametri nell'URL. Se non diversamente specificato, i nomi dei parametri e i relativi ai valori fanno distinzione tra maiuscole e minuscole.
La tabella seguente spiega ogni 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 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 ai valori fanno distinzione tra maiuscole e minuscole.
La tabella seguente illustra il nome e i dettagli di ciascun parametro per parametri di firma:
Nome campo | Parametri di firma | Valore firmato |
---|---|---|
HeaderName |
Il nome di un campo di intestazione della richiesta che deve essere presente nella richiesta. Deve essere minuscolo quando viene firmato perché i nomi dei campi di intestazione sono sensibile alle maiuscole. Media CDN usa il formato minuscolo dell'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. Richieste
con HeaderValue ma senza HeaderName sono
rifiutato.
|
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", devi specificare
Potrebbe non essere utile includere gli intervalli IP nelle firme quando i client
a rischio di migrazioni WAN o di casi in cui il percorso di rete
il frontend dell'applicazione è diverso
dal percorso di distribuzione.
Media CDN rifiuta i client con un Di seguito sono riportati i casi che potrebbero causare la presenza di Media CDN
rifiuto dei clienti con un codice
Tutti questi fattori possono contribuire al fatto che un determinato cliente
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
buffer, ricevono un valore |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Il prefisso dell'URL base64 (sicuro per l'URL) a cui concedere l'accesso. Specificare un
URLPrefix ti consente di firmare un prefisso e aggiungere la stessa query
a più URL nella generazione del player o del manifest.
L'URLPrefix è obbligatorio quando si utilizza il cookie firmato
formato.
|
URLPrefix=BASE_64_URL_PREFIX |