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 Sie den Zugriff auf einen AWS Elemental MediaStore Ursprung
CloudFront bietet Origin Access Control (OAC), um den Zugriff auf einen Ursprung einzuschränken. AWS Elemental MediaStore
Führen Sie die in den folgenden Themen beschriebenen Schritte aus, um eine neue Origin-Zugriffskontrolle in einzurichten CloudFront.
Bevor Sie die Origin-Zugriffskontrolle erstellen und einrichten, müssen Sie über eine CloudFront Distribution mit einem MediaStore Ursprung verfügen.
Bevor du eine Zugriffskontrolle für den Ursprung erstellst oder sie in einer CloudFront Distribution einrichtest, vergewissere dich, dass diese CloudFront Person über Zugriffsberechtigungen für den MediaStore Ursprung verfügt. Tun Sie dies, nachdem Sie eine CloudFront Distribution erstellt haben, aber bevor Sie das OAC zum MediaStore Ursprung in der Distributionskonfiguration hinzufügen.
Verwenden Sie eine MediaStore Container-Richtlinie, um dem CloudFront Dienstprinzipal (cloudfront.amazonaws.com
) den Zugriff auf den Ursprung zu ermöglichen. Verwenden Sie ein Condition
Element in der Richtlinie, um nur dann Zugriff auf den MediaStore Container CloudFront zu gewähren, wenn die Anfrage im Namen der CloudFront Distribution erfolgt, die den MediaStore Ursprung enthält. Dies ist die Distribution mit dem MediaStore Ursprung, zu der Sie OAC hinzufügen möchten.
Im Folgenden finden Sie Beispiele für MediaStore Container-Richtlinien, die es einer CloudFront Distribution ermöglichen, auf einen MediaStore Ursprung zuzugreifen.
Beispiel MediaStore Container-Richtlinie, die schreibgeschützten Zugriff für eine CloudFront Distribution mit aktiviertem OAC ermöglicht
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipalReadOnly",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": [
"mediastore:GetObject"
],
"Resource": "arn:aws:mediastore:us-east-1
:111122223333
:container/<container name>
/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::111122223333
:distribution/CloudFront-distribution-ID
"
},
"Bool": {
"aws:SecureTransport": "true"
}
}
}
]
}
Beispiel MediaStore Container-Richtlinie, die Lese- und Schreibzugriff für eine CloudFront Distribution mit aktiviertem OAC ermöglicht
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipalReadWrite",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": [
"mediastore:GetObject",
"mediastore:PutObject"
],
"Resource": "arn:aws:mediastore:us-east-1
:111122223333
:container/container-name
/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::111122223333
:distribution/CloudFront-distribution-ID
"
},
"Bool": {
"aws:SecureTransport": "true"
}
}
}
]
}
Um Schreibzugriff zu ermöglichen, müssen Sie die zulässigen HTTP-Methoden so konfigurieren, dass sie PUT
in die Verhaltenseinstellungen Ihrer CloudFront Distribution aufgenommen werden.
Um ein OAC zu erstellen, können Sie die AWS Management Console, AWS CloudFormation AWS CLI, oder die CloudFront API verwenden.
- Console
-
So erstellen Sie eine Ursprungszugriffssteuerung
Melden Sie sich bei der an AWS Management Console und öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home.
-
Wählen Sie im Navigationsbereich Origin access (Ursprungszugriff) aus.
-
Wählen Sie Create control setting (Kontrolleinstellung erstellen) aus.
-
Gehen Sie im Formular Create control setting (Kontrolleinstellung erstellen) wie folgt vor:
-
Geben Sie im Bereich Details einen Namen (Name) und (optional) eine Beschreibung (Description) für die Ursprungszugriffssteuerung ein.
-
Es empfiehlt sich, im Bereich Settings (Einstellungen) die Standardeinstellung (Sign requests (recommended)) (Anforderungen signieren (empfohlen)) zu belassen. Weitere Informationen finden Sie unter Erweiterte Einstellungen für die Ursprungszugriffssteuerung.
-
Wählen Sie MediaStore aus der Drop-down-Liste „Origin-Typ“ aus.
-
Wählen Sie Erstellen aus.
Nachdem die OAC erstellt wurde, notieren Sie sich den Namen. Sie benötigen diesen im folgenden Verfahren.
Um einem Ursprung in einer Distribution eine MediaStore Ursprungszugriffskontrolle hinzuzufügen
Öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home.
-
Wählen Sie eine Distribution mit einem MediaStore Ursprung aus, zu dem Sie das OAC hinzufügen möchten, und wählen Sie dann den Tab Origins.
-
Wählen Sie den MediaStore Ursprung aus, dem Sie das OAC hinzufügen möchten, und klicken Sie dann auf Bearbeiten.
-
Wählen Sie HTTPS only (Nur HTTPS) für Protocol (Protokoll) Ihres Ursprungs aus.
-
Wählen Sie im Dropdown-Menü Origin access control (Ursprungszugriffssteuerung) die OAC aus, die Sie verwenden möchten.
-
Wählen Sie Änderungen speichern aus.
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 MediaStore Bucket-Ursprung sendet.
- CloudFormation
-
Verwenden Sie den AWS::CloudFront::OriginAccessControl
Ressourcentyp AWS CloudFormation, um eine Origin-Zugriffskontrolle (OAC) zu erstellen. Das folgende Beispiel zeigt die AWS CloudFormation Vorlagensyntax im YAML-Format für die Erstellung einer Origin-Zugriffskontrolle.
Type: AWS::CloudFront::OriginAccessControl
Properties:
OriginAccessControlConfig:
Description: An optional description for the origin access control
Name: ExampleOAC
OriginAccessControlOriginType: mediastore
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)
-
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
-
Ö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.
-
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 MediaStore Ursprung in einer CloudFront Distribution hinzuzufügen.
Um ein OAC an einen MediaStore Ursprung in einer vorhandenen Distribution anzuhängen (CLI mit Eingabedatei)
-
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 Verteilung muss einen MediaStore Ursprung haben.
aws cloudfront get-distribution-config --id <CloudFront distribution ID>
--output yaml > dist-config.yaml
-
Ö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.
-
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 MediaStore Ursprung sendet.
- API
-
Um mit der CloudFront API eine Origin-Zugriffskontrolle 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 eine Origin-Zugriffskontrolle erstellt haben, können Sie sie mithilfe eines der folgenden API-Aufrufe an einen MediaStore Ursprung in einer Distribution anhängen:
Geben Sie für beide API-Aufrufe die ID der Ursprungszugriffssteuerung im Feld OriginAccessControlId
innerhalb eines Ursprungs an. Weitere Informationen zu den anderen Feldern, die Sie in diesen API-Aufrufen angeben, finden Sie unter Referenz für alle Verteilungseinstellungen und in der API-Referenzdokumentation für Ihr AWS SDK oder einen anderen API-Client.
Die CloudFront Origin-Zugriffskontrollfunktion 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.
Die Origin-Zugriffskontrolle enthält eine Einstellung namens 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 signiert es CloudFront immer alle Anfragen, die es an den MediaStore Ursprung sendet.
- 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 die Ursprungszugriffssteuerung für alle Ursprünge in allen Verteilungen zu deaktivieren, die diese Ursprungszugriffssteuerung verwenden. Auf diese Weise lässt sich im Vergleich zum einzelnen Entfernen einer Ursprungszugriffssteuerung aus allen Ursprüngen und Verteilungen, die diese verwenden, Zeit und Aufwand sparen. Mit dieser Einstellung signiert es CloudFront keine Anfragen, die es an den MediaStore Ursprung sendet.
Um diese Einstellung verwenden zu können, muss der MediaStore Ursprung öffentlich zugänglich sein. Wenn Sie diese Einstellung mit einem MediaStore Ursprung verwenden, der nicht öffentlich zugänglich ist, CloudFront können Sie nicht auf den Ursprung zugreifen. Der MediaStore Ursprung gibt Fehler zurück CloudFront und CloudFront leitet diese Fehler an die Zuschauer weiter. Weitere Informationen finden Sie in der MediaStore Beispiel-Container-Richtlinie für öffentlichen Lesezugriff über HTTPS.
- 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 ursprüngliche Anfragen 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.
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 MediaStore Ursprünge verwenden, die mit dieser ursprünglichen Zugriffskontrolle verknüpft sind.