In questa pagina viene descritto come connettere Media CDN alla rete privata I bucket compatibili con Amazon S3 utilizzando Amazon Simple Storage Service (Amazon S3) e Firma AWS versione 4. Media CDN non supporta la firma AWS versione 4a.
Media CDN supporta la firma AWS versione 4 per autenticare le richieste di origine. Puoi usare questa funzionalità per connetterti Media CDN ai tuoi bucket privati compatibili con Amazon S3 Assicurati che i tuoi contenuti vengano condivisi solo con Media CDN. Puoi anche abilitare l'autenticazione client per una maggiore difesa in profondità. Per maggiori informazioni, vedi 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 alla precedente istanza privata nel bucket Amazon S3. Assicurati che il bucket conceda l'elemento
s3:getObject
l'autorizzazione di accesso all'account utente AWS IAM. Per ulteriori informazioni configurando l'accesso al bucket Amazon S3, consulta Gestione di identità e accessi in Amazon S3.L'ID della chiave di accesso AWS e la chiave di accesso segreta AWS per l'account utente AWS IAM dedicato. Per ulteriori informazioni, vedi Gestione delle chiavi di accesso per gli utenti IAM.
Se non hai mai utilizzato Secret Manager, configura Secret Manager.
Crea un agente di servizio per Media CDN
Per creare un agente di servizio per Media CDN, utilizza il metodo
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 saperne di più, consulta Attivare la creazione dell'agente di servizio.
Archivia le chiavi di accesso in Secret Manager
Segui questi passaggi per crea 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 un secret, ad esempio
aws-access-key-id
.Nella sezione Valore secret, ignora il campo Carica file.
Nel campo Valore secret, inserisci la chiave di accesso al secret AWS.
Ignora le sezioni rimanenti.
Fai clic su Crea secret.
gcloud
Assicurati di utilizzare la versione 402.0.0 o successiva di Google Cloud CLI. In Compute Engine o Google Kubernetes Engine (GKE), devi eseguire l'autenticazione con l'ambito cloud-platform.
gcloud secrets create SECRET_NAME \ --replication-policy="automatic" \ --data-file="PATH_TO_AWS_SECRET_ACCESS_KEY"
Sostituisci quanto segue:
SECRET_NAME
: il nome del tuo secret, ad esempioaws-access-key-id
PATH_TO_AWS_SECRET_ACCESS_KEY
: il percorso al valore della chiave di accesso al secret AWS
Per informazioni sull'aggiunta di versioni del secret, consulta Aggiungi una versione del secret.
Concedi il ruolo di accesso a Secret Manager
Segui questi passaggi per concedere
Ruolo Funzione di accesso ai secret di Secret Manager
(roles/secretmanager.secretAccessor
) al servizio Media CDN
.
Console
Nella console Google Cloud, vai alla pagina Secret Manager.
- Seleziona il secret.
- Seleziona Autorizzazioni, quindi Concedi l'accesso. La Viene visualizzata la finestra di dialogo Concedi l'accesso.
Nella sezione Aggiungi entità, inserisci il Account di servizio Media CDN nel Campo Nuove entità come segue:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
Sostituisci
PROJECT_NUMBER
con del progetto.- Nella sezione Assegna ruoli, per Seleziona un ruolo, scegli Secret Manager, quindi seleziona Funzione di accesso ai secret di Secret Manager.
- 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 tuo progettoSECRET_NAME
: il nome del tuo secret
Configura Media CDN per l'autenticazione nel bucket di origine esterna
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Origini.
Fai clic sul nome dell'origine che vuoi configurare.
Viene visualizzata la pagina Dettagli origine cache Edge.
Fai clic sul pulsante Edit (Modifica).
Per Indirizzo di origine, scegli Specifica un FQDN o un indirizzo IP, quindi inserisci il nome di dominio completo o l'indirizzo IP.
Nella sezione Autenticazione dell'origine privata, seleziona Autentica. Richiesta di Media CDN a questa origine con 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, inserire un ID manualmente oppure creare un nuovo ID e selezionarlo.
- Regione: la regione in cui si trova il bucket Amazon S3
si trova in, ad esempio
us-east-1
Per 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 abbia 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 da te impostato per questa origineS3_BUCKET_NAME
: il nome del tuo Bucket Amazon S3S3_REGION
: la regione in cui Il bucket Amazon S3 si trova in, ad esempious-east-1
AWS_ACCESS_KEY_ID
: l'ID della tua chiave di accesso AWS con autorizzazioni di lettura per la tua originePROJECT_NUMBER
: il numero del tuo progettoSECRET_NAME
: l'ID della tua chiave di accesso in Secret ManagerSECRET_VERSION
: la versione del secret da utilizzare
Configura le riscritture di host e percorsi per le richieste alla tua origine. Per Ad esempio, per mappare tutte le richieste con il prefisso del percorso
/vod/
, configurahostRewrite
che corrisponde aioriginAddress
elencati in 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, vedi 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 sul server esterno di destinazione, Media CDN genera un'intestazione di autorizzazione HTTP per richieste alla tua intestazione. Tutti parametri di ricerca sono stati rimossi dalla firma calcolo e richiesta alla tua origine.
La tua origine potrebbe aggiungere intestazioni aggiuntive alle tue risposte. Per rimuovere il parametro le intestazioni delle risposte prima di pubblicarle consulta Impostare intestazioni personalizzate. Per saperne di più sulla configurazione delle origini, vedi Connettività e schermatura dell'origine.