Auf dieser Seite wird beschrieben, wie Sie Media CDN mit einem privaten Netzwerk verbinden Amazon S3-kompatible Buckets mithilfe von Amazon Simple Storage Service (Amazon S3) und AWS Signature Version 4 Media CDN unterstützt nicht AWS Signature Version 4a.
Media CDN unterstützt AWS Signature Version 4 zum Authentifizieren von Ursprungsanfragen. Mit dieser Funktion können Sie Media CDN an Ihre privaten Amazon S3-kompatiblen Buckets an, dass Ihre Inhalte nur für Media CDN freigegeben werden. Sie können auch die Clientauthentifizierung aktivieren, um die Sicherheit zu erhöhen. Weitere Informationen finden Sie unter Signierte Anfragen verwenden.
Hinweise
Prüfen Sie, ob Sie die folgenden Ressourcen haben:
Ein privater Amazon S3-Bucket, der den Benennungsregeln entspricht.
Ein spezielles AWS IAM-Nutzerkonto für den Zugriff auf den obigen privaten Amazon S3-Bucket. Achten Sie darauf, dass dem AWS IAM-Nutzerkonto die Berechtigung
s3:getObject
für den Bucket gewährt wird. Weitere Informationen zum Konfigurieren des Zugriffs auf Ihren Amazon S3-Bucket finden Sie unter Identitäts- und Zugriffsverwaltung in Amazon S3.Die AWS-Zugriffsschlüssel-ID und der geheime AWS-Zugriffsschlüssel für das spezielle AWS IAM-Nutzerkonto. Weitere Informationen finden Sie unter Zugriffsschlüssel für IAM-Nutzer verwalten.
Wenn Sie Secret Manager noch nicht verwendet haben, konfigurieren Sie Secret Manager.
Dienst-Agent für Media CDN erstellen
Um einen Dienst-Agent für Media CDN zu erstellen, verwenden Sie den
gcloud beta services identity create
-Befehl
gcloud
gcloud beta services identity create \ --project PROJECT_ID \ --service=networkservices.googleapis.com
Ersetzen Sie PROJECT_ID
durch Ihre Projekt-ID.
Weitere Informationen finden Sie unter Erstellung des Dienst-Agents auslösen.
Zugriffsschlüssel in Secret Manager speichern
Führen Sie die folgenden Schritte aus, um Secret erstellen in Secret Manager an.
Console
Wechseln Sie in der Google Cloud Console zur Seite Secret Manager.
Klicken Sie auf der Seite Secret Manager auf Secret erstellen.
Führen Sie im Abschnitt Secret-Details die folgenden Schritte aus:
Geben Sie im Feld Name einen Namen für das Secret ein, z. B.
aws-access-key-id
.Überspringen Sie im Abschnitt Secret-Wert das Feld Datei hochladen.
Geben Sie im Feld Secret-Wert den geheimen AWS-Zugriffsschlüssel ein.
Überspringen Sie die restlichen Abschnitte.
Klicken Sie auf Secret erstellen.
gcloud
Sie benötigen die Google Cloud CLI-Version 402.0.0 oder höher. In der Compute Engine oder Google Kubernetes Engine (GKE) müssen Sie sich mit dem Bereich „cloud-platform“ authentifizieren.
gcloud secrets create SECRET_NAME \ --replication-policy="automatic" \ --data-file="PATH_TO_AWS_SECRET_ACCESS_KEY"
Ersetzen Sie Folgendes:
SECRET_NAME
: der Name Ihres Secret wieaws-access-key-id
PATH_TO_AWS_SECRET_ACCESS_KEY
: der Pfad zum Wert Ihres geheimen AWS-Zugriffsschlüssels
Informationen zum Hinzufügen von Secret-Versionen finden Sie unter Fügen Sie eine Secret-Version hinzu.
Rolle „Secret Manager-Zugriff“ gewähren
Gehen Sie wie folgt vor, um die
Rolle „Accessor für Secret Manager-Secret“
(roles/secretmanager.secretAccessor
) an den Media CDN-Dienst
Konto.
Console
Wechseln Sie in der Google Cloud Console zur Seite Secret Manager.
- Wählen Sie das Secret aus.
- Wählen Sie Berechtigungen und dann Zugriff gewähren aus. Die Das Dialogfeld Zugriff gewähren wird angezeigt.
Geben Sie im Abschnitt Hauptkonten hinzufügen das Media CDN-Dienstkonto im Feld Neue Hauptkonten folgendermaßen ein:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
Ersetzen Sie
PROJECT_NUMBER
durch Ihren Projektnummer.- Wählen Sie im Abschnitt Rollen zuweisen unter Rolle auswählen die Option Secret Manager und dann Zugriffsfunktion für Secret Manager-Secret aus.
- Klicken Sie auf Speichern.
gcloud
gcloud secrets add-iam-policy-binding \ projects/PROJECT_NUMBER/secrets/SECRET_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
Ersetzen Sie Folgendes:
PROJECT_NUMBER
: Ihre ProjektnummerSECRET_NAME
: der Name Ihres Secrets
Media CDN für die Authentifizierung bei Ihrem externen Ursprungs-Bucket konfigurieren
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Origins.
Klicken Sie auf den Namen des Ursprungs, den Sie konfigurieren möchten.
Die Seite Details zum Edge-Cache-Ursprung wird geöffnet.
Klicken Sie auf Bearbeiten.
Wählen Sie unter Quelladresse die Option FQDN oder IP-Adresse angeben aus und geben Sie den FQDN oder die IP-Adresse ein.
Wähle im Abschnitt Authentifizierung des privaten Ursprungs die Option Media CDN-Anfrage an diesen Ursprung mit AWS-Signaturversion 4 authentifizieren aus.
Geben Sie die folgenden Informationen an:
- Schlüssel-ID: Ihre AWS-Zugriffsschlüssel-ID mit Leseberechtigungen für Ihren Ursprung
- Auf ein Secret verweisen: die ID Ihres Zugriffsschlüssels in Secret Manager und seine Version. Sie können eine vorhandene ID auswählen, eine ID manuell eingeben oder eine neue ID erstellen und auswählen.
- Region: die Region, in der sich Ihr Amazon S3-Bucket befindet
befindet sich in, zum Beispiel
us-east-1
.
Wählen Sie für Protokoll die Option HTTPS aus.
Klicken Sie auf Ursprung aktualisieren.
gcloud
Führen Sie den folgenden Befehl aus, um die aktuelle Konfiguration Ihres Dienstes in eine YAML-Datei zu exportieren: den Befehl
gcloud edge-cache services export
:gcloud edge-cache services export SERVICE_NAME \ --destination=FILENAME.yaml
Ersetzen Sie Folgendes:
SERVICE_NAME
: der Name des Media CDN-DienstFILENAME
: der Name der YAML-Datei
Bearbeiten Sie die YAML-Datei in Cloud Shell mit einem Texteditor.
Aktualisieren Sie die YAML-Datei so, dass sie die folgenden Zeilen enthält:
name: ORIGIN_NAME originAddress: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com" protocol: HTTPS awsV4Authentication: accessKeyId: "AWS_ACCESS_KEY_ID" secretAccessKeyVersion: "projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/SECRET_VERSION" originRegion: "S3_REGION"
Ersetzen Sie Folgendes:
ORIGIN_NAME
: ein von Ihnen festgelegter Name UrsprungS3_BUCKET_NAME
: der Name Ihres Amazon S3-BucketsS3_REGION
: Die Region, in der sich Ihr Amazon S3-Bucket befindet, z. B.us-east-1
.AWS_ACCESS_KEY_ID
: Ihre AWS-Zugriffsschlüssel-ID mit Leseberechtigungen für Ihren UrsprungPROJECT_NUMBER
: Ihre ProjektnummerSECRET_NAME
: Die ID Ihres Zugriffsschlüssels im Secret Manager.SECRET_VERSION
: Die zu verwendende Secret-Version
Konfigurieren Sie Host- und Pfadumschreibungen für Anfragen an Ihren Ursprung. Um beispielsweise alle Anfragen mit dem Pfadpräfix
/vod/
zuzuordnen, konfigurieren Sie einenhostRewrite
, der demoriginAddress
entspricht, der in der YAML-Datei IhresEdgeCacheService
aufgeführt ist. Das folgende Codebeispiel zeigt, wie SiehostRewrite
:name: SERVICE_NAME routeRules: - priority: 1 - description: ROUTE_DESCRIPTION origin: ORIGIN_NAME matchRules: - prefixMatch: "/vod/" routeAction: urlRewrite: hostRewrite: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com" pathPrefixRewrite: "/" cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s
Ersetzen Sie
SERVICE_NAME
durch den Namen IhresEdgeCacheService
.Weitere Informationen finden Sie unter Speicher-Back-Ends von Drittanbietern verwenden
Speichern Sie die YAML-Datei.
Importieren Sie die YAML-Datei, um die Konfiguration zu aktualisieren.
gcloud edge-cache origins import ORIGIN_NAME \ --source=FILENAME.yaml
Nachdem Sie Media CDN für die Authentifizierung bei Ihrem externen Netzwerk generiert Media CDN einen HTTP-Autorisierungsheader für alle an Ihren Header senden. Alle Abfrageparameter werden aus der Signaturberechnung und der Anfrage an Ihren Ursprung entfernt.
Ihr Ursprung hängt möglicherweise zusätzliche Header an Ihre Antworten an. So entfernen Sie die bevor sie an Clients gesendet werden, Weitere Informationen Weitere Informationen zum Konfigurieren von Ursprüngen finden Sie unter Ursprungskonnektivität und -abschirmung.