

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 Amazon-S3-Ursprung
<a name="private-content-restricting-access-to-s3"></a>

CloudFront bietet zwei Möglichkeiten, authentifizierte Anfragen an einen Amazon S3 S3-Ursprung zu senden: *Origin Access Control* (OAC) und *Origin Access Identity* (OAI). OAC hilft Ihnen, Ihre Ursprünge wie Amazon S3 zu sichern. 

Wir *empfehlen* die Verwendung von OAC aufgrund der Unterstützung folgender Funktionen:
+ Alle Amazon S3 S3-Buckets insgesamt AWS-Regionen, einschließlich der Opt-in-Regionen, die nach Dezember 2022 eingeführt wurden
+ [Serverseitige Verschlüsselung mit AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) (SSE-KMS) von Amazon S3
+ Dynamische Anforderungen (`PUT` und `DELETE`) an Amazon S3

OAI unterstützt diese Funktionen nicht oder erfordert in diesen Szenarien zusätzliche Problemumgehungen. Wenn Sie OAI bereits verwenden und zu OAC migrieren möchten, finden Sie weitere Informationen unter [Migration von der Ursprungszugriffsidentität (OAI) zur Ursprungszugriffssteuerung (OAC)](#migrate-from-oai-to-oac).

**Hinweise**  
Wenn Sie CloudFront OAC mit Amazon S3-Bucket-Ursprüngen verwenden, müssen Sie **Amazon S3 Object Ownership** auf **Bucket owner enforced** setzen, die Standardeinstellung für neue Amazon S3 S3-Buckets. Verwenden Sie bei Bedarf die **bevorzugte Einstellung des Bucket-Besitzers ACLs**, um die Kontrolle über Objekte zu behalten, die über hochgeladen werden. CloudFront
Wenn Ihr Ursprung ein Amazon S3 S3-Bucket ist, der als [Website-Endpunkt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html) konfiguriert ist, müssen Sie ihn CloudFront als benutzerdefinierten Ursprung einrichten. Das bedeutet, dass Sie OAC (oder OAI) nicht verwenden können. OAC unterstützt keine Ursprungsweiterleitung mit Lambda@Edge.

In den folgenden Themen wird die Verwendung von OAC mit einem Amazon-S3-Ursprung beschrieben. 

**Topics**
+ [Erstellen einer neuen Ursprungszugriffssteuerung](#create-oac-overview-s3)
+ [Löschen einer Distribution mit einer OAC, die an einen S3-Bucket angehängt ist](#delete-oac-distribution-s3)
+ [Migration von der Ursprungszugriffsidentität (OAI) zur Ursprungszugriffssteuerung (OAC)](#migrate-from-oai-to-oac)
+ [Erweiterte Einstellungen für die Ursprungszugriffssteuerung](#oac-advanced-settings-s3)

## Erstellen einer neuen Ursprungszugriffssteuerung
<a name="create-oac-overview-s3"></a>

Führen Sie die in den folgenden Themen beschriebenen Schritte aus, um eine neue Origin-Zugriffskontrolle in einzurichten CloudFront.

**Topics**
+ [Voraussetzungen](#oac-prerequisites-s3)
+ [Erteilen Sie die CloudFront Erlaubnis, auf den S3-Bucket zuzugreifen](#oac-permission-to-access-s3)
+ [Erstellen der Ursprungszugriffssteuerung](#create-oac-s3)

### Voraussetzungen
<a name="oac-prerequisites-s3"></a>

Bevor Sie Origin Access Control (OAC) erstellen und einrichten, benötigen Sie eine CloudFront Distribution mit einem Amazon S3 S3-Bucket-Ursprung. Dieser Ursprung muss ein regulärer S3-Bucket sein, kein Bucket, der als [Website-Endpunkt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html) konfiguriert wurde. Weitere Informationen zum Einrichten einer CloudFront Distribution mit einem S3-Bucket-Ursprung finden Sie unter[Beginnen Sie mit einer CloudFront Standarddistribution](GettingStarted.SimpleDistribution.md).

**Wichtig**  
Wenn Sie OAC verwenden, um Ihren Amazon S3-Ursprung zu sichern, erfolgt die Kommunikation zwischen Amazon S3 CloudFront und Amazon S3 *immer* über HTTPS, aber nur, wenn Sie sich dafür entscheiden, *Anfragen immer zu signieren*. Sie müssen in der Konsole die Option **Anfragen signieren (empfohlen)** auswählen oder `always` in der CloudFront API angeben, AWS CLI, oder CloudFormation.   
Wenn Sie stattdessen entweder die Option **Anfragen nicht signieren** oder **Autorisierungsheader nicht überschreiben** wählen, CloudFront wird das Verbindungsprotokoll verwendet, das Sie in den folgenden Richtlinien angegeben haben:  
[Viewer-Protokollrichtlinie](using-https-viewers-to-cloudfront.md) 
[Ursprungsprotokollrichtlinie](DownloadDistValuesOrigin.md#DownloadDistValuesOriginProtocolPolicy) (nur benutzerdefinierte Ursprünge)
Wenn Sie beispielsweise „**Autorisierungsheader nicht überschreiben**“ wählen und HTTPS zwischen CloudFront und Ihrem Amazon S3 S3-Ursprung verwenden möchten, verwenden Sie „**HTTP zu HTTPS umleiten**“ oder „**Nur HTTPS**“ für die [Viewer-Protokollrichtlinie](using-https-viewers-to-cloudfront.md).

### Erteilen Sie die CloudFront Erlaubnis, auf den S3-Bucket zuzugreifen
<a name="oac-permission-to-access-s3"></a>

Bevor Sie eine Origin-Zugriffskontrolle (OAC) erstellen oder sie in einer CloudFront Distribution einrichten, stellen Sie sicher, dass diese Person über die Zugriffsberechtigung für den S3-Bucket-Ursprung CloudFront verfügt. Tun Sie dies, nachdem Sie eine CloudFront Distribution erstellt haben, aber bevor Sie das OAC zum S3-Ursprung in der Distributionskonfiguration hinzufügen.

Verwenden Sie eine [S3-Bucket-Richtlinie](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html), um dem CloudFront Dienstprinzipal (`cloudfront.amazonaws.com`) den Zugriff auf den Bucket zu ermöglichen. Verwenden Sie ein `Condition` Element in der Richtlinie, CloudFront um nur dann auf den Bucket zuzugreifen, wenn die Anfrage im Namen der CloudFront Distribution erfolgt, die den S3-Ursprung enthält. Dies ist die Distribution mit dem S3-Ursprung, dem Sie OAC hinzufügen möchten.

Informationen zum Hinzufügen oder Ändern einer Bucket-Richtlinie finden Sie unter [Hinzufügen einer Bucket-Richtlinie mit der Amazon-S3-Konsole](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) im *Amazon-S3-Benutzerhandbuch*.

Im Folgenden finden Sie Beispiele für S3-Bucket-Richtlinien, die einer CloudFront Distribution mit OAC-aktiviertem Zugriff auf einen S3-Ursprung ermöglichen.

**Example S3-Bucket-Richtlinie, die nur Lesezugriff für eine CloudFront Distribution mit aktiviertem OAC ermöglicht**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCloudFrontServicePrincipalReadOnly",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudfront.amazonaws.com"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
      "Condition": {
        "StringEquals": {
          "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/{{<CloudFront distribution ID>}}"
        }
      }
    }
  ]
}
```

**Example S3-Bucket-Richtlinie, die Lese- und Schreibzugriff für eine CloudFront Distribution mit aktiviertem OAC ermöglicht**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCloudFrontServicePrincipalReadWrite",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudfront.amazonaws.com"
      },
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
      "Condition": {
        "StringEquals": {
          "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/{{CloudFront-distribution-ID>}}"
        }
      }
    }
  ]
}
```

#### SSE-KMS
<a name="oac-permissions-sse-kms"></a>

Wenn die Objekte im S3-Bucket-Ursprung mit [serverseitiger Verschlüsselung mit AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) verschlüsselt sind, müssen Sie sicherstellen, dass die CloudFront Distribution über die Berechtigung zur Verwendung des Schlüssels verfügt. AWS KMS Um der CloudFront Distribution die Erlaubnis zur Verwendung des KMS-Schlüssels zu erteilen, fügen Sie der [KMS-Schlüsselrichtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) eine Erklärung hinzu. Weitere Informationen zum Ändern einer Schlüsselrichtlinie finden Sie unter [Ändern einer Schlüsselrichtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) im *AWS Key Management Service -Entwicklerhandbuch*.

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

```
{
    "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>}}"
            }
        }
}
```

### Erstellen der Ursprungszugriffssteuerung
<a name="create-oac-s3"></a>

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

------
#### [ Console ]

**So erstellen Sie eine Ursprungszugriffssteuerung**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudFront Konsole unter[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

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

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

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

   1. 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](#oac-advanced-settings-s3).

1. Wählen Sie „S3“ aus der Dropdown-Liste **Origin type** (Ursprungstyp) aus.

1. Wählen Sie **Erstellen** aus.

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

**So fügen Sie eine Ursprungszugriffssteuerung einem S3-Ursprung in einer Distribution hinzu**

1. Öffnen Sie die CloudFront Konsole unter[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Wählen Sie eine Distribution mit einem S3-Ursprung aus, der Sie die OAC hinzufügen möchten, und wählen Sie dann den Tab **Origins** (Ursprünge) aus.

1. Wählen Sie den S3-Ursprung aus, dem Sie die OAC hinzufügen möchten, und wählen Sie dann **Edit** (Bearbeiten) aus.

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

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

1. Wählen Sie **Änderungen speichern ** aus.

Die Verteilung beginnt mit der Bereitstellung an allen CloudFront Edge-Standorten. Wenn ein Edge-Standort die neue Konfiguration erhält, signiert er alle Anforderungen, die er an den S3-Bucket-Ursprung sendet.

------
#### [ CloudFormation ]

Verwenden Sie den `AWS::CloudFront::OriginAccessControl` Ressourcentyp CloudFormation, um eine Origin Access Control (OAC) mit zu erstellen. Das folgende Beispiel zeigt die 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: s3
      SigningBehavior: always
      SigningProtocol: sigv4
```

Weitere Informationen finden Sie im *AWS CloudFormation Benutzerhandbuch* unter [AWS::CloudFront::OriginAccessSteuerung](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html).

------
#### [ 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
   ```

1. Ö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](#oac-advanced-settings-s3).

1. 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 S3-Bucket-Ursprung in einer CloudFront Distribution hinzuzufügen.

**So fügen Sie eine OAC einem S3-Bucket-Ursprung in einer vorhandenen Distribution an (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 über einen S3-Bucket-Ursprung verfügen.

   ```
   aws cloudfront get-distribution-config --id {{<CloudFront distribution ID>}} --output yaml > dist-config.yaml
   ```

1. Ö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.

1. Verwenden Sie den folgenden Befehl, um die Distribution 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 erhält, signiert er alle Anforderungen, die er an den S3-Bucket-Ursprung sendet.

------
#### [ API ]

Um eine Origin-Zugriffskontrolle mit der CloudFront API zu erstellen, verwenden Sie [CreateOriginAccessControl](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateOriginAccessControl.html). 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 Ursprungszugriffssteuerung erstellt haben, können Sie diese mit einem der folgenden API-Aufrufe an einen S3-Bucket-Ursprung in einer Distribution anfügen:
+ Um es an eine bestehende Distribution anzuhängen, verwenden Sie [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Um es an eine neue Distribution anzuhängen, verwenden Sie [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

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 Distributionseinstellungen](distribution-web-values-specify.md) und in der API-Referenzdokumentation für Ihr AWS SDK oder einen anderen API-Client.

------

## Löschen einer Distribution mit einer OAC, die an einen S3-Bucket angehängt ist
<a name="delete-oac-distribution-s3"></a>

Wenn Sie eine Distribution löschen müssen, deren OAC an einen S3-Bucket angehängt ist, sollten Sie die Distribution löschen, bevor Sie den S3-Bucket-Ursprung löschen. Alternativ können Sie die Region in den ursprünglichen Domainnamen aufnehmen. Wenn dies nicht möglich ist, können Sie die OAC aus der Distribution entfernen, indem Sie vor dem Löschen auf den öffentlichen Zugriff wechseln. Weitere Informationen finden Sie unter [Löschen einer -Verteilung](HowToDeleteDistribution.md).

## Migration von der Ursprungszugriffsidentität (OAI) zur Ursprungszugriffssteuerung (OAC)
<a name="migrate-from-oai-to-oac"></a>

Um von einer Legacy-Ursprungszugriffsidentität (OAI) zu einer Ursprungszugriffssteuerung (OAC) zu migrieren, aktualisieren Sie zunächst den S3-Bucket-Ursprung so, dass sowohl die OAI als auch die Distribution mit aktivierter OAC auf den Inhalt des Buckets zugreifen können. Dadurch wird sichergestellt, dass während der Umstellung CloudFront nie der Zugriff auf den Bucket verloren geht. Um sowohl OAI als auch der Distribution mit aktivierter OAC den Zugriff auf einen S3-Bucket zu ermöglichen, aktualisieren Sie die [Bucket-Richtlinie](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) und nehmen Sie zwei Anweisungen auf, eine für jede Art von Prinzipal.

Die folgende Beispiel-S3-Bucket-Richtlinie ermöglicht sowohl einer OAI als auch einer Distribution mit aktivierter OAC den Zugriff auf einen S3-Ursprung.

**Example S3-Bucket-Richtlinie, die nur Lesezugriff für eine OAI und eine CloudFront Distribution mit aktiviertem OAC ermöglicht**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCloudFrontServicePrincipalReadOnly",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudfront.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{<S3 bucket name>}}/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudfront::{{111122223333}}:distribution/{{<CloudFront distribution ID>}}"
                }
            }
        },
        {
            "Sid": "AllowLegacyOAIReadOnly",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{<origin access identity ID>}}"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{<S3 bucket name>}}/*"
        }
    ]
}
```

Nachdem Sie die Bucket-Richtlinie des S3-Ursprungs aktualisiert haben, um den Zugriff sowohl für OAI als auch für OAC zu ermöglichen, können Sie die Distributionskonfiguration so aktualisieren, dass OAC anstelle von OAI verwendet wird. Weitere Informationen finden Sie unter [Erstellen einer neuen Ursprungszugriffssteuerung](#create-oac-overview-s3).

Nachdem die Distribution vollständig bereitgestellt wurde, können Sie die Anweisung in der Bucket-Richtlinie, die den Zugriff für die OAI ermöglicht, entfernen. Weitere Informationen finden Sie unter [Erteilen Sie die CloudFront Erlaubnis, auf den S3-Bucket zuzugreifen](#oac-permission-to-access-s3).

## Erweiterte Einstellungen für die Ursprungszugriffssteuerung
<a name="oac-advanced-settings-s3"></a>

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 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 CloudFormation. Mit dieser Einstellung signiert es CloudFront immer alle Anfragen, die es an den S3-Bucket-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 CloudFormation. Verwenden Sie diese Einstellung, um die Ursprungszugriffssteuerung für alle Ursprünge in allen Distributionen zu deaktivieren, die diese Ursprungszugriffssteuerung verwenden. Auf diese Weise lässt sich im Vergleich zum einzelnen Entfernen einer Ursprungszugriffssteuerung aus allen Ursprüngen und Distributionen, die diese verwenden, Zeit und Aufwand sparen. Mit dieser Einstellung signiert es CloudFront keine Anfragen, die es an den S3-Bucket-Ursprung sendet.  
Um diese Einstellung verwenden zu können, muss der S3-Bucket-Ursprung öffentlich zugänglich sein. Wenn Sie diese Einstellung mit einem S3-Bucket-Ursprung verwenden, der nicht öffentlich zugänglich ist, CloudFront können Sie nicht auf den Ursprung zugreifen. Der S3-Bucket-Ursprung gibt Fehler zurück CloudFront und CloudFront leitet diese Fehler an die Zuschauer weiter.

**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 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-Anforderung zu übergeben, *müssen* Sie den `Authorization`-Header zu einer [Cache-Richtlinie](controlling-the-cache-key.md) für alle Cache-Verhaltensweisen hinzufügen, die S3-Bucket-Ursprünge verwenden, die dieser Ursprungszugriffssteuerung zugeordnet sind.

## Verwenden einer Ursprungszugriffsidentität (Legacy, nicht empfohlen)
<a name="private-content-restricting-access-to-s3-oai"></a>

### Übersicht über das die Ursprungszugriffsidentität
<a name="private-content-restricting-access-to-s3-overview"></a>

CloudFront *Origin Access Identity* (OAI) bietet ähnliche Funktionen wie *Origin Access Control* (OAC), funktioniert aber nicht für alle Szenarien. Insbesondere unterstützt OAI Folgendes nicht:
+ Amazon S3 S3-Buckets in allen Regionen AWS-Regionen, einschließlich optionaler Regionen
+ [Serverseitige Verschlüsselung mit AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) (SSE-KMS) von Amazon S3
+ Dynamische Anforderungen (`PUT`, `POST` oder `DELETE`) an Amazon S3
+ Nach Januar 2023 neu AWS-Regionen auf den Markt gebracht

**Tipp**  
Stattdessen empfehlen wir, OAC zu verwenden. Informationen zum Einrichten von OAC finden Sie unter [Erstellen einer neuen Ursprungszugriffssteuerung](#create-oac-overview-s3). Weitere Informationen zur Migration von OAI zu OAC finden Sie unter [Migration von der Ursprungszugriffsidentität (OAI) zur Ursprungszugriffssteuerung (OAC)](#migrate-from-oai-to-oac).

### Erteilen der Berechtigung zum Lesen von Dateien im Amazon-S3-Bucket für eine Ursprungszugriffsidentität
<a name="private-content-granting-permissions-to-oai"></a>

Wenn Sie mit der CloudFront Konsole eine OAI erstellen oder einer Distribution hinzufügen, können Sie die Amazon S3 S3-Bucket-Richtlinie automatisch aktualisieren, um der OAI Zugriff auf Ihren Bucket zu gewähren. Alternativ können Sie die Bucket-Richtlinie manuell erstellen oder aktualisieren. Unabhängig davon, welche Methode Sie verwenden, sollten Sie die Berechtigungen dennoch überprüfen, um Folgendes sicherzustellen:
+ Ihre CloudFront OAI kann im Namen von Zuschauern, die sie anfordern, auf Dateien im Bucket zugreifen. CloudFront
+ Zuschauer können Amazon S3 nicht verwenden URLs , um außerhalb von auf Ihre Dateien zuzugreifen CloudFront.

**Wichtig**  
Wenn Sie so konfigurieren CloudFront , dass alle CloudFront unterstützten HTTP-Methoden akzeptiert und weitergeleitet werden, stellen Sie sicher, dass Sie Ihrer CloudFront OAI die gewünschten Berechtigungen erteilen. Wenn Sie beispielsweise so konfigurieren CloudFront , dass Anfragen, die diese `DELETE` Methode verwenden, angenommen und weitergeleitet werden, konfigurieren Sie Ihre Bucket-Richtlinie so, dass `DELETE` Anfragen entsprechend behandelt werden, sodass Zuschauer nur Dateien löschen können, die Sie möchten.

#### Verwenden von Richtlinien für Amazon-S3-Buckets
<a name="private-content-updating-s3-bucket-policies"></a>

Sie können einer CloudFront OAI Zugriff auf Dateien in einem Amazon S3 S3-Bucket gewähren, indem Sie die Bucket-Richtlinie auf folgende Weise erstellen oder aktualisieren:
+ Verwenden des Tabs **Permissions** (Berechtigungen) des Amazon-S3-Buckets in der [Amazon-S3-Konsole](https://console.aws.amazon.com/s3/home).
+ Verwendung [PutBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html)in der Amazon S3 S3-API.
+ Verwenden der [CloudFront-Konsole](https://console.aws.amazon.com/cloudfront/v4/home) Wenn Sie Ihren Origin-Einstellungen in der CloudFront Konsole eine OAI hinzufügen, können Sie **Ja, die Bucket-Richtlinie aktualisieren wählen,** CloudFront um mitzuteilen, dass die Bucket-Richtlinie in Ihrem Namen aktualisiert werden soll.

Wenn Sie die Bucket-Richtlinie manuell aktualisieren, stellen Sie Folgendes sicher:
+ Geben Sie die korrekte OAI als das `Principal` in der Richtlinie an.
+ Erteilen Sie der OAI die Berechtigungen, die es für den Zugriff auf Objekte im Auftrag von Viewern benötigt.

Weitere Informationen finden Sie in den folgenden Abschnitten.

##### Eine OAI als den `Principal` in einer Bucket-Richtlinie angeben
<a name="private-content-updating-s3-bucket-policies-principal"></a>

Um eine OAI als `Principal` in einer Amazon-S3-Bucket-Richtlinie anzugeben, verwenden Sie den Amazon-Ressourcennamen (ARN) der OAI, der die ID der OAI enthält. Beispiel:

```
"Principal": {
    "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{<origin access identity ID>}}"
}
```

Finde die OAI-ID in der CloudFront Konsole unter **Sicherheit**, **Origin-Zugriff**, **Identitäten (**veraltet). Alternativ können Sie sie [ListCloudFrontOriginAccessIdentities](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html)in der CloudFront API verwenden.

##### Erteilen von Berechtigungen für eine OAI
<a name="private-content-updating-s3-bucket-policies-permissions"></a>

Um der OAI die Berechtigungen für den Zugriff auf Objekte in Ihrem Amazon-S3-Bucket zu erteilen, verwenden Sie Aktionen in der Richtlinie, die sich auf bestimmte Amazon-S3-API-Operationen beziehen. Die `s3:GetObject`-Aktion ermöglicht es der OAI beispielsweise, Objekte im Bucket zu lesen. Weitere Informationen finden Sie in den Beispielen im folgenden Abschnitt oder unter [Amazon S3-Aktionen](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) im *Benutzerhandbuch zu Amazon Simple Storage Service*.

##### Beispiele für Amazon-S3-Bucket-Richtlinien
<a name="private-content-updating-s3-bucket-policies-examples"></a>

Die folgenden Beispiele zeigen Amazon S3 S3-Bucket-Richtlinien, die es CloudFront OAI ermöglichen, auf einen S3-Bucket zuzugreifen.

Suchen Sie die OAI-ID in der CloudFront Konsole unter **Sicherheit**, **Origin-Zugriff**, **Identitäten (**veraltet). Alternativ können Sie sie [ListCloudFrontOriginAccessIdentities](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html)in der CloudFront API verwenden.

**Example Amazon-S3-Bucket-Richtlinie, die der OAI Lesezugriff gewährt**  
Im folgenden Beispiel kann die OAI Objekte im angegebenen Bucket (`s3:GetObject`) lesen.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{<origin access identity ID>}}"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{<S3 bucket name>}}/*"
        }
    ]
}
```

**Example Amazon-S3-Bucket-Richtlinie, die der OAI Lese- und Schreibzugriff gewährt**  
Im folgenden Beispiel kann die OAI Objekte im angegebenen Bucket (`s3:GetObject` und `s3:PutObject`) lesen und schreiben. Auf diese Weise können Zuschauer Dateien in Ihren Amazon S3 S3-Bucket hochladen CloudFront.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{<origin access identity ID>}}"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::{{<S3 bucket name>}}/*"
        }
    ]
}
```

#### Amazon S3 S3-Objekt verwenden ACLs (nicht empfohlen)
<a name="private-content-updating-s3-acls"></a>

**Wichtig**  
Es wird empfohlen, [Amazon-S3-Bucket-Richtlinien zu verwenden](#private-content-updating-s3-bucket-policies), um einer OAI Zugriff auf einen S3-Bucket zu gewähren. Sie können Zugriffskontrolllisten (ACLs) wie in diesem Abschnitt beschrieben verwenden, wir empfehlen dies jedoch nicht.  
Amazon S3 empfiehlt, [S3 Object Ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) auf **Bucket Owner Enforced** zu setzen, was bedeutet, dass diese für den Bucket und die darin enthaltenen Objekte deaktiviert ACLs sind. Wenn Sie diese Einstellung für Objekteigentümerschaft anwenden, müssen Sie Bucket-Richtlinien verwenden, um Zugriff auf die OAI zu gewähren (siehe vorheriger Abschnitt).  
Der folgende Abschnitt bezieht sich nur auf ältere Anwendungsfälle, die dies erfordern ACLs.

Sie können einer CloudFront OAI Zugriff auf Dateien in einem Amazon S3 S3-Bucket gewähren, indem Sie die ACL der Datei auf folgende Weise erstellen oder aktualisieren:
+ Verwenden des Tabs **Permissions** (Berechtigungen) des Amazon-S3-Objekts in der [Amazon-S3-Konsole](https://console.aws.amazon.com/s3/home).
+ Verwendung [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)in der Amazon S3 S3-API.

Wenn Sie einer OAI über eine ACL Zugriff gewähren, müssen Sie die OAI mit seiner kanonischen Amazon-S3-Benutzer-ID angeben. In der CloudFront Konsole finden Sie diese ID unter **Sicherheit**, **Origin-Zugriff**, **Identitäten (veraltet)**. Wenn Sie die CloudFront API verwenden, verwenden Sie den Wert des `S3CanonicalUserId` Elements, das bei der Erstellung der OAI zurückgegeben wurde, oder rufen Sie die CloudFront API [ListCloudFrontOriginAccessIdentities](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html)auf.

### Verwenden einer Ursprungszugriffsidentität in Amazon-S3-Regionen, die nur die Authentifizierung mittels Signature Version 4 unterstützen
<a name="private-content-origin-access-identity-signature-version-4"></a>

In neueren Amazon-S3-Regionen ist es erforderlich, Signature Version 4 für authentifizierte Anforderungen zu verwenden. (Informationen zu den Signaturversionen, die in jeder Amazon-S3-Region unterstützt werden, finden Sie unter [Amazon-Simple-Storage-Service-Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/s3.html) in der *Allgemeine AWS-Referenz*.) Wenn Sie eine Ursprungszugriffsidentität verwenden und sich Ihr Bucket in einer der Regionen befindet, die Signature Version 4 erfordert, beachten Sie Folgendes:
+ `DELETE`-, `GET`-, `HEAD`-, `OPTIONS`- und `PATCH`-Anfragen werden ohne Einschränkungen unterstützt.
+ `POST`-Anfragen werden nicht unterstützt.