Questa pagina fornisce una panoramica dell'autenticazione dell'origine privata e le relative istruzioni. per utilizzarlo con Cloud CDN.
L'autenticazione dell'origine privata consente a Cloud CDN di accedere alle risorse a lungo termine in bucket Amazon S3 privati o in altri archivi di oggetti compatibili. Utilizzo le origini private impediscono ai client di bypassare Cloud CDN e accesso diretto alla tua origine.
Questa funzionalità è supportata per Cloud CDN con un un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico delle applicazioni classico.
L'autenticazione dell'origine privata è rivolta all'origine, mentre gli URL firmati e i cookie firmati sono rivolti al client. Tu possono essere attivate entrambe per gli stessi contenuti. L'autenticazione dell'origine privata limita l'accesso non CDN alle origini e ai contenuti. Controllo dei cookie e degli URL firmati quali utenti possono accedere a Cloud CDN.
Prima di iniziare
Crea una chiave HMAC (Hash-based Message Authentication Code) per l'autenticazione e associarlo a un account di servizio. Prendi nota dell'accesso chiave e secret.
Consulta Accesso ad AWS utilizzando le credenziali AWS: accesso programmatico nella documentazione di AWS.
Configura un bilanciatore del carico con il backend esterno.
Se l'object store si aspetta un valore specifico per l'
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
Host
In caso contrario configuri un'intestazione della richiesta personalizzata, il servizio di backend conserva il valoreHost
che il client ha utilizzato per connettersi al bilanciatore del carico delle applicazioni esterno.Per la procedura di configurazione, vedi Utilizzo delle intestazioni delle richieste personalizzate. Per un esempio specifico, vedi Configurazione di un bilanciatore del carico con un backend esterno.
Se necessario, esegui l'aggiornamento alla versione più recente di Google Cloud CLI:
gcloud components update
Configurare l'autenticazione per le origini private
Per configurare l'autenticazione dell'origine privata, segui queste istruzioni:
gcloud
Esporta la configurazione del backend per la tua origine privata in un YAML utilizzando l'
gcloud compute backend-services export
:gcloud compute backend-services export BACKEND_SERVICE_NAME \ [--destination=DESTINATION]
Sostituisci
DESTINATION
con il nome del file YAML ad esempiomy-private-origin.yaml
.Per autenticare le richieste di backend utilizzando la chiave HMAC, specifica queste opzioni di configurazione aggiuntive nella sezione
securitySettings
dibackendServices
:securitySettings: awsV4Authentication: accessKeyId: ACCESS_KEY_ID accessKey: ACCESS_KEY [accessKeyVersion: ACCESS_KEY_VERSION] originRegion: REGION …]
Sostituisci quanto segue:
ACCESS_KEY_ID
: l'ID della chiave di accesso HMACACCESS_KEY
: la chiave di accesso HMACACCESS_KEY_VERSION
(facoltativo): un nome univoco che puoi impostare per rappresentare la versione della chiaveREGION
: una regione valida per il tuo spazio di archiviazione o il provider di servizi di terze parti. Per Amazon S3, il valore non è Google Cloud regione.
Lo snippet seguente mostra i contenuti di un esempio File
my-private-origin.yaml
:name: shopping-cart-services backends: - description: cart-backend-1 group: 'https://www.googleapis.com/compute/v1/projects/my-project-id/global/networkEndpointGroups/my-network-origin-group' securitySettings: awsV4Authentication: accessKeyId: AKIDEXAMPLE accessKey: c4afb1cc5771d871763a393e44b703571b55cc28424d1a5e86da6ed3c154a4b9 accessKeyVersion: prod-access-key-v1.2 originRegion: us-east-2
Per aggiornare l'origine privata, importa la configurazione nel tuo di servizio di backend utilizzando Comando
gcloud compute backend-services import
:gcloud compute backend-services import BACKEND_SERVICE_NAME \ [--source=SOURCE]
Sostituisci
SOURCE
con il nome del file YAML.
API
Per autenticare le richieste di backend utilizzando la chiave HMAC, specifica questi
altre opzioni di configurazione nella sezione securitySettings
di
backendServices
.
Utilizza la
Method: backendServices.insert
oppure
Method: backendServices.update
chiamata API.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
Aggiungi il seguente snippet al corpo della richiesta JSON:
securitySettings: { awsV4Authentication: { accessKeyId: ACCESS_KEY_ID, accessKey: ACCESS_KEY, [accessKeyVersion: ACCESS_KEY_VERSION], originRegion: REGION } }
Sostituisci quanto segue:
ACCESS_KEY_ID
: l'ID della chiave di accesso HMACACCESS_KEY
: la chiave di accesso HMACACCESS_KEY_VERSION
(facoltativo): un nome univoco che che puoi impostare per rappresentare la versione della chiaveREGION
: una regione valida per il tuo fornitore di servizi di archiviazione. Per Amazon S3, il valore non è Google Cloud regione.
Lo snippet seguente mostra i contenuti di un esempio Corpo della richiesta JSON:
securitySettings: { awsV4Authentication: { accessKeyId: "AKIDEXAMPLE", accessKey: "c4afb1cc5771d871763a393e44b703571b55cc28424d1a5e86da6ed3c154a4b9", accessKeyVersion: "prod-access-key-v1.2", originRegion: "us-east-2" } }
Il nome del servizio viene impostato automaticamente su s3
per la creazione della firma.
Una volta applicate queste configurazioni, Cloud CDN genera
Intestazione di autorizzazione HTTP per tutte le richieste alla tua origine.
Memorizza nella cache le risposte autenticate
Ti consigliamo di assicurarti che i contenuti con autenticazione privata vengano memorizzati nella cache con Cloud CDN.
Per farlo, imposta la modalità cache su Forza memorizzazione nella cache di tutto il contenuto e specifica un TTL, in modo che tutti i contenuti pubblicati dall'origine vengano memorizzati nella cache.
In alternativa, se non vuoi forzare la memorizzazione nella cache allo stesso modo di tutti i contenuti,
cambia la modalità cache in Utilizza l'impostazione dell'origine in base alle intestazioni Cache-Control.
o Memorizza nella cache i contenuti statici e assicurati che l'intestazione Cache-Control
sia
correttamente sui contenuti pubblicati dalla tua origine.