Authentifizierung des privaten Ursprungs konfigurieren

Auf dieser Seite finden Sie eine Übersicht über die Authentifizierung mit privatem Ursprung und eine Anleitung für die Verwendung mit Cloud CDN.

Die Authentifizierung über einen privaten Ursprung ermöglicht Cloud CDN langfristigen Ressourcenzugriff auf private Amazon S3-Buckets oder andere kompatible Objektspeicher. Wenn Sie private Ursprünge verwenden, können Clients Cloud CDN nicht umgehen und nicht direkt auf Ihren Ursprung zugreifen.

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

Die Authentifizierung des privaten Ursprungs ist ursprünglich gerichtet, während signierte URLs und signierte Cookies clientseitig sind. Sie können beide für dieselben Inhalte aktivieren. Die Authentifizierung des privaten Ursprungs schränkt den Zugriff auf Ihre Ursprünge und Inhalte ein, der nicht über das CDN erfolgt. Mit signierten URLs und Cookies wird festgelegt, welche Nutzer auf Cloud CDN zugreifen können.

Hinweise

Authentifizierung für private Ursprünge konfigurieren

So konfigurierst du die Authentifizierung für private Ursprünge:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud CDN auf.

    Zu Cloud CDN

  2. Klicken Sie auf den Namen der Quelle, die Sie konfigurieren möchten. Der Ursprung muss vom Typ Benutzerdefinierter Ursprung sein.

  3. Klicken Sie auf der Seite Details zum Ursprung auf die Schaltfläche Bearbeiten.

  4. Klicken Sie auf Weiter, um zum Abschnitt Host- und Pfadregeln zu gelangen.

  5. Klicken Sie auf Weiter, um zum Abschnitt Cache-Leistung zu gelangen.

  6. Wählen Sie im Abschnitt Authentifizierung des privaten Ursprungs die Option Anfragen an diesen Ursprung mit AWS Signature Version 4 authentifizieren aus. Geben Sie dann die folgenden Informationen an:

    • Schlüssel-ID: Zugriffsschlüssel für Ihren Amazon S3-Bucket oder einen anderen kompatiblen Objektspeicher.
    • Key: Der geheime Schlüssel, der zur Authentifizierung beim Objektspeicher verwendet wird. Wenn Sie einen privaten Cloud Storage-Bucket verwenden, geben Sie den HMAC-Schlüssel an.
    • Schlüsselversion: Ein eindeutiger Name für die Schlüsselversion.
    • Region: Die Region, in der sich Ihr Objektspeicher befindet, z. B. us-east-1.
  7. Klicken Sie auf Fertig.

gcloud

  1. Exportieren Sie die Backendkonfiguration 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. Wenn du deine Backend-Anfragen mit dem HMAC-Schlüssel authentifizieren möchtest, gib die folgenden 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: HMAC-Zugriffsschlüssel
    • ACCESS_KEY_VERSION (optional): Ein eindeutiger Name, den Sie zur Darstellung der 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 Beispielmy-private-origin.yaml-Datei:

     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. Wenn Sie Ihren privaten Ursprung aktualisieren möchten, importieren Sie die Konfiguration mit dem Befehl gcloud compute backend-services import in Ihren Backend-Dienst:

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

    Ersetzen Sie SOURCE durch den Namen der YAML-Datei.

API

Wenn du deine Backendanfragen mit dem HMAC-Schlüssel authentifizieren möchtest, gib die folgenden 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: HMAC-Zugriffsschlüssel
  • ACCESS_KEY_VERSION (optional): Ein eindeutiger Name, den Sie zur Darstellung der 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 beim Erstellen der Signatur automatisch auf s3 festgelegt. Nachdem diese Konfigurationen eingerichtet sind, generiert Cloud CDN einen HTTP-Autorisierungsheader für alle Anfragen an Ihren Ursprung.

Antworten mit privater Authentifizierung im Cache speichern

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

Legen Sie dazu den Cache-Modus auf Alle Inhalte im Cache speichern fest und geben Sie eine TTL an, damit alle vom Ursprung bereitgestellten Inhalte im Cache gespeichert werden.

Wenn Sie nicht möchten, dass alle Inhalte auf dieselbe Weise im Cache gespeichert werden, können Sie den Cache-Modus auch in Auf Cache-Control-Headern basierende Ursprungsserver-Einstellungen verwenden oder Statische Inhalte im Cache speichern ändern. Achten Sie dabei darauf, dass der Cache-Control-Header für Inhalte, die von Ihrem Ursprung bereitgestellt werden, richtig festgelegt ist.

Nächste Schritte