

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.

# Mail Manager-Protokollierung
<a name="eb-logging"></a>

Die Mail Manager-Protokollierung bietet einen detaillierten Einblick in Ihre Mail Manager-Vorgänge. Die Protokollierungsfunktion verfolgt den Nachrichtenfluss vom ersten Empfang an Eingangsendpunkten bis hin zur Nachrichtenverarbeitung auf der Grundlage Ihrer konfigurierten Regelsätze und Regeln.

Mail Manager bietet Protokollierung für die folgenden Ressourcen:
+ Eingangsendpunkte
+ Regelsätze

Mail Manager übermittelt Protokolle mithilfe des Amazon CloudWatch Logs-Service. Die Protokolle können an jedes der folgenden Ziele gesendet werden: *CloudWatch Logs*, *Amazon S3* oder *Amazon Data Firehose*.

## Einrichtung der Mail Manager-Protokollzustellung
<a name="setting-up-log-delivery"></a>

Eine funktionierende Protokollzustellung besteht aus drei Elementen:
+ **DeliverySource**— Ein logisches Objekt, das die Ressource darstellt, die die Protokolle sendet — entweder einen Eingangsendpunkt oder einen Regelsatz.
+ **DeliveryDestination**— Ein logisches Objekt, das das tatsächliche Lieferziel darstellt (CloudWatch Logs, S3 oder Firehose).
+ **Lieferung** — Verbindet eine Zustellungsquelle mit einem Lieferziel.

In diesem Abschnitt wird erklärt, wie Sie diese Objekte erstellen und welche Berechtigungen für die Verwendung der Mail Manager-Protokollierung erforderlich sind.

### Voraussetzungen
<a name="logging-prerequisites"></a>

Bevor Sie die Mail Manager-Protokollierung einrichten, stellen Sie sicher, dass:

1. Sie haben entweder einen [Ingress-Endpunkt](eb-ingress.md) oder einen [Regelsatz](eb-rules.md) erstellt.

1. Sie verfügen über die erforderlichen CloudWatch Logs- und SES Mail Manager-Berechtigungen, um Protokolle von Ihren Mail Manager-Ressourcen an ihre Lieferziele zu versenden.

#### Erforderliche Berechtigungen
<a name="logging-permissions"></a>

Sie müssen die Berechtigungen für verkaufte Logs einrichten, wie im Abschnitt [Protokollierung, für die zusätzliche Berechtigungen erforderlich sind [V2]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2) des *Amazon CloudWatch Logs-Benutzerhandbuchs* beschrieben, und die Berechtigungen anwenden, die Ihrem Lieferziel entsprechen: 
+ [An Logs gesendete Logs CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs)
+ [An Amazon S3 gesendete Protokolle](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-S3)
+ [An Firehose gesendete Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-Firehose)

Darüber hinaus benötigt Mail Manager die folgenden Benutzerberechtigungen, um die Protokollzustellung zu konfigurieren:
+ `ses:AllowVendedLogDeliveryForResource`— Erforderlich, damit Mail Manager die Protokolle in Ihrem Namen an CloudWatch Logs für Ihre spezifischen Ressourcen weitergeben kann, wie im Beispiel gezeigt:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSesMailManagerLogDelivery",
            "Effect": "Allow",
            "Action": [
                "ses:AllowVendedLogDeliveryForResource"
            ],
            "Resource": [
            "arn:aws:ses:us-east-1:111122223333:mailmanager-ingress-point/inp-xxxxx",
            "arn:aws:ses:us-east-1:111122223333:mailmanager-rule-set/rs-xxxx"
            ]
        }
    ]
}
```

------

### Aktivierung der Protokollierung in der SES-Konsole
<a name="enable-logging-console"></a>

Gehen Sie wie folgt vor, um die Protokollierung für Mail Manager-Ressourcen mithilfe der Konsole zu aktivieren:

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

1. Wählen Sie im Navigationsbereich unter **Mail Manager** entweder **Ingress-Endpoints** oder **Rule Sets** aus und wählen Sie die spezifische Ressource aus, die Sie für die Protokollierung aktivieren möchten.

1. Erweitern **Sie auf der Detailseite der Ressource die Option Protokollzustellung hinzufügen** und wählen Sie Lieferung an **CloudWatch Logs**, **S3** oder **Firehose** aus.

1. Folgen **Sie im Dialogfeld „Versand hinzufügen zu**“ für das von Ihnen gewählte Ziel den Anweisungen, um die für den Zieltyp spezifischen Optionen für die Protokollzustellung zu konfigurieren.

1. (Optional) Erweitern Sie **Zusätzliche Einstellungen**, um die Felder für den Datensatz, das Ausgabeformat, das Feldtrennzeichen und andere für den Zieltyp spezifische Parameter anzupassen. 

### Aktivieren der Protokollierung mithilfe der CloudWatch Logs-API
<a name="enable-logging-api"></a>

Um die Protokollierung für Mail Manager-Ressourcen mithilfe der CloudWatch Logs-API zu aktivieren, müssen Sie:

1. Erstellen Sie eine DeliverySource mit [https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html).

1. Erstelle ein DeliveryDestination mit [https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html).

1. Erstellen Sie eine Lieferung, indem Sie genau eine Lieferquelle und ein Lieferziel verknüpfen, indem Sie [https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).

*Beispiele für IAM-Rollen- und Berechtigungsrichtlinien mit allen erforderlichen Berechtigungen für Ihr spezifisches Protokollierungsziel finden Sie im Abschnitt [Protokollierung, für die zusätzliche Berechtigungen erforderlich sind [V2]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2) des *Amazon CloudWatch Logs-Benutzerhandbuchs*. Folgen Sie den Beispielen für IAM-Rollen- und Berechtigungsrichtlinien für Ihr Logging-Ziel, einschließlich der Zulassung von Updates für Ihre spezifische Logging-Zielressource wie *CloudWatch Logs*, *S3* oder Firehose.*

**Anmerkung**  
Bei der Erstellung eines [https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html#API_PutDeliverySource_RequestSyntax](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html#API_PutDeliverySource_RequestSyntax)kann DeliverySource es sich um einen Ingress-Endpunkt-ARN oder einen Regelsatz-ARN ARN. Je nach [https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html#API_PutDeliverySource_RequestSyntax](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html#API_PutDeliverySource_RequestSyntax)kann DeliverySource das wie folgt aussehen:  
**Eingangsendpunkt ARN** — oder `APPLICATION_LOGS` `TRAFFIC_POLICY_DEBUG_LOGS`
**Regelsatz ARN** — `APPLICATION_LOGS`

## Interpretieren der Protokolle
<a name="interpreting-logs"></a>

Die Protokolle können verwendet werden, um zusätzliche Einblicke in den Fluss Ihrer empfangenen Nachrichten zu erhalten, während diese von Mail Manager verarbeitet werden.

In den folgenden Beispielen werden die verschiedenen Felder der Protokolle für jede Ressource und jeden Protokolltyp detailliert beschrieben:

**Topics**
+ [Endpunktprotokolle für eingehende Zugriffe — `APPLICATION_LOGS`](#ingress-endpoint-logs-app)
+ [Logs von Eingangsendpunkten — `TRAFFIC_POLICY_DEBUG_LOGS`](#ingress-endpoint-logs-traffic)
+ [Regelsatzprotokolle — `APPLICATION_LOGS`](#rule-set-logs)

### Endpunktprotokolle für eingehende Zugriffe — `APPLICATION_LOGS`
<a name="ingress-endpoint-logs-app"></a>

Die Protokolle werden pro Nachricht generiert.

```
{
  "resource_arn": "arn:aws:ses:us-east-1:1234567890:mailmanager-ingress-point/inp-xxxxx",
  "event_timestamp": 1728562395042,
  "ingress_point_type": "OPEN" | "AUTH" | "MTLS",
  "ingress_point_name": "MyIngressPoint",
  "message_id": "0000llcki1jmushh817gr586f963a5inhkvnh81",
  "message_size_bytes": 100000,
  "rule_set_id": "rs-xxxx",
  "sender_ip_address": "1.2.3.4",
  "smtp_mail_from": "someone@domain.com",
  "smtp_helo": "domain.com",
  "tls_protocol": "TLSv1.2",
  "tls_cipher_suite": "TLS_AES_256_GCM_SHA384",
  "recipients": ["me@mydomain.com", "you@mydomain.com", "they@mydomain.com"],
  "ingress_point_metadata": {
       // Only applies to AUTH Ingress endpoint
       "password_version": "",
       "secrets_manager_arn": "",
       // Only applies to MTLS Ingress endpoint
       "client_certificate_details": {
           "common_names": ["mail.example.com"],
           "serial_number": "0A:DE:EB:89:42:FB:1C:67",
           "subject_alternative_names": ["mail.example.com", "smtp.example.com"],
           "issuer": "CN=Example CA,O=Example Corp,C=US",
           "not_before": "2025-01-15T00:00:00Z",
           "not_after": "2026-01-15T23:59:59Z"
       },
       "trust_store_monitoring": {
           "ca_invalid_or_near_expiry": [
               {
                   "subject": "CN=Example CA,O=Example Corp,C=US",
                   "not_before": "2023-06-01T00:00:00Z",
                   "not_after": "2025-05-15T23:59:59Z"
               },
               ...
           ],
           "crl_invalid_or_near_expiry": [
               {
                   "issuer": "CN=Example CA,O=Example Corp,C=US",
                   "this_update": "2025-03-01T00:00:00Z",
                   "next_update": "2025-04-01T00:00:00Z"
               },
               ...
           ]
       }
  }
}
```

**Anmerkung**  
Protokolle werden nur für Nachrichten erstellt, die vom Eingangsendpunkt akzeptiert werden. Ein Eingangsendpunkt, der alle eingehenden Nachrichten ablehnt, veröffentlicht keine Anwendungsprotokolle.

**Anmerkung**  
Die `trust_store_monitoring` Listen (`ca_invalid_or_near_expiry`und`crl_invalid_or_near_expiry`) geben jeweils maximal 10 Einträge zurück. „Beinahe ablaufend“ bedeutet, dass das Zertifikat oder die CRL innerhalb von 90 Tagen abläuft.

#### Beispiel für CloudWatch Logs Insights-Abfragen
<a name="ingress-endpoint-app-queries"></a>

Nachrichten von sender@domain.com abfragen:

```
fields @timestamp, @message, @logStream, @log
| filter smtp_mail_from like /sender@domain.com/
| sort @timestamp desc
| limit 10000
```

Nachrichten mit einer Größe von mehr als 5000 Byte abfragen:

```
fields @timestamp, @message, @logStream, @log
| filter message_size_bytes > 5000
| sort @timestamp desc
| limit 10000
```

### Logs von Eingangsendpunkten — `TRAFFIC_POLICY_DEBUG_LOGS`
<a name="ingress-endpoint-logs-traffic"></a>

Die Protokolle werden pro Empfänger generiert.

```
{
    "resource_arn": "arn:aws:ses:us-east-1:1234567890:mailmanager-ingress-point/inp-xxxxx",
    "event_timestamp": 1728562395042,
    "ingress_point_type": "OPEN" | "AUTH",
    "ingress_point_id": "inp-xxxx",
    "ingress_point_session_id": "xxxx",
    "traffic_policy_id": "tp-xxxx",
    "traffic_policy_evaluation": [
           // Array of policy evaluations
           {
                "action": "ALLOW" | "DENY",
                "conditions": [
                // Array of conditions
                {
                    "expression": {
                        "attribute": "RECIPIENT",
                        "operator": "CONTAINS",
                        "value": ["@domain.com", "@mydomain.com"]
                    },
                    "expressionResult": true | false
                }],
                "policyStatementMatched": true | false
            },
            // If no policy statement match then default action will be applied
            {
                "action": "ALLOW" | "DENY",
                "policyStatementMatched": true,
                "type": "DefaultAction",
                "scope": "Recipient"
            },
            // Only present if the email was too large according to the traffic policy
            {
                "action": "DENY",
                "allowedMessageSize": 41943040,
                "receivedMessageSize": 42495384,
                "scope": "Data"
            }
    ],
    "traffic_policy_verdict": "REJECT" | "ACCEPT",
    "sender_ip_address": "1.2.3.4",
    "smtp_mail_from": "someone@domain.com",
    "smtp_helo": "domain.com",
    "tls_protocol": "TLSv1.2",
    "recipient": "me@mydomain.com",
    "tls_cipher_suite": "TLS_AES_256_GCM_SHA384"
}
```

**Anmerkung**  
Protokolle werden für alle Nachrichten erstellt, die anhand der Datenverkehrsrichtlinie am Eingangsendpunkt ausgewertet werden, unabhängig davon, ob sie akzeptiert oder abgelehnt wurden.
Alle Bewertungen der Verkehrsrichtlinien der Empfänger, die zu derselben Nachricht gehören (innerhalb derselben SMTP-Konversation), haben dieselbe Gemeinsamkeit. `ingress_point_session_id` Diese ID dient als Korrelations-ID, da sie erst nach der Annahme der Nachricht verfügbar `message_id` ist.
Der `traffic_policy_evaluation` Inhalt hängt von Ihrer Konfiguration ab und kann vorzeitig beendet werden, sobald ein Urteil gefällt wurde.

#### Beispiel: CloudWatch Logs & Insights-Abfragen
<a name="ingress-endpoint-traffic-queries"></a>

Nachrichten von sender@domain.com abfragen:

```
fields @timestamp, @message, @logStream, @log
| filter smtp_mail_from like /sender@domain.com/
| sort @timestamp desc
| limit 10000
```

Nachrichten abfragen, die zu einem bestimmten Thema gehören`ingress_point_session_id`:

```
fields @timestamp, @message, @logStream, @log
| filter ingress_point_session_id = 'xxx'
| sort @timestamp desc
| limit 10000
```

Nachrichten abfragen, die abgelehnt wurden:

```
fields @timestamp, @message, @logStream, @log
| filter traffic_policy_verdict = 'REJECT'
| sort @timestamp desc
| limit 10000
```

### Regelsatzprotokolle — `APPLICATION_LOGS`
<a name="rule-set-logs"></a>

Die Protokolle werden pro Nachricht und Aktion generiert. Das bedeutet, dass jedes Mal, wenn eine Nachricht durch eine Aktion in einer Regel im Regelsatz verarbeitet wird, ein Protokolldatensatz generiert wird:

```
{
   "resource_arn": "arn:aws:ses:us-east-1:1234567890:mailmanager-rule-set/rs-xxxx",
   "event_timestamp": 1732298258254,
   "message_id": "0000llcki1jmushh817gr586f963a5inhkvnh81",
   "rule_set_name": "MyRuleSet",
   "rule_name": "MyRule",
   "rule_index": 1,
   "recipients_matched": ["recipient1@domain.com", "recipient2@domain.com"],
   "action_metadata": {
       "action_name": "WRITE_TO_S3" | "DROP" | "RELAY" | "DELIVER_TO_MAILBOX" | etc.,
       "action_index": 2,
       "action_status": "SUCCESS" | "FAILURE" | "IN_PROGRESS",
       "action_failure": "Access denied"
   }
}
```
+ `recipients_matched`— Die Empfänger, auf die die Bedingungen der Regel zutreffen, für die die Aktion ausgeführt wird.
+ `rule_index`— Die Reihenfolge der Regel innerhalb des Regelsatzes.
+ `action_index`— Die Reihenfolge der Aktion innerhalb der Regel.
+ `action_status`— Zeigt das Ergebnis der Ausführung der Aktion für die angegebene Nachricht an.
+ `action_failure`— Zeigt die Fehlerdetails der Aktion an (gilt nur, wenn eine Aktion fehlschlägt). Zum Beispiel, wenn die angegebene Rolle nicht über genügend Berechtigungen verfügt, um die Aktion auszuführen.

Wenn die Regelbedingungen für eine Nachricht nicht zutreffen, d. h. wenn die Nachricht nicht von der Regel verarbeitet wird, wird außerdem ein einzelnes Protokoll veröffentlicht, das angibt, dass die Nachricht nach dem Regelsatz verarbeitet wurde, aber keine Aktionen darauf ausgeführt wurden:

```
{
   "resource_arn": "arn:aws:ses:us-east-1:1234567890:mailmanager-rule-set/rs-xxxx",
   "event_timestamp": 1732298258254,
   "message_id": "0000llcki1jmushh817gr586f963a5inhkvnh81",
   "rule_set_name": "MyRuleSet",
   "rule_name": "MyRule",
   "rule_index": 1,
   "recipients_matched": [],
}
```

#### Beispiel für CloudWatch Logs Insights-Abfragen
<a name="rule-set-queries"></a>

Abfrage nach einer bestimmten Nachrichten-ID (zeigt den Nachrichtenfluss durch den Regelsatz):

```
fields @timestamp, @message, @logStream, @log
| filter message_id = 'message-id-123'
| sort @timestamp desc
| limit 10000
```

Abfrage nach fehlgeschlagenen WRITE\$1TO\$1S3-Aktionen:

```
fields @timestamp, @message, @logStream, @log
| filter action_metadata.action_name = 'WRITE_TO_S3'
    and action_metadata.action_status = 'FAILURE'
| sort @timestamp desc
| limit 10000
```

Abfrage nach Nachrichten, die nicht nach der zweiten Regel eines Regelsatzes verarbeitet wurden (die Nachricht erfüllte nicht die Bedingungen der Regel):

```
fields @timestamp, @message, @logStream, @log
| filter recipients_matched = '[]'
    and rule_index = 2
| sort @timestamp desc
| limit 10000
```