Authentifizierung des privaten Ursprungs konfigurieren

Diese Seite bietet einen Überblick über die Authentifizierung des privaten Ursprungs sowie eine Anleitung zu ihrer Verwendung mit Cloud CDN.

Durch die Authentifizierung des privaten Ursprungs erhält Cloud CDN langfristig Zugriff auf private Amazon S3-Buckets oder andere kompatible Objektspeicher. Durch die Verwendung privater Ursprünge wird verhindert, dass Clients Cloud CDN umgehen und direkt auf Ihren Ursprung zugreifen.

Diese Funktion wird für Cloud CDN entweder mit einem globalen externen oder mit einem klassischen Application Load Balancer unterstützt.

Die Authentifizierung des privaten Ursprungs ist ursprungsbezogen, während signierte URLs und signierte Cookies clientseitig. Sie können beide für denselben Inhalt aktivieren. Bei der Authentifizierung des privaten Ursprungs wird der Nicht-CDN-Zugriff auf Ihre Ursprünge und Inhalte eingeschränkt. Signierte URLs und Cookies steuern, welche Nutzer auf Cloud CDN zugreifen können.

Hinweise

Authentifizierung für private Ursprünge konfigurieren

So konfigurieren Sie die Authentifizierung des privaten Ursprungs:

gcloud

  1. Exportieren Sie die Back-End-Konfiguration für Ihren privaten Ursprung mit dem Befehl gcloud compute backend-services export in eine YAML-Datei:

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

    Ersetzen Sie DESTINATION durch den Namen der YAML-Datei, z. B. my-private-origin.yaml.

  2. Zum Authentifizieren Ihrer Back-End-Anfragen mit dem HMAC-Schlüssel geben Sie diese zusätzlichen Konfigurationsoptionen im Abschnitt securitySettings von backendServices an:

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

    Ersetzen Sie Folgendes:

    • ACCESS_KEY_ID: die HMAC-Zugriffsschlüssel-ID
    • ACCESS_KEY: der HMAC-Zugriffsschlüssel
    • ACCESS_KEY_VERSION (optional): Ein eindeutiger Name, den Sie für die Schlüsselversion festlegen können.
    • REGION ist eine gültige Region für Ihren Speicheranbieter. Bei Amazon S3 ist der Wert keine Google Cloud-Region.

    Das folgende Snippet zeigt den Inhalt einer Beispieldatei 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. Importieren Sie die Konfiguration mit dem Befehl gcloud compute backend-services import in Ihren Back-End-Dienst, um Ihren privaten Ursprung zu aktualisieren:

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

    Ersetzen Sie SOURCE durch den Namen der YAML-Datei.

API

Zum Authentifizieren Ihrer Back-End-Anfragen mit dem HMAC-Schlüssel geben Sie diese zusätzlichen Konfigurationsoptionen im Abschnitt securitySettings von backendServices an.

Verwenden Sie den API-Aufruf Method: backendServices.insert oder Method: backendServices.update.

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

Fügen Sie dem JSON-Anfragetext folgendes Snippet hinzu:

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

Ersetzen Sie Folgendes:

  • ACCESS_KEY_ID: die HMAC-Zugriffsschlüssel-ID
  • ACCESS_KEY: der HMAC-Zugriffsschlüssel
  • ACCESS_KEY_VERSION (optional): Ein eindeutiger Name, den Sie für die Schlüsselversion festlegen können.
  • REGION ist eine gültige Region für Ihren Speicheranbieter. Bei Amazon S3 ist der Wert keine Google Cloud-Region.

Das folgende Snippet zeigt den Inhalt eines JSON-Beispielanfragetexts:

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

Der Dienstname wird zum Erstellen der Signatur automatisch auf s3 festgelegt. Nachdem diese Konfigurationen eingerichtet wurden, generiert Cloud CDN einen HTTP-Autorisierungsheader für alle Anfragen an Ihren Ursprung.

Privat authentifizierte Antworten im Cache speichern

Sie können sicherstellen, dass privat authentifizierte Inhalte von Cloud CDN im Cache gespeichert werden.

Setzen Sie dazu den Cache-Modus auf Cache für alle Inhalte erzwingen und geben Sie eine TTL an, damit alle vom Ursprung bereitgestellten Inhalte im Cache gespeichert werden.

Wenn Sie nicht erzwingen möchten, dass alle Inhalte auf dieselbe Weise im Cache gespeichert werden, ändern Sie den Cache-Modus in Ursprüngliche Einstellung basierend auf Cache-Control-Headern verwenden oder Statische Inhalte im Cache speichern. Der Cache-Control-Header muss für Inhalte, die von Ihrem Ursprung bereitgestellt werden, korrekt festgelegt sein.

Nächste Schritte