Authentifizierung des privaten Ursprungs konfigurieren

Diese Seite bietet eine Übersicht über die Authentifizierung des privaten Ursprungs sowie eine Anleitung für die Verwendung mit Cloud CDN.

Die private Ursprungsauthentifizierung ermöglicht Cloud CDN langfristigen Ressourcenzugriff auf private Amazon S3-Buckets oder andere kompatible Objektspeicher. Dadurch wird verhindert, dass Clients Cloud CDN umgehen und direkt auf Ihren Ursprung zugreifen.

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

Die Authentifizierung des privaten Ursprungs erfolgt an den Ursprung, signierte URLs und signierte Cookies dagegen an den Kunden. 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. Mit signierten URLs und Cookies wird gesteuert, 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 Datei .yaml, 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: 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

Wenn Sie Ihre Back-End-Anfragen mithilfe des HMAC-Schlüssels authentifizieren möchten, 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: 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 Beispiel-JSON-Anfragetexts:

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 für alle Anfragen an Ihren Ursprung einen HTTP-Autorisierungsheader.

Privat authentifizierte Antworten im Cache speichern

Sie sollten dafür sorgen, dass privat authentifizierte Inhalte von Cloud CDN im Cache gespeichert werden.

Setzen Sie dazu den Cache-Modus auf Alle Inhalte im Cache speichern 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, können Sie den Cache-Modus auf Ursprungseinstellung basierend auf Cache-Control-Headern verwenden oder Statische Inhalte im Cache speichern ändern und dafür sorgen, dass der Cache-Control-Header für Inhalte, die von Ihrem Ursprung bereitgestellt werden, korrekt festgelegt ist.

Nächste Schritte