Cloud CDN offre tre modi per aiutarti a controllare l'accesso ai contenuti memorizzati nella cache:
- Gli URL firmati consentono di fornire risposte dalle cache distribuite a livello globale di Google Cloudquando le richieste devono essere autorizzate. Chiunque disponga dell'URL firmato può accedere alla risorsa per un periodo di tempo limitato.
- Anche i cookie firmati consentono di accedere a una risorsa per un periodo di tempo limitato. Sono utili quando occorre firmare decine o centinaia di URL per ogni utente.
- L'autenticazione dell'origine privata ti consente di limitare le connessioni ai tuoi bucket Amazon Simple Storage Service (Amazon S3) o ad altri archivi di oggetti compatibili e di impedire agli utenti di accedervi direttamente.
URL firmati
Un URL firmato è un URL che fornisce autorizzazioni e tempo limitati per effettuare una richiesta.
Casi d'uso
In alcuni scenari, potresti non voler richiedere agli utenti di disporre di un Account Google per accedere ai contenuti di Cloud CDN, ma voler comunque controllare l'accesso utilizzando la logica specifica dell'applicazione.
Il modo tipico per risolvere questo caso d'uso è fornire a un utente un URL firmato, che concede l'accesso in lettura alla risorsa per un periodo di tempo limitato. La scadenza si specifica al momento di creare l'URL firmato. Chiunque conosca l'URL può accedere alla risorsa fino al raggiungimento della scadenza specificata o fino alla rotazione della chiave utilizzata per firmare l'URL.
Utilizza gli URL firmati nei seguenti casi:
Per limitare l'accesso a singoli file, ad esempio un download per l'installazione.
Per fornire agli utenti applicazioni client che non supportano i cookie.
Come funzionano gli URL firmati
Gli URL firmati forniscono a un client l'accesso temporaneo a una risorsa privata senza bisogno di autorizzazioni aggiuntive. A questo scopo, specifici elementi di una richiesta vengono sottoposti ad hashing e firmati crittograficamente utilizzando una chiave fortemente casuale da te generata.
Quando una richiesta utilizza l'URL firmato che hai fornito, viene considerata autorizzata a ricevere i contenuti richiesti. Quando Cloud CDN riceve una richiesta con una firma non valida per un servizio abilitato, la richiesta viene rifiutata e non viene mai inviata al backend per la gestione.
In genere, un URL firmato può essere utilizzato da chiunque lo possieda. Tuttavia, un URL firmato è in genere destinato a essere utilizzato solo dal client a cui è stato fornito. Per ridurre il rischio che l'URL venga utilizzato da un altro client, gli URL firmati scadono in un momento specificato da te. Per ridurre al minimo il rischio che un URL firmato venga condiviso, impostalo in modo che scada il prima possibile.
Come firmare gli URL
Prima di poter firmare gli URL, devi creare una o più chiavi di crittografia in un servizio di backend, un bucket di backend o entrambi. Fatto questo, devi firmare e creare l'hash di crittografia di un URL utilizzando Google Cloud CLI o il tuo codice.
Gestione degli URL firmati
Quando su un backend è abilitata la gestione degli URL firmati, Cloud CDN gestisce in modo speciale le richieste con URL firmati. In particolare, le richieste con un parametro di query Signature sono considerate firmate. Quando viene ricevuta una richiesta di questo tipo, Cloud CDN verifica quanto segue:
- Che il metodo HTTP sia
GET,HEAD,OPTIONSoTRACE. - Che il parametro
Expiressia impostato su una data futura. - Che la firma della richiesta corrisponda a quella calcolata utilizzando la chiave denominata.