View a markdown version of this page

Beschränken Sie den Zugriff auf einen Amazon S3 Multi-Region Access Point-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 Sie den Zugriff auf einen Amazon S3 Multi-Region Access Point-Ursprung

Sie können Origin Access Control (OAC) verwenden, um den Zugriff auf einen Amazon S3 Multi-Region Access Point-Ursprung einzuschränken. S3 Multi-Region Access Points bieten einen globalen Endpunkt, der Anfragen basierend auf der Netzwerklatenz an den nächstgelegenen S3-Bucket weiterleitet.

Anmerkung

OAC mit S3 Multi-Region Access Points wird für MRAP-Endpunkte, die durch Buckets in Opt-in-Regionen unterstützt werden, nicht unterstützt. Anfragen, die an einen Bucket in einer Opt-In-Region weitergeleitet werden, schlagen fehl. Alle mit dem Multi-Region Access Point verknüpften Buckets müssen sich in Regionen befinden, die standardmäßig aktiviert sind.

Informationen zur Verwendung von OAC mit einem standardmäßigen Amazon S3-Bucket-Ursprung finden Sie unter. Beschränken des Zugriffs auf einen Amazon-S3-Ursprung

Voraussetzungen

Bevor Sie OAC erstellen und einrichten, benötigen Sie eine CloudFront Distribution mit einem Amazon S3 Multi-Region Access Point-Ursprung. Der Ursprungsdomänenname muss das S3 Multi-Region Access Point-Hostnamenformat verwenden:

multi-region-access-point-alias.accesspoint.s3-global.amazonaws.com

Weitere Informationen zum Erstellen eines S3 Multi-Region Access Points finden Sie unter Creating Multi-Region Access Points im Amazon Simple Storage Service-Benutzerhandbuch.

Erteilen Sie die CloudFront Erlaubnis, auf den S3 Multi-Region Access Point zuzugreifen

Aktualisieren Sie die Multi-Region Access Point-Richtlinie, um dem CloudFront Service Principal (cloudfront.amazonaws.com) den Zugriff auf den Multi-Region Access Point zu ermöglichen. Verwenden Sie ein Condition Element in der Richtlinie, um den Zugriff auf den Multi-Region Access Point nur dann CloudFront zu gestatten, wenn die Anfrage im Namen der CloudFront Distribution erfolgt, die den Ursprung enthält.

Informationen zum Hinzufügen oder Ändern einer Multi-Region Access Point-Richtlinie finden Sie unter Beispiele für Multi-Region Access Point-Richtlinien im Amazon Simple Storage Service-Benutzerhandbuch.

Beispiel Multi-Region Access Point-Richtlinie für CloudFront OAC
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccess", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap/object/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Erteilen Sie die CloudFront Berechtigung für den Zugriff auf die zugrunde liegenden S3-Buckets

Zusätzlich zur Multi-Region Access Point-Richtlinie müssen Sie auch die CloudFront Zugriffsberechtigung für jeden der zugrunde liegenden S3-Buckets gewähren, die dem Multi-Region Access Point zugeordnet sind. Dafür stehen Ihnen zwei Optionen zur Verfügung:

Wichtig

Sie müssen diese Bucket-Richtlinie jedem S3-Bucket hinzufügen, der dem Multi-Region Access Point zugeordnet ist. Wenn in einem Bucket die Richtlinie fehlt, werden CloudFront Anfragen, die an diesen Bucket weitergeleitet werden, abgelehnt.

Option 1: Gewähren Sie nur Zugriff auf CloudFront

Fügen Sie jedem S3-Bucket eine Bucket-Richtlinie hinzu, die dem CloudFront Dienstprinzipal den Zugriff auf den Bucket ermöglicht. Verwenden Sie diese Option, wenn Sie auch den direkten Zugriff auf den Bucket aus anderen Quellen zulassen müssen.

Beispiel S3-Bucket-Richtlinie für einen zugrunde liegenden Bucket
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccessViaMRAP", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Option 2: Delegieren Sie den vollen Bucket-Zugriff an den Multi-Region Access Point

Gewähren Sie dem Multi-Region Access Point vollen Zugriff auf jeden zugrunde liegenden Bucket. Bei diesem Ansatz wird der gesamte Zugriff auf den Bucket durch die Multi-Region Access Point-Richtlinie gesteuert, was die Zugriffsverwaltung vereinfacht. Wir empfehlen diese Option für Anwendungsfälle, die keinen direkten Zugriff auf den Bucket erfordern.

Beispiel S3-Bucket-Richtlinie, die den Zugriff auf den Multi-Region Access Point delegiert
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateAccessToMRAP", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1", "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointArn": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap" } } } ] }

Weitere Informationen finden Sie im Beispiel für eine Multi-Region Access Point-Richtlinie im Amazon Simple Storage Service-Benutzerhandbuch.

SSE-KMS

Wenn die Objekte in den zugrunde liegenden S3-Buckets mithilfe der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS) verschlüsselt werden, müssen Sie sicherstellen, dass die CloudFront Distribution über die Berechtigung zur Verwendung des AWS KMS Schlüssels verfügt. Da S3 Multi-Region Access Points Anfragen an Buckets in mehreren Regionen weiterleiten können, müssen Sie der KMS-Schlüsselrichtlinie in jeder Region, die ein zugrunde liegender Bucket verwendet, eine Anweisung hinzufügen. SSE-KMS Weitere Informationen zum Ändern einer Schlüsselrichtlinie finden Sie unter Ändern einer Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.

Beispiel Anweisung für die KMS-Schlüsselrichtlinie

Das folgende Beispiel zeigt eine KMS-Schlüsselrichtlinie, die es der CloudFront Verteilung mit OAC ermöglicht, auf einen KMS-Schlüssel für zuzugreifen. SSE-KMS

{ "Sid": "AllowCloudFrontServicePrincipalSSE-KMS", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } }
Wichtig

Sie müssen diese Schlüsselrichtlinienanweisung dem KMS-Schlüssel in jeder Region hinzufügen, in der ein zugrundeliegender S3-Bucket SSE-KMS Verschlüsselung verwendet.

Erstellen der Ursprungszugriffssteuerung

Um eine Origin Access Control (OAC) zu erstellen, können Sie die AWS-Managementkonsole CloudFormation AWS CLI, die oder die CloudFront API verwenden.

Anmerkung

Lambda @Edge -Ursprungsanforderungs-Trigger sind nicht mit Ursprüngen kompatibel, die einen SigV4A-OAC verwenden, unabhängig davon, ob auf den Ursprung direkt oder über eine Ursprungsgruppe zugegriffen wird.

Console
So erstellen Sie eine Ursprungszugriffssteuerung
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Konsole unter. CloudFront https://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 Create control setting (Kontrolleinstellung erstellen) wie folgt vor:

    1. Geben Sie im Bereich Details einen Namen (Name) und (optional) eine Beschreibung (Description) für die Ursprungszugriffssteuerung ein.

    2. 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.

  5. Wählen Sie S3 aus der Dropdownliste für den Origin-Typ aus und wählen Sie die Option SigV4A-Signaturprotokoll verwenden aus.

  6. Wählen Sie Erstellen aus.

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

Um einem S3 Access Point-Ursprung in einer Distribution eine Multi-Region Origin-Zugriffskontrolle hinzuzufügen
  1. Öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Wählen Sie eine Distribution mit einem S3 Multi-Region Access Point-Ursprung, zu der Sie den OAC hinzufügen möchten, und wählen Sie dann die Registerkarte Origins.

  3. Wählen Sie den S3 Multi-Region Access Point-Ursprung aus, zu dem Sie den OAC hinzufügen möchten, und wählen Sie dann Bearbeiten.

  4. Wählen Sie unter Ursprungszugriff die Option Einstellungen der Ursprungszugriffssteuerung (empfohlen) aus.

  5. Wählen Sie im Dropdown-Menü Origin access control (Ursprungszugriffssteuerung) die OAC aus, die Sie verwenden möchten.

  6. 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 S3 Multi-Region Access Point-Ursprung sendet.

CLI

Verwenden Sie den create-origin-access-control-Befehl:

aws cloudfront create-origin-access-control \ --origin-access-control-config '{ "Name": "my-s3-mrap-oac", "Description": "OAC for S3 Multi-Region Access Point", "SigningProtocol": "sigv4a", "SigningBehavior": "always", "OriginAccessControlOriginType": "s3" }'
CloudFormation

Geben Sie die folgenden Werte in das einOriginAccessControlConfig:

  • SigningProtocol: sigv4a

  • SigningBehavior: alwaysnever, oder no-override

  • OriginAccessControlOriginType: s3

Beispiel CloudFormation Vorlage
Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: my-s3-mrap-oac OriginAccessControlOriginType: s3 SigningBehavior: always SigningProtocol: sigv4a

Verhalten beim Signieren

Die Optionen für das Signierungsverhalten für S3 Multi-Region Access Point-Ursprünge sind dieselben wie für reguläre Amazon S3-Bucket-Ursprünge. Weitere Informationen finden Sie unter Erweiterte Einstellungen für die Ursprungszugriffssteuerung Beschränken Sie den Zugriff auf einen Amazon S3-Ursprung.