Configura l'autenticazione di origine privata

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:

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

  1. Esporta la configurazione del backend per l'origine privata in un file .yaml utilizzando il comando gcloud 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 esempio my-private-origin.yaml.

  2. Autentica le richieste di backend con AWS Signature versione 4 specificando queste opzioni di configurazione aggiuntive nella sezione securitySettings di backendServices:

    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 accesso
    • ACCESS_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
    
  3. 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 accesso
  • ACCESS_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.

Passaggi successivi