

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.

# Aktivieren der Zugriffsprotokolle für Ihren Application Load Balancer
<a name="enable-access-logging"></a>

Wenn Sie die Zugriffsprotokolle für Ihren Load Balancer aktivieren, müssen Sie den Namen des S3-Bucket angeben, in dem der Load Balancer die Protokolle speichert. Der Bucket muss über eine Bucket-Richtlinie verfügen, die Elastic Load Balancing die Berechtigung zum Schreiben in den Bucket gewährt.

**Topics**
+ [Schritt 1: Einen S3-Bucket erstellen](#access-log-create-bucket)
+ [Schritt 2: Hinzufügen von Richtlinien zu Ihrem S3-Bucket](#attach-bucket-policy)
+ [Schritt 3: Konfigurieren von Zugriffsprotokollen](#enable-access-logs)
+ [Schritt 4: Überprüfen der Bucket-Berechtigungen](#verify-bucket-permissions)
+ [Fehlerbehebung](#bucket-permissions-troubleshooting)

## Schritt 1: Einen S3-Bucket erstellen
<a name="access-log-create-bucket"></a>

Wenn Sie Zugriffsprotokolle aktivieren, müssen Sie einen S3-Bucket für die Zugriffsprotokolle angeben. Sie können einen vorhandenen Bucket verwenden oder einen Bucket speziell für Zugriffsprotokolle erstellen. Der Bucket muss die folgenden Anforderungen erfüllen.

**Voraussetzungen**
+ Der Bucket muss sich in derselben Region wie der Load Balancer befinden. Der Bucket und der Load Balancer können verschiedenen Konten gehören.
+ Die einzige serverseitige Verschlüsselungsoption, die unterstützt wird, sind von Amazon S3 verwaltete Schlüssel (SSE-S3). Weitere Informationen finden Sie unter [Amazon-S3-verwaltete Verschlüsselungsschlüssel (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Erstellen eines S3-Buckets mithilfe der Amazon-S3-Konsole**

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Führen Sie auf der Seite **Create bucket (Bucket erstellen)** die folgenden Schritte aus:

   1. Geben Sie unter **Bucket Name (Bucket-Name)** einen Namen für den Bucket ein. Dieser Name muss unter den in Amazon S3 vorhandenen Bucket-Namen eindeutig sein. In einigen Regionen kann es zusätzliche Einschränkungen für Bucket-Namen geben. Weitere Informationen finden Sie unter [Bucket-Einschränkungen und Einschränkungen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) im *Amazon S3 S3-Benutzerhandbuch*.

   1. Wählen Sie unter **AWS -Region** die Region aus, in der Sie Ihren Load Balancer erstellt haben.

   1. Wählen Sie für **Standardverschlüsselung** die Option **Von Amazon S3 verwaltete Schlüssel (SSE-S3)** aus.

   1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

## Schritt 2: Hinzufügen von Richtlinien zu Ihrem S3-Bucket
<a name="attach-bucket-policy"></a>

Der S3-Bucket muss über eine Bucket-Richtlinie verfügen, die Elastic Load Balancing die Berechtigung zum Schreiben von Zugriffsprotokollen in den Bucket gewährt. Bucket-Richtlinien sind eine Sammlung von JSON-Anweisungen, die in der Sprache der Zugriffsrichtlinie geschrieben sind, um Zugriffsberechtigungen für Ihre Buckets zu definieren. Jeder Anweisung enthält Informationen über eine einzelne Berechtigung und besteht aus einer Reihe von Elementen.

Wenn Sie einen vorhandenen Bucket verwenden, dem bereits eine Richtlinie angehängt ist, können Sie die Anweisung für Zugriffsprotokolle von Elastic Load Balancing zu der Richtlinie hinzufügen. Wenn Sie dies tun, empfehlen wir, dass Sie eine Beurteilung der daraus resultierenden Berechtigungen vornehmen, um sicherzustellen, dass sie für die Benutzer geeignet sind, die Zugriff auf die Bucket-Zugriffsprotokolle benötigen.

### Bucket-Richtlinie
<a name="bucket-policy-logdelivery"></a>

Diese Richtlinie gewährt dem Protokolllieferdienst Berechtigungen.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Geben Sie unter Verwendung des in der Beispielrichtlinie angegebenen Formats den ARN des Speicherorts für die Zugriffsprotokolle ein. `Resource` Geben Sie immer die Konto-ID des Kontos beim Load Balancer in den Ressourcenpfad des S3-Bucket-ARN ein. Dadurch wird sichergestellt, dass nur Load Balancer des angegebenen Kontos Zugriffsprotokolle in den S3-Bucket schreiben können.

Der von Ihnen angegebene ARN hängt davon ab, ob Sie bei der Aktivierung von Zugriffsprotokollen in [Schritt 3](#enable-access-logs) ein Präfix angeben möchten.

**Beispiel für einen S3-Bucket-ARN mit einem Präfix**  
Der S3-Bucket-Name ist amzn-s3-demo-logging-bucket und das Präfix istlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— Das folgende Beispiel verwendet die ARN-Syntax für AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Beispiel für einen S3-Bucket-ARN ohne Präfix**  
Der Name des S3-Buckets lautetamzn-s3-demo-logging-bucket. Der S3-Bucket-ARN enthält keinen Präfixteil.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— Das folgende Beispiel verwendet die ARN-Syntax für AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Legacy-Bucket-Richtlinie
<a name="legacy-bucket-policy"></a>

Bisher benötigten wir für Regionen, die vor August 2022 verfügbar waren, eine Richtlinie, die Berechtigungen für ein Elastic Load Balancing Balancing-Konto gewährte, das spezifisch für die Region war. Diese alte Richtlinie wird weiterhin unterstützt, wir empfehlen jedoch, sie durch die neuere Richtlinie oben zu ersetzen. Wenn Sie es vorziehen, weiterhin die alte Richtlinie zu verwenden, die hier nicht aufgeführt ist, können Sie dies tun.

 Als Referenz finden Sie hier die IDs Elastic Load Balancing Balancing-Konten, die Sie `Principal` in der Legacy-Richtlinie angeben müssen. Beachten Sie, dass Regionen, die nicht in dieser Liste aufgeführt sind, die alte Richtlinie nicht unterstützen.
+ USA Ost (Nord-Virginia) – 127311923021
+ USA Ost (Ohio) – 033677994240
+ USA West (Nordkalifornien) – 027434742980
+ USA West (Oregon) – 797873946194
+ Afrika (Kapstadt) – 098369216593
+ Asien-Pazifik (Hongkong) – 754344448648
+ Asien-Pazifik (Jakarta) – 589379963580
+ Asien-Pazifik (Mumbai) – 718504428378
+ Asien-Pazifik (Osaka) – 383597477331
+ Asien-Pazifik (Seoul) – 600734575887
+ Asien-Pazifik (Singapur) – 114774131450
+ Asien-Pazifik (Sydney) – 783225319266
+ Asien-Pazifik (Tokio) – 582318560864
+ Kanada (Zentral) – 985666609251
+ Europa (Frankfurt) – 054676820928
+ Europa (Irland) – 156460612806
+ Europa (London) – 652711504416
+ Europa (Mailand) – 635631232127
+ Europa (Paris) – 009996457667
+ Europa (Stockholm) – 897822967062
+ Naher Osten (Bahrain) – 076674570225
+ Südamerika (São Paulo) – 507241528517
+ AWS GovCloud (US-Ost) — 190560391635
+ AWS GovCloud (US-West) — 048591011584

### Outposts-Zonen
<a name="bucket-policy-outposts"></a>

Die folgende Richtlinie erteilt Berechtigungen für den angegebenen Protokoll-Bereitstellungsdienst. Verwenden Sie diese Richtlinie für Load Balancer in Outposts-Zonen.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*",
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Geben Sie unter Verwendung des in der Beispielrichtlinie angegebenen Formats den ARN des Speicherorts für die Zugriffsprotokolle ein. `Resource` Geben Sie immer die Konto-ID des Kontos beim Load Balancer in den Ressourcenpfad des S3-Bucket-ARN ein. Dadurch wird sichergestellt, dass nur Load Balancer des angegebenen Kontos Zugriffsprotokolle in den S3-Bucket schreiben können.

Der von Ihnen angegebene S3-Bucket-ARN hängt davon ab, ob Sie bei der Aktivierung von Zugriffsprotokollen in [Schritt 3](#enable-access-logs) ein Präfix angeben möchten.

**Beispiel für einen S3-Bucket-ARN mit einem Präfix**  
Der S3-Bucket-Name ist amzn-s3-demo-logging-bucket und das Präfix istlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Beispiel für einen S3-Bucket-ARN ohne Präfix**  
Der Name des S3-Buckets lautetamzn-s3-demo-logging-bucket. Der S3-Bucket-ARN enthält keinen Präfixteil.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Bewährte Methoden für die Gewährleistung der Sicherheit
<a name="bucket-policy-security-best-practices"></a>
+ Verwenden Sie den vollständigen Ressourcenpfad, einschließlich des Konto-ID-Teils des S3-Bucket-ARN. Verwenden Sie keine Platzhalter (\$1) im Konto-ID-Teil des S3-Bucket-ARN.

  ```
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
  ```
+ Verwenden Sie diese Option, `aws:SourceArn` um sicherzustellen, dass nur Load Balancer aus der angegebenen Region und dem angegebenen Konto Ihren Bucket verwenden können.

  ```
  "Condition": {
      "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticloadbalancing:region:123456789012:loadbalancer/*"
      }
  }
  ```
+ Verwenden Sie `aws:SourceOrgId` with`aws:SourceArn`, um sicherzustellen, dass nur Load Balancer der angegebenen Organisation Ihren Bucket verwenden können.

  ```
  "Condition": {
      "StringEquals": {
          "aws:SourceOrgId": "o-1234567890"
      },
      "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticloadbalancing:*:*:loadbalancer/*"
      }
  }
  ```
+ Wenn Sie über eine `Deny` Anweisung verfügen, die den Zugriff auf Service Principals mit Ausnahme der ausdrücklich erlaubten verhindert, sollten Sie dies der Liste der erlaubten Service Principals hinzufügen`logdelivery.elasticloadbalancing.amazonaws.com`. Wenn Sie beispielsweise die `aws:PrincipalServiceNamesList` Bedingung verwendet haben, fügen Sie Folgendes hinzu`logdelivery.elasticloadbalancing.amazonaws.com`:

  ```
  {
    "Effect": "Deny",
    "Principal": "*",
    "Condition": {
        "StringNotEqualsIfExists": {
            "aws:PrincipalServiceNamesList": [
                "logdelivery.elasticloadbalancing.amazonaws.com",
                "service.amazonaws.com"
            ]
        }
    }
  }
  ```

  Wenn Sie das `NotPrincipal` Element verwendet haben, fügen Sie es `logdelivery.elasticloadbalancing.amazonaws.com` wie folgt hinzu. Beachten Sie, dass wir empfehlen, den `aws:PrincipalServiceNamesList` Bedingungsschlüssel `aws:PrincipalServiceName` oder zu verwenden, um Serviceprinzipale explizit zuzulassen, anstatt das `NotPrincipal` Element zu verwenden. Weitere Informationen finden Sie unter [NotPrincipal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notprincipal.html).

  ```
  {
    "Effect": "Deny",
    "NotPrincipal": {
      "Service": [
         "logdelivery.elasticloadbalancing.amazonaws.com",
         "service.amazonaws.com"
      ]
    }
  },
  ```

Nachdem Sie Ihre Bucket-Richtlinie erstellt haben, verwenden Sie eine Amazon S3 S3-Schnittstelle, z. B. die Amazon S3 S3-Konsole oder AWS CLI Befehle, um Ihre Bucket-Richtlinie an Ihren S3-Bucket anzuhängen.

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

**Um Ihre Bucket-Richtlinie an Ihren S3-Bucket anzuhängen**

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie den Namen des Buckets aus, um seine Detailseite zu öffnen.

1. Wählen Sie **Berechtigungen** und anschließend **Bucket-Richtlinie**, **Bearbeiten** aus.

1. Aktualisieren Sie die Bucket-Richtlinie, um die erforderlichen Berechtigungen zu gewähren.

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

------
#### [ AWS CLI ]

**Um Ihre Bucket-Richtlinie an Ihren S3-Bucket anzuhängen**  
Verwenden Sie den Befehl [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). In diesem Beispiel wurde die Bucket-Richtlinie in der angegebenen .json-Datei gespeichert.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Schritt 3: Konfigurieren von Zugriffsprotokollen
<a name="enable-access-logs"></a>

Verwenden Sie das folgende Verfahren, um Zugriffsprotokolle so zu konfigurieren, dass Anforderungsinformationen erfasst und Protokolldateien an Ihren S3-Bucket gesendet werden.

**Voraussetzungen**  
Der Bucket muss die in [Schritt 1](#access-log-create-bucket) beschriebenen Anforderungen erfüllen und Sie müssen eine Bucket-Richtlinie wie in [Schritt 2](#attach-bucket-policy) beschrieben anhängen. Wenn Sie ein Präfix angeben, darf es die Zeichenfolge "AWSLogs“ nicht enthalten.

**So verwalten Sie den S3-Bucket für Ihre Zugriffsprotokolle**  
Stellen Sie sicher, dass Sie die Zugriffsprotokolle deaktivieren, bevor Sie den Bucket löschen, den Sie für Zugriffsprotokolle konfiguriert haben. Andernfalls kann Elastic Load Balancing keine Zugriffsprotokolle für Ihren Load Balancer in diesem neuen Bucket schreiben, wenn es einen neuen Bucket mit demselben Namen und den erforderlichen Bucket-Richtlinien in einem AWS-Konto gibt, dessen Eigentümer nicht Sie sind.

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

**So aktivieren Sie Zugriffsprotokolle**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Klicken Sie im Navigationsbereich auf **Load Balancers**.

1. Wählen Sie den Namen Ihres Load Balancers aus, um die Detailseite zu öffnen.

1. Klicken Sie auf der Registerkarte **Attribute** auf **Bearbeiten**.

1. Aktivieren Sie für die **Überwachung** die Option **Zugriffsprotokolle**.

1. Geben Sie für **S3-URI** den S3-URI für Ihre Protokolldateien ein. Der URI, den Sie angeben, hängt davon ab, ob Sie ein Präfix verwenden.
   + URI mit einem Präfix: s3://*amzn-s3-demo-logging-bucket*/*logging-prefix*
   + URI ohne Präfix: s3://*amzn-s3-demo-logging-bucket*

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

------
#### [ AWS CLI ]

**So aktivieren Sie Zugriffsprotokolle**  
Verwenden Sie den [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)Befehl mit den zugehörigen Attributen.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=access_logs.s3.enabled,Value=true \
        Key=access_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=access_logs.s3.prefix,Value=logging-prefix
```

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

**So aktivieren Sie Zugriffsprotokolle**  
Aktualisieren Sie die [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)Ressource so, dass sie die zugehörigen Attribute enthält.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "access_logs.s3.enabled"
          Value: "true"
        - Key: "access_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "access_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Schritt 4: Überprüfen der Bucket-Berechtigungen
<a name="verify-bucket-permissions"></a>

Nachdem Zugriffsprotokolle für den Load Balancer aktiviert ist, überprüft Elastic Load Balancing den S3-Bucket und erstellt eine Testdatei, um sicherzustellen, dass die Bucket-Richtlinie die erforderlichen Berechtigungen angibt. Sie können die Amazon-S3-Konsole verwenden, um sicherzustellen, dass die Testdatei erstellt wurde. Die Testdatei ist keine tatsächliche Zugriffsprotokolldatei; sie enthält keine Beispieldatensätze.

**Um zu überprüfen, ob mit der Amazon S3 S3-Konsole eine Testdatei in Ihrem Bucket erstellt wurde**

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie den Namen des Buckets aus, den Sie für Zugriffsprotokolle angegeben haben.

1. Navigieren Sie zur Testdatei, `ELBAccessLogTestFile`. Der Standort hängt davon ab, ob Sie ein Präfix verwenden.
   + Standort mit einem Präfix:*amzn-s3-demo-logging-bucket*/*logging-prefix*/AWSLogs/*123456789012*/ELBAccessLogTestFile
   + Standort ohne Präfix:*amzn-s3-demo-logging-bucket*/AWSLogs/*123456789012*/ELBAccessLogTestFile

## Fehlerbehebung
<a name="bucket-permissions-troubleshooting"></a>

Wenn Sie einen Fehler aufgrund Zugriffsverweigerung erhalten, kann dies die folgenden möglichen Ursachen haben.
+ Die Bucket-Policy gewährt Elastic Load Balancing nicht die Berechtigung, Zugriffsprotokolle in den Bucket zu schreiben. Stellen Sie sicher, dass Sie die richtige Bucket-Richtlinie für die Region verwenden. Stellen Sie sicher, dass der Ressourcen-ARN denselben Bucket-Namen verwendet, den Sie bei der Aktivierung von Zugriffsprotokollen angegeben haben. Stellen Sie sicher, dass der Ressourcen-ARN kein Präfix enthält, wenn Sie bei der Aktivierung von Zugriffsprotokollen kein Präfix angegeben haben.
+ Der Bucket verwendet eine nicht unterstützte serverseitige Verschlüsselungsoption. Der Bucket muss von Amazon S3 verwaltete Schlüssel (SSE-S3) verwenden.