Beschränken des Zugriffs auf einen AWS Elemental MediaPackage v2-Ursprung - Amazon CloudFront

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beschränken des Zugriffs auf einen AWS Elemental MediaPackage v2-Ursprung

CloudFront bietet Origin Access Control (OAC) zur Beschränkung des Zugriffs auf einen MediaPackage v2-Ursprung.

Anmerkung

CloudFront OAC unterstützt nur v2. MediaPackage MediaPackage Version 1 wird nicht unterstützt.

Ein neues OAC erstellen

Führen Sie die in den folgenden Themen beschriebenen Schritte aus, um ein neues OAC in einzurichten. CloudFront

Voraussetzungen

Bevor Sie OAC erstellen und einrichten, müssen Sie über eine CloudFront Distribution mit MediaPackage v2-Ursprung verfügen. Weitere Informationen finden Sie unter Verwenden Sie einen MediaStore Container oder einen MediaPackage Channel.

Erteilen Sie dem OAC die Erlaubnis, auf den MediaPackage v2-Ursprung zuzugreifen

Bevor Sie ein OAC erstellen oder es in einer CloudFront Distribution einrichten, stellen Sie sicher, dass das OAC über die Zugriffsberechtigung für den MediaPackage v2-Ursprung verfügt. Tun Sie dies, nachdem Sie eine CloudFront Distribution erstellt haben, aber bevor Sie das OAC dem MediaPackage v2-Ursprung in der Distributionskonfiguration hinzufügen.

Um dem OAC die Erlaubnis zu erteilen, auf den MediaPackage v2-Ursprung zuzugreifen, verwenden Sie eine IAM-Richtlinie, die dem CloudFront Dienstprinzipal (cloudfront.amazonaws.com) den Zugriff auf den Ursprung ermöglicht. Das Condition Element in der Richtlinie ermöglicht den CloudFront Zugriff auf den MediaPackage v2-Ursprung nur, wenn die Anfrage im Namen der CloudFront Distribution erfolgt, die den MediaPackage v2-Ursprung enthält.

Beispiel : IAM-Richtlinie, die den schreibgeschützten Zugriff auf eine Distribution ermöglicht CloudFront

Die folgende Richtlinie ermöglicht der CloudFront Distribution (E1PDK09ESKHJWT) den Zugriff auf den v2-Ursprung. MediaPackage Der Ursprung ist der für das Resource Element angegebene ARN.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipal", "Effect": "Allow", "Principal": {"Service": "cloudfront.amazonaws.com"}, "Action": "mediapackagev2:GetObject", "Resource": "arn:aws:mediapackagev2:us-east-1:123456789012:channelGroup/channel-group-name/channel/channel-name/originEndpoint/origin_endpoint_name", "Condition": { "StringEquals": {"AWS:SourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PDK09ESKHJWT"} } } ] }
Anmerkung

Wenn Sie eine Distribution erstellen, die keine Berechtigungen für Ihren MediaPackage v2-Ursprung hat, können Sie in der CloudFront Konsole „Richtlinie kopieren“ und dann „Endpunktberechtigungen aktualisieren“ auswählen. Anschließend können Sie die kopierte Berechtigung an den Endpunkt anhängen. Weitere Informationen finden Sie im AWS Elemental MediaPackage Benutzerhandbuch unter Felder für Endpunktrichtlinien.

Das OAC erstellen

Um ein OAC zu erstellen, können Sie die AWS Management Console, AWS CloudFormation AWS CLI, oder die CloudFront API verwenden.

Console
Um ein OAC zu erstellen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Wählen Sie im Navigationsbereich Origin access (Ursprungszugriff) aus.

  3. Wählen Sie Create control setting (Kontrolleinstellung erstellen) aus.

  4. Gehen Sie im Formular Neues OAC erstellen wie folgt vor:

    1. Geben Sie einen Namen und (optional) eine Beschreibung für das OAC ein.

    2. Für das Signierverhalten empfehlen wir, die Standardeinstellung beizubehalten (Anfragen signieren (empfohlen)). Weitere Informationen finden Sie unter Erweiterte Einstellungen für die Ursprungszugriffssteuerung.

  5. Wählen Sie als Origin-Typ MediaPackage V2 aus.

  6. Wählen Sie Erstellen.

    Tipp

    Nachdem Sie das OAC erstellt haben, notieren Sie sich den Namen. Sie benötigen diesen im folgenden Verfahren.

Um ein OAC zu einem MediaPackage v2-Ursprung in einer Distribution hinzuzufügen
  1. Öffnen Sie die CloudFront Konsole unter. https://console.aws.amazon.com/cloudfront/v4/home

  2. Wählen Sie eine Distribution mit einem MediaPackage V2-Ursprung aus, zu der Sie das OAC hinzufügen möchten, und wählen Sie dann den Tab Origins.

  3. Wählen Sie den MediaPackage v2-Ursprung aus, zu dem Sie das OAC hinzufügen möchten, und wählen Sie dann Bearbeiten.

  4. Wählen Sie HTTPS only (Nur HTTPS) für Protocol (Protokoll) Ihres Ursprungs aus.

  5. Wähle aus dem Drop-down-Menü für die Origin-Zugriffskontrolle den OAC-Namen aus, den du verwenden möchtest.

  6. Wählen Sie Änderungen speichern aus.

Die Distribution beginnt mit der Bereitstellung an allen CloudFront Edge-Standorten. Wenn ein Edge-Standort die neue Konfiguration empfängt, signiert er alle Anfragen, die er an den MediaPackage v2-Ursprung sendet.

CloudFormation

Verwenden Sie den AWS::CloudFront::OriginAccessControl Ressourcentyp AWS CloudFormation, um ein OAC mit zu erstellen. Das folgende Beispiel zeigt die AWS CloudFormation Vorlagensyntax im YAML-Format für die Erstellung eines OAC.

Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: ExampleOAC OriginAccessControlOriginType: mediapackagev2 SigningBehavior: always SigningProtocol: sigv4

Weitere Informationen finden Sie im AWS CloudFormation Benutzerhandbuch unter AWS::CloudFront::OriginAccessSteuerung.

CLI

Verwenden Sie den aws cloudfront create-origin-access-control Befehl, um eine Origin-Zugriffskontrolle mit dem AWS Command Line Interface (AWS CLI) zu erstellen. Sie können eine Eingabedatei verwenden, um die Eingabeparameter für den Befehl bereitzustellen, anstatt jeden einzelnen Parameter als Befehlszeileneingabe anzugeben.

So erstellen Sie eine Ursprungszugriffssteuerung (CLI mit Eingabedatei)
  1. Verwenden Sie den folgenden Befehl zum Erstellen einer Datei mit dem Namen origin-access-control.yaml. Diese Datei enthält alle Eingabeparameter für den Befehl create-origin-access-control.

    aws cloudfront create-origin-access-control --generate-cli-skeleton yaml-input > origin-access-control.yaml
  2. Öffnen Sie die Datei origin-access-control.yaml, die Sie gerade erstellt haben. Bearbeiten Sie die Datei, um einen Namen für die OAC und eine Beschreibung (optional) hinzuzufügen, und ändern Sie SigningBehavior zu always. Speichern Sie dann die Datei.

    Weitere Informationen zu anderen OAC-Einstellungen finden Sie unter Erweiterte Einstellungen für die Ursprungszugriffssteuerung.

  3. Verwenden Sie den folgenden Befehl, um die Ursprungszugriffssteuerung mit Eingabeparametern aus der Datei origin-access-control.yaml zu erstellen.

    aws cloudfront create-origin-access-control --cli-input-yaml file://origin-access-control.yaml

    Notieren Sie den Id-Wert in der Befehlsausgabe. Sie benötigen ihn, um das OAC zu einem MediaPackage v2-Ursprung in einer CloudFront Distribution hinzuzufügen.

Um ein OAC an einen MediaPackage v2-Ursprung in einer vorhandenen Distribution anzuhängen (CLI mit Eingabedatei)
  1. Verwenden Sie den folgenden Befehl, um die Verteilungskonfiguration für die CloudFront Distribution zu speichern, zu der Sie das OAC hinzufügen möchten. Die Distribution muss einen MediaPackage v2-Ursprung haben.

    aws cloudfront get-distribution-config --id <CloudFront distribution ID> --output yaml > dist-config.yaml
  2. Öffnen Sie die Datei mit dem Namen dist-config.yaml, die Sie gerade erstellt haben. Bearbeiten Sie die Datei und nehmen Sie die folgenden Änderungen vor:

    • Fügen Sie im Objekt Origins die ID der OAC dem Feld namens OriginAccessControlId hinzu.

    • Entfernen Sie den Wert aus dem Feld namens OriginAccessIdentity, sofern vorhanden.

    • Benennen Sie das Feld ETag in IfMatch um, ändern Sie jedoch nicht den Wert des Feldes.

    Speichern Sie die Datei, wenn Sie fertig sind.

  3. Verwenden Sie den folgenden Befehl, um die Verteilung zu aktualisieren und die Ursprungszugriffssteuerung zu verwenden.

    aws cloudfront update-distribution --id <CloudFront distribution ID> --cli-input-yaml file://dist-config.yaml

Die Verteilung beginnt mit der Bereitstellung an allen CloudFront Edge-Standorten. Wenn ein Edge-Standort die neue Konfiguration empfängt, signiert er alle Anfragen, die er an den MediaPackage v2-Ursprung sendet.

API

Um ein OAC mit der CloudFront API zu erstellen, verwenden Sie CreateOriginAccessControl. Weitere Informationen zu den Feldern, die Sie in diesem API-Aufruf angeben, finden Sie in der API-Referenzdokumentation für Ihr AWS SDK oder einen anderen API-Client.

Nachdem Sie ein OAC erstellt haben, können Sie es mithilfe eines der folgenden API-Aufrufe an einen MediaPackage v2-Ursprung in einer Distribution anhängen:

Geben Sie für diese beiden API-Aufrufe die OAC-ID in das OriginAccessControlId Feld innerhalb eines Ursprungs ein. Weitere Informationen zu den anderen Feldern, die Sie in diesen API-Aufrufen angeben, finden Sie in Referenz zu Verteilungseinstellungen und in der API-Referenzdokumentation für Ihr AWS SDK oder einen anderen API-Client.

Erweiterte Einstellungen für die Ursprungszugriffssteuerung

Die CloudFront OAC-Funktion umfasst erweiterte Einstellungen, die nur für bestimmte Anwendungsfälle vorgesehen sind. Verwenden Sie die empfohlenen Einstellungen, sofern Sie die erweiterten Einstellungen nicht speziell benötigen.

OAC enthält eine Einstellung mit dem Namen Signaturverhalten (in der Konsole) oder SigningBehavior (in der API, CLI und AWS CloudFormation). Diese Einstellung bietet die folgenden Optionen:

Ursprungsanforderungen immer signieren (empfohlene Einstellung)

Wir empfehlen die Verwendung dieser Einstellung mit der Bezeichnung Sign requests (recommended) (Anforderungen signieren (empfohlen)) in der Konsole bzw. always in der API, CLI und AWS CloudFormation. Mit dieser Einstellung werden CloudFront immer alle Anfragen signiert, die an den MediaPackage v2-Ursprung gesendet werden.

Ursprungsanforderungen nie signieren

Diese Einstellung heißt Do not sign requests (Anforderungen nicht signieren) in der Konsole bzw. never in der API, CLI und AWS CloudFormation. Verwenden Sie diese Einstellung, um OAC für alle Ursprünge in allen Distributionen zu deaktivieren, die dieses OAC verwenden. Dies kann Zeit und Mühe sparen, verglichen mit dem Entfernen eines OAC nacheinander aus allen Origins und Distributionen, die es verwenden. Mit dieser Einstellung signiert CloudFront es keine Anfragen, die es an den MediaPackage v2-Ursprung sendet.

Warnung

Um diese Einstellung verwenden zu können, muss der MediaPackage v2-Ursprung öffentlich zugänglich sein. Wenn Sie diese Einstellung mit einem MediaPackage v2-Ursprung verwenden, der nicht öffentlich zugänglich ist, CloudFront können Sie nicht auf den Ursprung zugreifen. Der MediaPackage v2-Ursprung gibt Fehler an die Zuschauer zurück CloudFront und CloudFront leitet diese Fehler an sie weiter. Weitere Informationen finden Sie im AWS Elemental MediaPackage Benutzerhandbuch MediaPackage im Beispiel für eine MediaPackage v2-Richtlinie für Richtlinien und Berechtigungen.

Viewer (Client)-Authorization-Header nicht überschreiben

Diese Einstellung heißt Do not override authorization header (Autorisierungsheader nicht überschreiben) in der Konsole bzw. no-override in der API, CLI und AWS CloudFormation. Verwenden Sie diese Einstellung, wenn Sie Originalanfragen nur signieren CloudFront möchten, wenn die entsprechende Viewer-Anfrage keinen Authorization Header enthält. Mit dieser Einstellung wird der Authorization Header der Viewer-Anfrage weitergegeben, CloudFront wenn eine vorhanden ist, signiert aber die ursprüngliche Anfrage (fügt einen eigenen Authorization Header hinzu), wenn die Viewer-Anfrage keinen Authorization Header enthält.

Warnung

Um den Authorization Header aus der Viewer-Anfrage weiterzugeben, müssen Sie den Authorization Header zu einer Cache-Richtlinie für alle Cache-Verhaltensweisen hinzufügen, die MediaPackage v2-Ursprünge verwenden, die mit dieser ursprünglichen Zugriffskontrolle verknüpft sind.