Privaten S3-kompatiblen Bucket als Ursprung verwenden

Auf dieser Seite wird beschrieben, wie Sie Media CDN mit privaten S3-kompatiblen Buckets unter Verwendung des Simple Storage Service (S3) von Amazon Web Service (AWS) und S3 Signature Version 4 verbinden.

Media CDN unterstützt nicht AWS Signature Version 4a.

Media CDN unterstützt AWS Signature Version 4 zur Authentifizierung von Ursprungsanfragen. Mit diesem Feature können Sie Media CDN mit Ihren privaten S3-kompatiblen Buckets verbinden. So stellen Sie sicher, dass Ihre Inhalte nur für Media CDN freigegeben sind. Für eine tiefere Sicherheitsebene können Sie auch die Clientauthentifizierung aktivieren. Weitere Informationen finden Sie unter Signierte Anfragen verwenden.

Hinweis

Prüfen Sie, ob Folgendes gegeben ist:

  • Ein privater S3-Bucket.

  • Ein dediziertes IAM-Nutzerkonto (AWS Identity and Access Management) für den Zugriff auf den vorherigen privaten S3-Bucket. Achten Sie darauf, dass der Bucket dem AWS IAM-Nutzerkonto die Berechtigung s3:getObject gewährt. Weitere Informationen zum Konfigurieren des Zugriffs auf Ihren S3-Bucket finden Sie unter Identitäts- und Zugriffsverwaltung in Amazon S3.

  • Die Zugriffsschlüssel-ID und die geheime Zugriffsschlüssel-ID für das dedizierte 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.

Zugriffsschlüssel im Secret Manager speichern

  1. Fügen Sie die Secret-Version des dedizierten AWS-Nutzerkontos Secret Manager hinzu.

  2. Weisen Sie dem Media CDN-Dienstkonto die Rolle „Secret Manager-Zugriff“ (roles/secretmanager.secretAccessor) zu:

    gcloud secrets add-iam-policy-binding \
    projects/PROJECT_NUMBER/secrets/ACCESS_KEY_ID \
    --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \
    --role="roles/secretmanager.secretAccessor"
    

    Dabei gilt:

    • PROJECT_NUMBER: Ihre Projektnummer.
    • ACCESS_KEY_ID: Die ID des Zugriffsschlüssels, der freigegeben werden soll.

Media CDN für die Authentifizierung bei Ihrem externen Ursprungs-Bucket konfigurieren

  1. Erstellen Sie eine neue YAML-Datei, um den externen Ursprung FILENAME.yaml zu konfigurieren.

    Ersetzen Sie den gewünschten FILENAME.yaml-Dateinamen.

  2. Fügen Sie Folgendes in die Datei ein:

    name: ORIGIN_NAME
    originAddress: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com/OBJECT_PATH"
    protocol: HTTPS
    awsV4Authentication:
      accessKeyId: "ACCESS_KEY_NAME"
      secretAccessKeyVersion: "projects/PROJECT_NUMBER/secrets/ACCESS_KEY_ID/versions/SECRET_ACCESS_KEY_VERSION"
      originRegion: "S3_REGION"
    

    Dabei gilt:

    • ORIGIN_NAME: Ein Name, den Sie für diesen Ursprung festgelegt haben.
    • S3_BUCKET_NAME: Name Ihres S3-Buckets.
    • S3_REGION: Die Region, in der sich der S3-Bucket befindet.
    • OBJECT_PATH: Der Pfad zu Ihren Objekten.
    • ACCESS_KEY_NAME: Der Name Ihres Zugriffsschlüssels im AWS Secrets Manager.
    • ACCESS_KEY_ID: Die ID des Zugriffsschlüssels im Secret Manager.
    • SECRET_ACCESS_KEY_VERSION: Die zu verwendende Version des geheimen Zugriffsschlüssel.
  3. Konfigurieren Sie Host- und Pfad-Überschreibungen für Anfragen an Ihren Ursprung. Um beispielsweise alle Anfragen mit dem Pfadpräfix /vod/ zuzuordnen, konfigurieren Sie einen hostRewrite, der dem originAddress entspricht, der in der YAML-Datei Ihres EdgeCacheService aufgeführt ist. Das folgende Codebeispiel zeigt, wie hostRewrite verwendet wird:

    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 Ihres EdgeCacheService.

    Weitere Informationen finden Sie unter Speicher-Back-Ends von Drittanbietern verwenden.

  4. Um Ihre Konfiguration zu erstellen oder zu aktualisieren, importieren Sie die von Ihnen erstellte YAML-Datei:

    gcloud edge-cache origins import ORIGIN_NAME --source=FILENAME.yaml
    

Nachdem Sie Media CDN für die Authentifizierung bei Ihrem externen Bucket konfiguriert haben, generiert Media CDN einen HTTP-Autorisierungsheader für alle Anfragen an Ihren Header. Alle Abfrageparameter werden aus der Signaturberechnung und der Anfrage an Ihren Ursprung entfernt.

Der Ursprung kann an Ihre Antworten zusätzliche Header anhängen. Informationen zum Entfernen der Antwortheader vor der Bereitstellung für Clients finden Sie unter Benutzerdefinierte Header festlegen. Weitere Informationen zum Konfigurieren von Ursprüngen finden Sie unter Ursprungskonnektivität und -abschirmung.