Questa pagina fornisce una panoramica dell'autenticazione dell'origine privata e le istruzioni per l'utilizzo con Cloud CDN.
L'autenticazione dell'origine privata consente a Cloud CDN di accedere alle risorse a lungo termine a un bucket Amazon S3 privato o a un oggetto compatibile. L'uso delle origini private impedisce ai client di bypassare Cloud CDN e di accedere direttamente all'origine.
Questa funzionalità è supportata per Cloud CDN con un bilanciatore del carico HTTP(S) esterno globale o un bilanciatore del carico HTTP(S) esterno globale (classico).
L'autenticazione dell'origine privata è rivolta all'origine, mentre gli URL firmati e i cookie firmati sono rivolti al client. Puoi abilitare entrambi per gli stessi contenuti. L'autenticazione di origine privata limita l'accesso non CDN alle tue origini e ai tuoi contenuti. Gli URL firmati e i cookie controllano quali utenti possono accedere a Cloud CDN.
Prima di iniziare
Prima di utilizzare l'autenticazione dell'origine privata, procedi come segue:
Recupera la chiave di accesso e l'ID chiave di accesso per il tuo bucket Amazon S3 o un altro archivio di oggetti compatibile. Per la procedura dettagliata per Amazon S3, consulta Accedere ad AWS utilizzando le tue credenziali AWS: accesso programmatico.
Se l'archivio di oggetti prevede un valore particolare per l'intestazione
Host
della richiesta HTTP, assicurati che sia configurato nel servizio di backend. Se non configuri un'intestazione di richiesta personalizzata, il servizio di backend conserva l'intestazioneHost
che il client ha utilizzato per connettersi al bilanciatore del carico HTTP(S) esterno. Per i passaggi di configurazione, consulta la pagina relativa all'utilizzo delle intestazioni delle richieste personalizzate. Per un esempio specifico, consulta Configurazione di un bilanciatore del carico con backend esterno.Se necessario, esegui l'aggiornamento all'ultima versione di Google Cloud CLI:
gcloud components update
Per maggiori informazioni, consulta la pagina Autenticare i contenuti.
Configura l'autenticazione dell'origine privata
Per configurare l'autenticazione dell'origine privata per i bucket Amazon S3 o gli archivi di oggetti compatibili, segui queste istruzioni:
gcloud
Esporta la configurazione del backend per l'origine privata in un file
.yaml
utilizzando il comandogcloud beta compute backend-services export
:gcloud beta compute backend-services export BACKEND_SERVICE_NAME \ [--destination=DESTINATION]
Sostituisci
DESTINATION
con il nome del file.yaml
, ad esempiomy-private-origin.yaml
.Autentica le richieste di backend con AWS Signature versione 4 specificando 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 univoco della chiave di accessoACCESS_KEY
: la chiave di accesso utilizzata per l'autenticazione- (Facoltativo)
ACCESS_KEY_VERSION
: un nome univoco che puoi impostare per rappresentare la versione della chiave REGION
: una regione valida per il tuo provider di archiviazione; non una regione Google Cloud
Il seguente snippet mostra i contenuti di un file
my-private-origin.yaml
di esempio:name: shopping-cart-services backends: - description: cart-backend-1 group: 'https://www.googleapis.com/compute/beta/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 servizio di backend utilizzando il comando
gcloud beta compute backend-services import
:gcloud beta compute backend-services import BACKEND_SERVICE_NAME \ [--source=SOURCE]
Sostituisci
SOURCE
con il nome del file.yaml
.
API
Per autenticare le richieste di backend con AWS Signature versione 4, specifica queste opzioni di configurazione aggiuntive nella sezione securitySettings
di backendServices
.
Per i servizi di backend, utilizza la chiamata API Method: backendServices.insert
o Method: backendServices.update
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/backendServices PUT https://compute.googleapis.com/compute/beta/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 univoco della chiave di accessoACCESS_KEY
: la chiave di accesso utilizzata per l'autenticazione- (Facoltativo)
ACCESS_KEY_VERSION
: un nome univoco che puoi impostare per rappresentare la versione della chiave REGION
: una regione valida per il tuo provider di archiviazione; non una regione Google Cloud
Il seguente snippet mostra il contenuto di un corpo di richiesta JSON di esempio:
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.
Dopo aver configurato queste configurazioni, Cloud CDN genera un'intestazione di autorizzazione HTTP per tutte le richieste alla tua origine.