Configura la autenticación de origen privado

En esta página, se proporciona una descripción general de la autenticación de origen privado y las instrucciones para usarla con Cloud CDN.

La autenticación de origen privado le da a Cloud CDN acceso a los recursos a largo plazo a buckets privados de Amazon S3 o a otros almacenes de objetos compatibles. Usando de origen privado evita que los clientes omitan Cloud CDN y el acceso directo al origen.

Esta función es compatible con Cloud CDN con un externo global o un balanceador de cargas de aplicaciones clásico.

La autenticación de origen privado está orientada al origen, mientras que URL firmadas y las cookies firmadas son para el cliente. Tú puede habilitar ambos para el mismo contenido. Límites de autenticación de origen privado sin CDN a tus orígenes y contenido. Control de URLs firmadas y cookies qué usuarios pueden acceder a Cloud CDN.

Antes de comenzar

Configura la autenticación para orígenes privados

Para configurar la autenticación de origen privado, sigue las siguientes instrucciones:

gcloud

  1. Exporta la configuración de backend de tu origen privado a un YAML con el gcloud compute backend-services export :

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
       [--destination=DESTINATION]
    

    Reemplaza DESTINATION por el nombre del YAML. como my-private-origin.yaml.

  2. Para autenticar tus solicitudes de backend con la clave HMAC, especificar estas opciones de configuración adicionales en el Sección securitySettings de backendServices:

    securitySettings:
      awsV4Authentication:
        accessKeyId: ACCESS_KEY_ID
        accessKey: ACCESS_KEY
        [accessKeyVersion: ACCESS_KEY_VERSION]
        originRegion: REGION
    …]
    

    Reemplaza lo siguiente:

    • ACCESS_KEY_ID: El ID de clave de acceso de HMAC
    • ACCESS_KEY: La clave de acceso HMAC
    • ACCESS_KEY_VERSION (opcional): Un nombre único que puedes configurar para representar la versión de clave
    • REGION: Es una región válida para tu almacenamiento. proveedor. Para Amazon S3, el valor no es Google Cloud región.

    En el siguiente fragmento, se muestra el contenido de una muestra Archivo 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
    
  3. Para actualizar tu origen privado, importa la configuración a tu servicio de backend con el Comando gcloud compute backend-services import:

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
       [--source=SOURCE]
    

    Reemplaza SOURCE por el nombre del archivo YAML.

API

Para autenticar tus solicitudes de backend con la clave HMAC, especifica estas opciones de configuración adicionales en la sección securitySettings de backendServices

Usa el Method: backendServices.insert o Method: backendServices.update llamada a la 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

Agrega el siguiente fragmento al cuerpo de solicitud JSON:

securitySettings: {
  awsV4Authentication: {
    accessKeyId: ACCESS_KEY_ID,
    accessKey: ACCESS_KEY,
    [accessKeyVersion: ACCESS_KEY_VERSION],
    originRegion: REGION
  }
}

Reemplaza lo siguiente:

  • ACCESS_KEY_ID: El ID de clave de acceso de HMAC
  • ACCESS_KEY: La clave de acceso HMAC
  • ACCESS_KEY_VERSION (opcional): Es un nombre único que puedes configurar para representar la versión de clave
  • REGION: Es una región válida para tu almacenamiento. proveedor. Para Amazon S3, el valor no es Google Cloud región.

En el siguiente fragmento, se muestra el contenido de una muestra Cuerpo de la solicitud JSON:

securitySettings: {
  awsV4Authentication: {
    accessKeyId: "AKIDEXAMPLE",
    accessKey: "c4afb1cc5771d871763a393e44b703571b55cc28424d1a5e86da6ed3c154a4b9",
    accessKeyVersion: "prod-access-key-v1.2",
    originRegion: "us-east-2"
  }
}

El nombre del servicio se establece automáticamente en s3 para crear la firma. Luego de aplicar estos parámetros de configuración, Cloud CDN genera un Encabezado de autorización HTTP para todas las solicitudes a tu origen.

Almacena en caché las respuestas autenticadas de forma privada

Asegúrate de que el contenido autenticado de forma privada se almacene en caché Cloud CDN

Para ello, configura el modo de almacenamiento en caché para Forzar el almacenamiento en caché de todo el contenido y especificar un TTL, de modo que todo el contenido que se entregue desde el origen se almacena en caché.

Como alternativa, si no quieres forzar el almacenamiento en caché de todo el contenido de la misma manera, Cambiar el modo de caché a Usar configuración de origen en función de los encabezados de control de caché o Almacena en caché el contenido estático, y asegúrate de que el encabezado Cache-Control esté configurada correctamente en el contenido que se entrega desde tu origen.

¿Qué sigue?