Questa pagina descrive come collegare Media CDN a bucket privati compatibili con Amazon S3 utilizzando Amazon Simple Storage Service (Amazon S3) e la versione 4 della firma AWS. Media CDN non supporta la versione 4a della firma di AWS.
Media CDN supporta la versione 4 della firma di AWS per autenticare le richieste di origine. Puoi utilizzare questa funzionalità per collegare Media CDN ai tuoi bucket privati compatibili con Amazon S3 per assicurarti che i tuoi contenuti vengano condivisi solo con Media CDN. Puoi anche attivare l'autenticazione client per una maggiore difesa in profondità. Per ulteriori informazioni, consulta la sezione Utilizzare le richieste firmate.
Prima di iniziare
Verifica di disporre delle seguenti risorse:
Un bucket Amazon S3 privato che segue le regole di denominazione.
Un account utente AWS IAM dedicato per accedere al bucket Amazon S3 privato precedente. Assicurati che il bucket conceda l'autorizzazione
s3:getObject
all'account utente AWS IAM. Per ulteriori informazioni sulla configurazione dell'accesso al bucket Amazon S3, consulta Gestione dell'identità e dell'accesso in Amazon S3.L'ID chiave di accesso AWS e la chiave di accesso segreta AWS per l'account utente AWS IAM dedicato. Per ulteriori informazioni, consulta Gestire le chiavi di accesso per gli utenti IAM.
Se non hai mai utilizzato Secret Manager, configura Secret Manager.
Creare un agente di servizio per Media CDN
Per creare un agente di servizio per Media CDN, utilizza il
comando gcloud beta services identity create
.
gcloud
gcloud beta services identity create \ --project PROJECT_ID \ --service=networkservices.googleapis.com
Sostituisci PROJECT_ID
con l'ID progetto.
Per ulteriori informazioni, vedi Attivare la creazione dell'agente di servizio.
Memorizzare le chiavi di accesso in Secret Manager
Segui questi passaggi per creare un secret in Secret Manager.
Console
Nella console Google Cloud, vai alla pagina Secret Manager.
Nella pagina Secret Manager, fai clic su Crea secret.
Nella sezione Dettagli secret, completa quanto segue:
Nel campo Nome, inserisci un nome per il segreto, ad esempio
aws-access-key-id
.Nella sezione Valore secret, salta il campo Carica file.
Nel campo Valore secret, inserisci la chiave di accesso segreta AWS.
Salta le sezioni rimanenti.
Fai clic su Crea secret.
gcloud
Assicurati di utilizzare la versione 402.0.0 o successive di Google Cloud CLI. Su Compute Engine o Google Kubernetes Engine (GKE), devi autenticarti con l'ambito della piattaforma cloud.
gcloud secrets create SECRET_NAME \ --replication-policy="automatic" \ --data-file="PATH_TO_AWS_SECRET_ACCESS_KEY"
Sostituisci quanto segue:
SECRET_NAME
: il nome del segreto, ad esempioaws-access-key-id
PATH_TO_AWS_SECRET_ACCESS_KEY
: il percorso al valore della chiave di accesso secret AWS
Per informazioni sull'aggiunta di versioni dei secret, consulta Aggiungere una versione del secret.
Concedi il ruolo Accesso a Secret Manager
Segui questi passaggi per concedere il
ruolo Accesso ai secret di Secret Manager
(roles/secretmanager.secretAccessor
) all'account di servizio Media CDN.
Console
Nella console Google Cloud, vai alla pagina Secret Manager.
- Seleziona il secret.
- Seleziona Autorizzazioni e poi Concedi accesso. Viene visualizzata la finestra di dialogo Concedi l'accesso.
Nella sezione Aggiungi entità, inserisci l'account di servizio Media CDN nel campo Nuove entità come segue:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
Sostituisci
PROJECT_NUMBER
con il numero del tuo progetto.- Nella sezione Assegna i ruoli, in Seleziona un ruolo, seleziona Gestore segreti e poi Accesso ai segreti di Gestore segreti.
- Fai clic su Salva.
gcloud
gcloud secrets add-iam-policy-binding \ projects/PROJECT_NUMBER/secrets/SECRET_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
Sostituisci quanto segue:
PROJECT_NUMBER
: il numero del progettoSECRET_NAME
: il nome del secret
Configura Media CDN per autenticarsi nel bucket dell'origine esterno
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Origini.
Fai clic sul nome dell'origine da configurare.
Viene visualizzata la pagina Dettagli origine cache perimetrale.
Fai clic sul pulsante Edit (Modifica).
In Indirizzo di origine, scegli Specifica un FQDN o un indirizzo IP e poi inserisci l'FQDN o l'indirizzo IP.
Nella sezione Autenticazione dell'origine privata, seleziona Autentica la richiesta di Media CDN in questa origine con la versione 4 della firma di AWS.
Specifica le seguenti informazioni:
- ID chiave: l'ID della chiave di accesso AWS con autorizzazioni di lettura per la tua origine
- Fai riferimento a un secret: l'ID della chiave di accesso in Secret Manager e la relativa versione. Puoi selezionare un ID esistente, inserirne uno manualmente o crearne uno nuovo e selezionarlo.
- Regione: la regione in cui si trova il bucket Amazon S3, ad esempio
us-east-1
In Protocollo, seleziona HTTPS.
Fai clic su Aggiorna origine.
gcloud
Per esportare la configurazione corrente del servizio in un file YAML, esegui il comando
gcloud edge-cache services export
:gcloud edge-cache services export SERVICE_NAME \ --destination=FILENAME.yaml
Sostituisci quanto segue:
SERVICE_NAME
: il nome del servizio Media CDNFILENAME
: il nome del file YAML
In Cloud Shell, utilizza un editor di testo per modificare il file YAML.
Aggiorna il file YAML in modo che contenga le seguenti righe:
name: ORIGIN_NAME originAddress: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com" protocol: HTTPS awsV4Authentication: accessKeyId: "AWS_ACCESS_KEY_ID" secretAccessKeyVersion: "projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/SECRET_VERSION" originRegion: "S3_REGION"
Sostituisci quanto segue:
ORIGIN_NAME
: un nome impostato per questa origineS3_BUCKET_NAME
: il nome del bucket Amazon S3S3_REGION
: la regione in cui si trova il tuo bucket Amazon S3, ad esempious-east-1
AWS_ACCESS_KEY_ID
: il tuo ID chiave di accesso AWS con autorizzazioni di lettura per l'originePROJECT_NUMBER
: il numero del progettoSECRET_NAME
: l'ID della chiave di accesso in Secret ManagerSECRET_VERSION
: la versione del secret da utilizzare
Configura le riscritture di host e percorso per le richieste alla tua origine. Per esempio, per mappare tutte le richieste con un prefisso di percorso
/vod/
, configura unhostRewrite
che corrisponda aloriginAddress
elencato nel file YAML diEdgeCacheService
. Il seguente esempio di codice mostra come utilizzarehostRewrite
:name: SERVICE_NAME routeRules: - priority: 1 - description: ROUTE_DESCRIPTION origin: ORIGIN_NAME matchRules: - prefixMatch: "/vod/" routeAction: urlRewrite: hostRewrite: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com" pathPrefixRewrite: "/" cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s
Sostituisci
SERVICE_NAME
con il nome del tuoEdgeCacheService
.Per ulteriori informazioni, consulta Utilizzare backend di archiviazione di terze parti.
Salva il file YAML.
Per aggiornare la configurazione, importa il file YAML.
gcloud edge-cache origins import ORIGIN_NAME \ --source=FILENAME.yaml
Dopo aver configurato Media CDN per l'autenticazione al tuo bucket esterno, Media CDN genera un'intestazione di autorizzazione HTTP per tutte le richieste all'intestazione. Tutti parametri di ricerca vengono rimossi dal calcolo della firma e dalla richiesta all'origine.
L'origine potrebbe aggiungere intestazioni aggiuntive alle risposte. Per rimuovere le intestazioni di risposta prima di pubblicarle per i client, consulta Impostare intestazioni personalizzate. Per ulteriori informazioni sulla configurazione delle origini, consulta Connettività e protezione origine.