

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.

# Ausführungsprotokollierung für REST-APIs
<a name="rest-api-execution-logging"></a>

Die Ausführungsprotokollierung zeichnet die Aktionen auf, die API Gateway zur Verarbeitung einer API-Anfrage ergreift. Zu den protokollierten Daten gehören Fehler, Ausführungsspuren, Anforderungs- und Antwortparameterwerte oder Nutzlasten, Daten, die von Lambda-Autorisierern verwendet werden, ob API-Schlüssel erforderlich sind und ob Nutzungspläne aktiviert sind. API Gateway redigiert Genehmigungs-Header, API-Schlüsselwerte und ähnliche sensible Anforderungsparameter aus den protokollierten Daten.

Zur Verbesserung Ihrer Sicherheitslage empfehlen wir Ihnen, die Ausführungsprotokollierung auf der `ERROR`- oder `INFO`-Ebene zu verwenden. Dies kann erforderlich sein, um verschiedene Compliance-Rahmenwerke einzuhalten. Weitere Informationen finden Sie unter [Amazon-API-Gateway-Steuerelemente](https://docs.aws.amazon.com/securityhub/latest/userguide/apigateway-controls.html) im *Benutzerhandbuch für AWS Security Hub *.

## Protokollierung der Standardausführung
<a name="rest-api-execution-logging-standard"></a>

Wenn Sie die Ausführungsprotokollierung auf einer Stufe aktivieren, erstellt und verwaltet API Gateway automatisch eine CloudWatch Logs-Protokollgruppe. Die Protokollgruppe hat einen Namen`API-Gateway-Execution-Logs_{rest-api-id}/{stage_name}`. Innerhalb jeder Protokollgruppe sind die Protokolle in Protokolldatenströme unterteilt, die nach dem Zeitpunkt des ** letzten Ereignisses sortiert sind**.

Mit standardmäßiger Ausführungsprotokollierung:
+ Protokollereignisse werden um 1 KB gekürzt.
+ API Gateway verwaltet den Namen der Protokollgruppe. Sie können den Namen der Protokollgruppe nicht wählen oder Protokolle nicht direkt an Amazon S3 oder Firehose senden.

Um die standardmäßige Protokollierung der Ausführung zu aktivieren, setzen Sie `loggingLevel` auf Ihrer Bühne den Wert `ERROR` oder`INFO`. Weitere Konfigurationsarbeiten sind nicht erforderlich.

### Berechtigungen
<a name="rest-api-execution-logging-permissions"></a>

Um CloudWatch Logs zu aktivieren, müssen Sie API Gateway die Berechtigung zum Lesen und Schreiben von Protokollen CloudWatch für Ihr Konto gewähren. Die [ AmazonAPIGatewayPushToCloudWatchLogs ](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAPIGatewayPushToCloudWatchLogs.html) verwaltete Richtlinie verfügt über alle erforderlichen Berechtigungen.

Erstellen Sie eine IAM-Rolle mit `apigateway.amazonaws.com` der vertrauenswürdigen Entität, fügen Sie die vorherige Richtlinie hinzu und legen Sie den IAM-Rollen-ARN für die [ WatchRoleArn ](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateAccount.html#cloudWatchRoleArn) Cloud-Eigenschaft in Ihrem [ Konto fest. ](https://docs.aws.amazon.com/apigateway/latest/api/API_GetAccount.html) Sie müssen diese Eigenschaft für jede AWS Region, in der Sie Logs aktivieren CloudWatch möchten, separat festlegen.

**Anmerkung**  
API Gateway-Aufrufe AWS -Security-Token-Service übernehmen die IAM-Rolle. Stellen Sie daher sicher, dass diese für die Region aktiviert AWS STS ist. Weitere Informationen finden Sie unter AWS STS in einer AWS Region [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) verwalten.

### Aktivieren Sie die Ausführungsprotokollierung (Konsole)
<a name="rest-api-execution-logging-console"></a>

Bevor Sie beginnen, stellen Sie die API schrittweise bereit und konfigurieren Sie einen entsprechenden CloudWatch Logs-Rollen-ARN für Ihr Konto.

1. Melden Sie sich bei der API Gateway-Konsole unter an [ https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Wählen Sie im Hauptnavigationsbereich **Settings** (Einstellungen) und dann unter **Logging** (Protokollierung) die Option **Edit** (Bearbeiten) aus.

1. Geben Sie für den ARN ** der ** CloudWatch Protokollrolle den ARN einer IAM-Rolle mit den entsprechenden Berechtigungen ein. Sie müssen dies einmal für jeden tun AWS-Konto , der APIs mithilfe von API Gateway erstellt.

1. Wählen Sie im Hauptnavigationsbereich ** APIs aus**, wählen Sie Ihre REST-API und dann ** Stages aus**.

1. Wählen Sie eine Phase aus und wählen Sie dann im ** Abschnitt ** Logs and Tracing die Option ** Bearbeiten ** aus.

1. Wählen Sie im ** Dropdownmenü „Protokolle“ eine ** CloudWatch Protokollierungsebene aus:
   + **Aus ** — API Gateway protokolliert keine Anfragen für diese Phase.
   + **Nur Fehler ** — API Gateway protokolliert nur Fehler.
   + **Fehler und Infoprotokolle ** — API Gateway protokolliert alle Ereignisse.

1. (Optional) Wählen Sie ** Datenverfolgung aus**, um die vollständigen Anfrage- und Antwortdaten zu protokollieren. Dies kann dazu führen, dass vertrauliche Daten protokolliert werden.
**Anmerkung**  
Wir empfehlen, **Datenablaufverfolgung** nicht für Produktions-APIs zu verwenden.

1. (Optional) Wählen Sie ** Detaillierte Metriken aus**, um detaillierte CloudWatch Metriken zu aktivieren. Weitere Informationen finden Sie unter [Überwachen Sie die REST-API-Ausführung mit CloudWatch Amazon-Metriken](monitoring-cloudwatch.md).

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

Sie müssen die API nicht erneut bereitstellen, wenn Sie die Stufeneinstellungen aktualisieren.

### Aktivieren Sie die Ausführungsprotokollierung (CloudFormation)
<a name="rest-api-execution-logging-cfn"></a>

Verwenden Sie die `MethodSettings` Eigenschaft für die Bühnenressource, um die Ausführungsprotokollierung zu aktivieren.

```
  TestStage:
    Type: AWS::ApiGateway::Stage
    Properties:
      StageName: test
      RestApiId: !Ref MyAPI
      DeploymentId: !Ref Deployment
      MethodSettings:
        - ResourcePath: "/*"
          HttpMethod: "*"
          LoggingLevel: INFO
```

Um CloudWatch Logs zu aktivieren, müssen Sie API Gateway die Berechtigung zum Lesen und Schreiben von Protokollen CloudWatch für Ihr Konto gewähren. Weitere Informationen finden Sie unter [Konto mit IAM-Rolle verknüpfen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#aws-resource-apigateway-account--examples) im *AWS CloudFormation -Benutzerhandbuch*.

## Versand von CloudWatch Ausführungsprotokollen durch Amazon Logs
<a name="rest-api-execution-logging-delivery"></a>

Die Amazon CloudWatch Logs-Lieferung bietet einen alternativen Pfad für Ausführungsprotokolle. Anstatt in eine Gateway-managed API-Protokollgruppe zu schreiben, konfigurieren Sie einen Versand, der Ausführungsprotokolle an Ziele sendet, die Ihnen gehören und die Sie kontrollieren.

Mit der Amazon CloudWatch Logs-Lieferung:
+ Protokollereignisse können bis zu 1 MB groß sein und umfassendere Anfrage- und Antwortdaten erfassen. Nutzdaten, die 1 MB überschreiten, werden immer noch gekürzt.
+ Sie wählen das Ziel: Ihre eigenen CloudWatch Logs-Log-Gruppen, Amazon S3-Buckets oder Firehose-Streams.
+ Sie können Protokolle gleichzeitig an mehrere Ziele senden.
+ Sie steuern die Konfiguration der Protokollgruppe, einschließlich der Benennung und Aufbewahrung.

**Wichtig**  
CloudWatch Die Bereitstellung von Protokollen ersetzt die standardmäßige Protokollierung der Ausführung. Wenn Sie eine Lieferung konfigurieren, stoppt API Gateway das Schreiben in die automatisch verwaltete Protokollgruppe. Sie können nicht beide Pfade gleichzeitig für dieselbe Phase verwenden.

Wenn Sie eine Lieferung erstellen, leitet API Gateway Ausführungsprotokolle an Ihre konfigurierten Ziele und nicht an die automatisch verwaltete Protokollgruppe weiter. Wenn Sie eine Lieferung löschen, werden die Ausführungsprotokolle automatisch wieder an die automatisch verwaltete Protokollgruppe weitergeleitet. Außer der Einstellung `loggingLevel` auf `ERROR` oder `INFO` sind keine Änderungen an der API-Gateway-Konfiguration erforderlich.

**Anmerkung**  
Die Protokollzustellung erfolgt nach bestem Wissen und Gewissen. In seltenen Fällen werden einige Protokollereignisse möglicherweise nicht übermittelt.

**Warnung**  
Bevor Sie die Protokollzustellung aktivieren, aktualisieren Sie alle Dashboards, Alarme oder Abonnementfilter, die auf die automatisch verwaltete Protokollgruppe () `API-Gateway-Execution-Logs_{rest-api-id}/{stage_name}` verweisen. Nachdem die Übermittlung aktiv ist, empfängt diese Protokollgruppe keine neuen Ereignisse mehr.

In der folgenden Tabelle wird die standardmäßige Ausführungsprotokollierung mit der Amazon CloudWatch Logs-Lieferung verglichen.


|  | Standardmäßige Protokollierung der Ausführung | Versand durch Amazon CloudWatch Logs | 
| --- | --- | --- | 
| Maximale Größe des Protokollereignisses | 1 KB | 1 MB | 
| Ziele | CloudWatch Protokolle (verwaltete Protokollgruppe) | CloudWatch Logs, Amazon S3, Firehose (Ihre eigenen Ressourcen) | 
| Mehrere Ziele | Nein | Ja | 
| Protokollgruppenname | Behoben durch API Gateway | Du wählst | 
| Einrichtung | Automatisch, wenn die Protokollierung aktiviert ist | Erfordert die Erstellung einer Amazon CloudWatch Logs-Lieferung | 
| Voraussetzung | Auf ERROR oder gesetzt loggingLevel INFO | Auf ERROR oder setzen loggingLevel INFO | 

**Anmerkung**  
Wenn Sie diese Option `loggingLevel` `OFF` nach der Konfiguration einer Lieferung festlegen, werden keine Ausführungsprotokolle generiert oder zugestellt. Ihre Lieferziele bleiben konfiguriert, erhalten jedoch keine Daten.

Informationen zum Erstellen einer Lieferung finden Sie unter[Erstellen Sie eine Protokollzustellung für REST-API-Ausführungsprotokolle](rest-api-create-log-delivery.md).