Diese Seite bietet einen Überblick über die Authentifizierung des privaten Ursprungs sowie eine Anleitung für die Verwendung mit Cloud CDN.
Durch die Authentifizierung des privaten Ursprungs erhält Cloud CDN langfristigen Zugriff auf Ressourcen auf private Amazon S3-Buckets oder andere kompatible Objektspeicher zugreifen. Mit private Ursprünge verhindern, dass Clients Cloud CDN und der direkte Zugriff auf Ihren Ursprung.
Diese Funktion wird für Cloud CDN mit einem einen globalen externen oder klassischen Application Load Balancer.
Die Authentifizierung des privaten Ursprungs ist ursprünglich gerichtet, während signierte URLs und signierte Cookies clientseitig sind. Ich können beide für denselben Inhalt aktivieren. Die Authentifizierung des privaten Ursprungs schränkt den Zugriff auf Ihre Ursprünge und Inhalte ein, der nicht über das CDN erfolgt. Einstellungen für signierte URLs und Cookies die Nutzer auf Cloud CDN zugreifen können.
Hinweise
HMAC-Schlüssel (Hash-based Message Authentication Code) zur Authentifizierung erstellen und mit einem Dienstkonto verknüpfen. Notieren Sie sich den Zugriff. Key und Secret angeben.
Weitere Informationen finden Sie in der AWS-Dokumentation unter Auf AWS mit AWS-Anmeldedaten zugreifen: Programmatischer Zugriff.
Load Balancer mit dem externen Backend konfigurieren
Wenn Ihr Objektspeicher einen bestimmten Wert für das
Host
der HTTP-Anfrage erwartet -Header enthält, stellen Sie sicher, dass er im Back-End-Dienst konfiguriert ist. Wenn Sie keine benutzerdefinierten Anfrageheader konfigurieren, behält der Back-End-Dienst dieHost
mit dem der Client eine Verbindung zum externen Application Load Balancer hergestellt hat.Informationen zur Konfiguration finden Sie unter Mit benutzerdefinierten Anfrageheadern arbeiten Ein konkretes Beispiel finden Sie unter Load-Balancer mit einem externen Back-End konfigurieren
Aktualisieren Sie bei Bedarf auf die neueste Version der Google Cloud CLI:
gcloud components update
Authentifizierung für private Ursprünge konfigurieren
So konfigurieren Sie die Authentifizierung des privaten Ursprungs:
gcloud
Exportieren Sie die Back-End-Konfiguration für Ihren privaten Ursprung in eine YAML-Datei mithilfe der
gcloud compute backend-services export
Befehl:gcloud compute backend-services export BACKEND_SERVICE_NAME \ [--destination=DESTINATION]
Ersetzen Sie
DESTINATION
durch den Namen der YAML-Datei. Datei, z. B.my-private-origin.yaml
.So authentifizieren Sie Ihre Back-End-Anfragen mithilfe des HMAC-Schlüssels: diese zusätzlichen Konfigurationsoptionen im Abschnitt
securitySettings
vonbackendServices
: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-IDACCESS_KEY
: HMAC-ZugriffsschlüsselACCESS_KEY_VERSION
(optional): ein eindeutiger Name die Sie als Schlüsselversion festlegen können,REGION
: eine gültige Region für Ihren Speicheranbieter. Bei Amazon S3 ist der Wert kein Google Cloud- Region
Das folgende Snippet zeigt den Inhalt eines Beispiels
my-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
Importieren Sie zum Aktualisieren Ihres privaten Ursprungs die Konfiguration in Ihren Back-End-Dienst mithilfe der Methode Befehl
gcloud compute backend-services import
: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 Folgendes an:
zusätzliche Konfigurationsoptionen im Abschnitt securitySettings
von
backendServices
.
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-IDACCESS_KEY
: HMAC-ZugriffsschlüsselACCESS_KEY_VERSION
(optional): ein eindeutiger Name, der können Sie festlegen, dass die SchlüsselversionREGION
: eine gültige Region für Ihren Speicher Dienstanbieter. Bei Amazon S3 ist der Wert kein Google Cloud- Region
Das folgende Snippet zeigt den Inhalt eines Beispiels JSON-Anfragetext:
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 sind, generiert Cloud CDN einen HTTP-Autorisierungsheader für alle Anfragen an Ihren Ursprung.
Antworten mit privater Authentifizierung im Cache speichern
Sie können sicherstellen, dass privat authentifizierte Inhalte durch Cloud CDN
Stellen Sie dazu den Cache-Modus ein. um den gesamten Inhalt im Cache zu speichern und eine TTL anzugeben, damit alle Inhalte der Ursprung im Cache gespeichert wird.
Wenn Sie nicht erzwingen möchten, dass alle Inhalte 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 und achten Sie darauf, dass der Cache-Control
-Header
bei Inhalten, die von Ihrem Ursprung bereitgestellt werden, korrekt festgelegt sind.