

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.

# Einrichtung der Bearer-Token-Authentifizierung
<a name="CWL_HTTP_Endpoints_BearerTokenAuth"></a>

Bevor Sie Protokolle mithilfe der Bearer-Token-Authentifizierung mit einem der HTTP-Ingestion-Endpunkte senden können, müssen Sie:
+ Erstellen Sie einen IAM-Benutzer mit Logs-Berechtigungen CloudWatch 
+ Generieren Sie dienstspezifische Anmeldeinformationen (Bearer-Token)
+ Erstellen Sie eine Protokollgruppe und einen Protokollstream
+ Aktivieren Sie die Bearer-Token-Authentifizierung für die Protokollgruppe

**Wichtig**  
Wir empfehlen, für alle Workloads, bei denen dies möglich ist, die SigV4-Authentifizierung mit kurzfristigen Anmeldeinformationen zu verwenden. SigV4 bietet die stärkste Sicherheitslage. Beschränken Sie die Verwendung von API-Schlüsseln (Bearer-Token) auf Szenarien, in denen eine kurzfristige Authentifizierung auf der Grundlage von Anmeldeinformationen nicht möglich ist. Wenn Sie bereit sind, CloudWatch Logs in Anwendungen mit höheren Sicherheitsanforderungen zu integrieren, sollten Sie auf kurzfristige Anmeldedaten umsteigen. Weitere Informationen finden Sie unter [Alternativen zu langfristigen Zugriffsschlüsseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-workloads-use-roles) im *IAM-Benutzerhandbuch*.

## Option 1: Schnellstart mit der Konsole AWS
<a name="CWL_HTTP_Endpoints_Console_Setup"></a>

Die AWS Management Console bietet einen optimierten Arbeitsablauf zur Generierung von API-Schlüsseln für den HTTP-Endpunktzugriff.

**So richten Sie den HTTP-Endpunktzugriff mithilfe der Konsole ein**

1. Melden Sie sich bei der AWS Management Console an.

1. Navigieren Sie zu **CloudWatch**> **Einstellungen** > **Protokolle**.

1. Wählen Sie im Abschnitt API-Schlüssel die Option **API-Schlüssel generieren** aus.

1. Für den **Ablauf des API-Schlüssels** haben Sie folgende Möglichkeiten:
   + Wählen Sie eine Ablaufdauer für den API-Schlüssel von **1**, **5**, **30**, **90** oder **365** Tagen aus.
   + Wählen Sie **Benutzerdefinierte Dauer** aus, um ein benutzerdefiniertes Ablaufdatum für den API-Schlüssel festzulegen.
   + Wählen Sie **Nie abläuft** aus (nicht empfohlen).

1. Wählen Sie **API-Schlüssel generieren** aus.

   Die Konsole automatisch:
   + Erstellt einen neuen IAM-Benutzer mit den entsprechenden Berechtigungen
   + Hängt die verwaltete [CloudWatchLogsAPIKeyAccess-Richtlinie](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsAPIKeyAccess.html) an (einschließlich `logs:PutLogEvents` und `logs:CallWithBearerToken` Berechtigungen)
   + Generiert dienstspezifische Anmeldeinformationen (API-Schlüssel)

1. Kopieren Sie die angezeigten Anmeldeinformationen und speichern Sie sie sicher:
   + **API-Schlüssel-ID** (dienstspezifische Anmeldeinformations-ID)
   + **Geheimer API-Schlüssel** (Inhaber-Token)
**Wichtig**  
Speichern Sie das API-Schlüsselgeheimnis sofort. Er kann später nicht mehr abgerufen werden. Wenn Sie ihn verlieren, müssen Sie einen neuen API-Schlüssel generieren.

1. Erstellen Sie die Protokollgruppe und den Protokollstream, in denen Ihre Protokolle gespeichert werden:

   ```
   # Create the log group
   aws logs create-log-group \
       --log-group-name /aws/hlc-logs/my-application \
       --region us-east-1
   
   # Create the log stream
   aws logs create-log-stream \
       --log-group-name /aws/hlc-logs/my-application \
       --log-stream-name application-stream-001 \
       --region us-east-1
   ```

1. Aktivieren Sie die Bearer-Token-Authentifizierung für die Protokollgruppe:

   ```
   aws logs put-bearer-token-authentication \
       --log-group-identifier /aws/hlc-logs/my-application \
       --bearer-token-authentication-enabled \
       --region us-east-1
   ```

   Überprüfen Sie die Konfiguration:

   ```
   aws logs describe-log-groups \
       --log-group-name-prefix /aws/hlc-logs/my-application \
       --region us-east-1
   ```

**Enthaltene Berechtigungen:** Der automatisch erstellte IAM-Benutzer verfügt über die folgenden Berechtigungen:
+ `logs:PutLogEvents`— Sendet Protokollereignisse an CloudWatch Logs
+ `logs:CallWithBearerToken`— Authentifizieren Sie sich mit dem Bearer-Token
+ `kms:Describe*`,`kms:GenerateDataKey*`, `kms:Decrypt` — Greifen Sie auf KMS-verschlüsselte Protokollgruppen zu (mit einer Bedingung, die auf den Protokolldienst beschränkt ist)

## Option 2: Manuelle Einrichtung
<a name="CWL_HTTP_Endpoints_Manual_Setup"></a>

Wenn Sie mehr Kontrolle über die IAM-Konfiguration bevorzugen oder die Berechtigungen anpassen müssen, können Sie den HTTP-Endpunktzugriff manuell einrichten.

### Schritt 1: Erstellen Sie einen IAM-Benutzer
<a name="CWL_HTTP_Endpoints_Manual_Step1"></a>

Erstellen Sie einen IAM-Benutzer, der für die Protokollaufnahme verwendet wird:

1. Melden Sie sich bei der AWS Management Console an und navigieren Sie zu IAM.

1. Wählen Sie im linken Navigationsbereich **Benutzer** aus.

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

1. Geben Sie einen Benutzernamen ein (z. B.`cloudwatch-logs-hlc-user`).

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

1. Fügen Sie eine der folgenden IAM-Richtlinien hinzu:

   **Option A: Verwenden Sie die verwaltete Richtlinie (empfohlen)**

   Hängen Sie die verwaltete [CloudWatchLogsAPIKeyAccess-Richtlinie](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsAPIKeyAccess.html) an.

   **Option B: Erstellen Sie eine benutzerdefinierte Richtlinie**

   Erstellen Sie die folgende IAM-Richtlinie und fügen Sie sie an:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LogsAPIs",
               "Effect": "Allow",
               "Action": [
                   "logs:CallWithBearerToken",
                   "logs:PutLogEvents"
               ],
               "Resource": "*"
           },
           {
               "Sid": "KMSAPIs",
               "Effect": "Allow",
               "Action": [
                   "kms:Describe*",
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": [
                           "logs.*.amazonaws.com"
                       ]
                   }
               },
               "Resource": "arn:aws:kms:*:*:key/*"
           }
       ]
   }
   ```

1. Wählen Sie **Weiter** und dann **Benutzer erstellen**.

**Anmerkung**  
Die KMS-Berechtigungen sind erforderlich, wenn Sie Protokolle an KMS-verschlüsselte Protokollgruppen senden möchten. Die Bedingung beschränkt den KMS-Zugriff nur auf Schlüssel, die über CloudWatch den Logs-Dienst verwendet werden.

### Schritt 2: Generieren Sie dienstspezifische Anmeldeinformationen (API-Schlüssel)
<a name="CWL_HTTP_Endpoints_Manual_Step2"></a>

Generieren Sie den CloudWatch Logs-API-Schlüssel mithilfe der [CreateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html)API. Sie können auch den [create-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-service-specific-credential.html)CLI-Befehl verwenden. Für das Alter der Anmeldeinformationen können Sie einen Wert zwischen 1—36600 Tagen angeben. Wenn Sie keine Gültigkeitsdauer für die Anmeldeinformationen angeben, läuft der API-Schlüssel nicht ab.

Um einen API-Schlüssel mit einem Ablauf von 30 Tagen zu generieren:

```
aws iam create-service-specific-credential \
    --user-name cloudwatch-logs-hlc-user \
    --service-name logs.amazonaws.com \
    --credential-age-days 30
```

Die Antwort ist ein [ServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ServiceSpecificCredential.html)Objekt. Der `ServiceCredentialSecret` Wert ist Ihr CloudWatch Logs-API-Schlüssel (Bearer-Token).

**Wichtig**  
Speichern Sie den Wert „`ServiceCredentialSecret`“ sicher, da Sie ihn später nicht mehr abrufen können. Wenn Sie ihn verlieren, müssen Sie einen neuen API-Schlüssel generieren.

### Schritt 3: Erstellen Sie eine Protokollgruppe und einen Protokollstream
<a name="CWL_HTTP_Endpoints_Manual_Step3"></a>

Erstellen Sie die Protokollgruppe und den Protokollstream, in denen Ihre Protokolle gespeichert werden:

```
# Create the log group
aws logs create-log-group \
    --log-group-name /aws/hlc-logs/my-application \
    --region us-east-1

# Create the log stream
aws logs create-log-stream \
    --log-group-name /aws/hlc-logs/my-application \
    --log-stream-name application-stream-001 \
    --region us-east-1
```

### Schritt 4: Aktivieren Sie die Bearer-Token-Authentifizierung
<a name="CWL_HTTP_Endpoints_Manual_Step4"></a>

Aktivieren Sie die Bearer-Token-Authentifizierung für die Protokollgruppe:

```
aws logs put-bearer-token-authentication \
    --log-group-identifier /aws/hlc-logs/my-application \
    --bearer-token-authentication-enabled \
    --region us-east-1
```

Überprüfen Sie die Konfiguration:

```
aws logs describe-log-groups \
    --log-group-name-prefix /aws/hlc-logs/my-application \
    --region us-east-1
```

## Steuern Sie die Berechtigungen für die Generierung und Verwendung von CloudWatch Logs-API-Schlüsseln
<a name="CWL_HTTP_Endpoints_API_Key_Permissions"></a>

Die Generierung und Verwendung von CloudWatch Logs-API-Schlüsseln wird durch Aktionen und Bedingungsschlüssel sowohl in den CloudWatch Logs- als auch in den IAM-Diensten gesteuert.

### Steuerung der Generierung von CloudWatch Logs-API-Schlüsseln
<a name="CWL_HTTP_Endpoints_Control_Generation"></a>

Die CreateServiceSpecificCredential Aktion [iam:](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-actions-as-permissions) steuert die Generierung eines dienstspezifischen Schlüssels (z. B. eines CloudWatch Logs-API-Schlüssels). Sie können diese Aktion auf IAM-Benutzer als Ressource beschränken, um die Anzahl der Benutzer einzuschränken, für die ein Schlüssel generiert werden kann.

Mit den folgenden Bedingungsschlüsseln können Sie Bedingungen mit der Berechtigung für die Aktion `iam:CreateServiceSpecificCredential` verknüpfen:
+ [iam: ServiceSpecificCredentialAgeDays](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) — Ermöglicht es Ihnen, in der Bedingung die Ablaufzeit des Schlüssels in Tagen anzugeben. Sie können diesen Bedingungsschlüssel zum Beispiel verwenden, um nur das Erstellen von API-Schlüsseln zu erlauben, die innerhalb von 90 Tagen ablaufen.
+ [iam: ServiceSpecificCredentialServiceName](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) — Ermöglicht es Ihnen, in der Bedingung den Namen eines Dienstes anzugeben. Sie können diesen Bedingungsschlüssel beispielsweise verwenden, um nur die Erstellung von API-Schlüsseln für CloudWatch Logs und nicht für andere Dienste zuzulassen.

### Steuerung der Verwendung von CloudWatch Logs-API-Schlüsseln
<a name="CWL_HTTP_Endpoints_Control_Usage"></a>

Die `logs:CallWithBearerToken` Aktion steuert die Verwendung eines CloudWatch Logs-API-Schlüssels. Um zu verhindern, dass eine Identität CloudWatch Logs-API-Schlüssel verwendet, fügen Sie eine Richtlinie hinzu, die dem IAM-Benutzer, der dem Schlüssel zugeordnet ist, die `logs:CallWithBearerToken` Aktion verweigert.

### Beispielrichtlinien
<a name="CWL_HTTP_Endpoints_Permission_Examples"></a>

#### Verhindern Sie, dass eine Identität CloudWatch Logs-API-Schlüssel generiert und verwendet
<a name="CWL_HTTP_Endpoints_Deny_Generation_And_Use"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyCWLAPIKeys",
            "Effect": "Deny",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "logs:CallWithBearerToken"
            ],
            "Resource": "*"
        }
    ]
}
```

**Warnung**  
Diese Richtlinie verhindert die Erstellung von Anmeldeinformationen für alle AWS Dienste, die die Erstellung dienstspezifischer Anmeldeinformationen unterstützen. Weitere Informationen finden Sie unter [Servicespezifische Anmeldeinformationen für IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_service-specific-creds.html).

#### Verhindern Sie, dass eine Identität CloudWatch Logs-API-Schlüssel verwendet
<a name="CWL_HTTP_Endpoints_Deny_Use"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "logs:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

#### Erlauben Sie die Erstellung von CloudWatch Logs-Schlüsseln nur, wenn sie innerhalb von 90 Tagen ablaufen
<a name="CWL_HTTP_Endpoints_Allow_Expire_90"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceSpecificCredential",
            "Resource": "arn:aws:iam::123456789012:user/username",
            "Condition": {
                "StringEquals": {
                    "iam:ServiceSpecificCredentialServiceName": "logs.amazonaws.com"
                },
                "NumericLessThanEquals": {
                    "iam:ServiceSpecificCredentialAgeDays": "90"
                }
            }
        }
    ]
}
```

## Rotierende API-Schlüssel
<a name="CWL_HTTP_Endpoints_Rotating_Keys"></a>

Durch die regelmäßige Rotation Ihrer API-Schlüssel wird das Risiko eines unbefugten Zugriffs verringert. Wir empfehlen, einen Rotationsplan aufzustellen, der den Sicherheitsrichtlinien Ihres Unternehmens entspricht.

### Rotationsprozess
<a name="CWL_HTTP_Endpoints_Rotation_Process"></a>

Gehen Sie wie folgt vor, um einen API-Schlüssel zu rotieren, ohne die Protokollzustellung zu unterbrechen:

1. Erstellen Sie einen neuen (sekundären) Berechtigungsnachweis für den IAM-Benutzer:

   ```
   aws iam create-service-specific-credential \
       --user-name cloudwatch-logs-hlc-user \
       --service-name logs.amazonaws.com \
       --credential-age-days 90
   ```

1. (Optional) Speichern Sie die neuen Anmeldeinformationen AWS Secrets Manager für einen sicheren Abruf und eine automatische Rotation.

1. Importieren Sie die neuen Anmeldeinformationen in das Portal Ihres Anbieters oder aktualisieren Sie Ihre Anwendungskonfiguration, um den neuen API-Schlüssel zu verwenden.

1. Setzen Sie die ursprünglichen Anmeldeinformationen auf inaktiv:

   ```
   aws iam update-service-specific-credential \
       --user-name cloudwatch-logs-hlc-user \
       --service-specific-credential-id ACCA1234EXAMPLE1234 \
       --status Inactive
   ```

1. Stellen Sie sicher, dass die Protokollzustellung nicht beeinträchtigt wird, indem Sie die `IncomingBytes` Metrik für Ihre Protokollgruppe in überwachen. CloudWatch Weitere Informationen finden Sie unter [Überwachung mit CloudWatch Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Monitoring-CloudWatch-Metrics.html).

1. Nachdem Sie die erfolgreiche Zustellung mit dem neuen Schlüssel bestätigt haben, löschen Sie die vorherigen Anmeldeinformationen:

   ```
   aws iam delete-service-specific-credential \
       --service-specific-credential-id ACCA1234EXAMPLE1234
   ```

### Ablauf des Schlüssels überwachen
<a name="CWL_HTTP_Endpoints_Monitor_Expiration"></a>

Verwenden Sie den folgenden [list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html)Befehl, um das Erstellungsdatum und den Status Ihrer vorhandenen API-Schlüssel zu überprüfen:

```
aws iam list-service-specific-credentials \
    --user-name cloudwatch-logs-hlc-user \
    --service-name logs.amazonaws.com
```

Die Antwort beinhaltet `CreateDate` und `Status` für jeden Berechtigungsnachweis. Verwenden Sie diese Informationen, um Schlüssel zu identifizieren, die bald ablaufen oder die schon länger aktiv sind, als es Ihre Rotationsrichtlinie zulässt.

## Reaktion auf einen kompromittierten API-Schlüssel
<a name="CWL_HTTP_Endpoints_Compromised_Keys"></a>

Wenn Sie vermuten, dass ein API-Schlüssel kompromittiert wurde, führen Sie sofort die folgenden Schritte durch:

1. **Deaktivieren Sie den Schlüssel sofort**, um eine weitere unbefugte Verwendung zu verhindern:

   ```
   aws iam update-service-specific-credential \
       --user-name cloudwatch-logs-hlc-user \
       --service-specific-credential-id ACCA1234EXAMPLE1234 \
       --status Inactive
   ```

1. **Überprüfen Sie die CloudTrail Protokolle**, um den Umfang des unbefugten Zugriffs zu ermitteln. Weitere Informationen [Protokollierung der Verwendung von API-Schlüsseln mit CloudTrail](#CWL_HTTP_Endpoints_CloudTrail_Logging) zur Aktivierung der Überwachung der API-Schlüsselnutzung finden Sie unter.

1. **Erstellen Sie nach dem unter beschriebenen Rotationsprozess einen Ersatzschlüssel**[Rotationsprozess](#CWL_HTTP_Endpoints_Rotation_Process).

1. **Löschen Sie den kompromittierten Schlüssel**, nachdem der Ersatzschlüssel installiert wurde:

   ```
   aws iam delete-service-specific-credential \
       --service-specific-credential-id ACCA1234EXAMPLE1234
   ```

1. **Fügen Sie eine Ablehnungsrichtlinie** hinzu, wenn Sie sofort den gesamten Zugriff auf Inhaber-Tokens für den IAM-Benutzer sperren müssen, während Sie die folgenden Untersuchungen durchführen:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Deny",
           "Action": "logs:CallWithBearerToken",
           "Resource": "*"
       }
   }
   ```

**Anmerkung**  
Um diese Aktionen über die API auszuführen, müssen Sie sich mit AWS Anmeldeinformationen und nicht mit einem CloudWatch Logs-API-Schlüssel authentifizieren.

Sie können auch die folgenden IAM-API-Operationen verwenden, um kompromittierte Schlüssel zu verwalten:
+ [ResetServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html)— Setzen Sie den Schlüssel zurück, um ein neues Passwort zu generieren, ohne die Anmeldeinformationen zu löschen. Der Schlüssel darf nicht abgelaufen sein.

## Bewährte Sicherheitsmethoden für API-Schlüssel
<a name="CWL_HTTP_Endpoints_Security_Best_Practices"></a>

Folgen Sie diesen bewährten Methoden, um Ihre CloudWatch Logs-API-Schlüssel zu schützen:
+ **Betten Sie niemals API-Schlüssel in den Quellcode ein.** Codieren Sie API-Schlüssel nicht fest im Anwendungscode und übergeben Sie sie nicht an Versionskontrollsysteme. Wenn ein Schlüssel versehentlich in ein öffentliches Repository übertragen wird, wird er möglicherweise AWS durch automatisiertes Scannen gekennzeichnet. Sie sollten den Schlüssel sofort wechseln.
+ **Verwenden Sie einen Secrets-Manager.** Speichern Sie API-Schlüssel in [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)oder einer gleichwertigen Lösung zur Verwaltung von Geheimnissen. Dies ermöglicht eine zentrale Zugriffskontrolle, Auditprotokollierung und automatisierte Rotation.
+ **Legen Sie für alle Schlüssel ein Ablaufdatum fest.** Geben Sie beim Erstellen von API-Schlüsseln immer einen `--credential-age-days` Wert an. Verwenden Sie den `iam:ServiceSpecificCredentialAgeDays` IAM-Bedingungsschlüssel, um eine maximale Gültigkeitsdauer von Schlüsseln in Ihrer Organisation durchzusetzen. Ein Beispiel finden Sie unter [Erlauben Sie die Erstellung von CloudWatch Logs-Schlüsseln nur, wenn sie innerhalb von 90 Tagen ablaufen](#CWL_HTTP_Endpoints_Allow_Expire_90).
+ **Wenden Sie Berechtigungen mit den geringsten Rechten an.** Beschränken Sie die Berechtigungen des IAM-Benutzers nur auf die erforderlichen Protokollgruppen und Aktionen. Verwenden Sie die Managed [CloudWatchLogsAPIKeyAccess-Richtlinie](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsAPIKeyAccess.html) als Ausgangspunkt und schränken Sie sie bei Bedarf weiter ein.
+ **Aktivieren Sie die CloudTrail Protokollierung.** Überwachen Sie die Verwendung von API-Schlüsseln, indem Sie CloudTrail Datenereignisse für aktivieren`AWS::Logs::LogGroupAuthorization`. Siehe [Protokollierung der Verwendung von API-Schlüsseln mit CloudTrail](#CWL_HTTP_Endpoints_CloudTrail_Logging).
+ **Überwachen Sie mit IAM Access Analyzer.** Verwenden Sie [IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html), um ungenutzte Anmeldeinformationen und übermäßig freizügige Richtlinien im Zusammenhang mit Ihren API-Schlüssel-IAM-Benutzern zu identifizieren.
+ **Wechseln Sie die Schlüssel regelmäßig.** Legen Sie einen Rotationsplan fest und folgen Sie dem unter beschriebenen Verfahren[Rotierende API-Schlüssel](#CWL_HTTP_Endpoints_Rotating_Keys).

## Protokollierung der Verwendung von API-Schlüsseln mit CloudTrail
<a name="CWL_HTTP_Endpoints_CloudTrail_Logging"></a>

Sie können AWS CloudTrail es verwenden, um Datenereignisse für die Verwendung von CloudWatch Logs API-Schlüsseln zu protokollieren. CloudWatch Logs sendet `AWS::Logs::LogGroupAuthorization` Datenereignisse für `CallWithBearerToken` Aufrufe aus, sodass Sie überprüfen können, wann und wie API-Schlüssel zum Senden von Protokollen verwendet werden.

So aktivieren Sie die CloudTrail Protokollierung für die Verwendung von CloudWatch Logs-API-Schlüsseln:

**Anmerkung**  
Der S3-Bucket, den Sie für den Trail angeben, muss über eine Bucket-Richtlinie verfügen, die CloudTrail das Schreiben von Protokolldateien in ihn ermöglicht. Weitere Informationen finden Sie unter [Amazon S3 S3-Bucket-Richtlinie für CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html).

1. Erstellen Sie einen Trail:

   ```
   aws cloudtrail create-trail \
       --name cloudwatch-logs-api-key-audit \
       --s3-bucket-name my-cloudtrail-bucket \
       --region us-east-1
   ```

1. Konfigurieren Sie erweiterte Event-Selektoren, um Logs zu CloudWatch protokollieren, Gruppenautorisierungsereignisse zu protokollieren:

   ```
   aws cloudtrail put-event-selectors \
       --region us-east-1 \
       --trail-name cloudwatch-logs-api-key-audit \
       --advanced-event-selectors '[{
           "Name": "CloudWatch Logs API key authorization events",
           "FieldSelectors": [
               { "Field": "eventCategory", "Equals": ["Data"] },
               { "Field": "resources.type", "Equals": ["AWS::Logs::LogGroupAuthorization"] }
           ]
       }]'
   ```

1. Starten Sie die Trailprotokollierung:

   ```
   aws cloudtrail start-logging \
       --name cloudwatch-logs-api-key-audit \
       --region us-east-1
   ```