

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.

# Protokollieren von API-Aufrufen für Webfunktionen mit AWS CloudTrail
<a name="web-functions-logging-cloudtrail"></a>

Mit können Sie die Aktionen verfolgen [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html), die von einem Benutzer, einer Rolle oder AWS-Service in AWS Lambda Web Functions ausgeführt wurden. CloudTrail bietet eine Aufzeichnung dieser Aktionen. CloudTrail erfasst Aufrufe von Webfunktionen als Datenereignisse. Sie können diese Informationen verwenden, um festzustellen, wer wann und von wo aus eine Webfunktion aufgerufen hat, was bei der Sicherheitsanalyse und Betriebsprüfung hilfreich ist.

## Datenereignisse der Webfunktion in CloudTrail
<a name="web-functions-cloudtrail-data-events"></a>

Datenereignisse liefern Informationen über Operationen, die an einer Ressource ausgeführt werden. Beispielsweise ist das Aufrufen eines Webfunktionsendpunkts ein Datenereignis. Diese Operationen werden auch als Operationen auf Datenebene bezeichnet und sind häufig sehr umfangreich. Standardmäßig werden CloudTrail keine Datenereignisse protokolliert, und im CloudTrail **Ereignisverlauf** werden sie nicht aufgezeichnet.

Für Datenereignisse werden zusätzliche Gebühren fällig. Weitere Informationen finden Sie unter [CloudTrail – Preise](https://aws.amazon.com/cloudtrail/pricing/).

Sie können Datenereignisse für den `AWS::Lambda::WebFunction` Ressourcentyp mithilfe der CloudTrail Konsole oder CloudTrail API-Operationen protokollieren. AWS CLI CloudTrail zeichnet jeden Aufruf in der Region auf AWS-Region , die die Anfrage bedient hat, und `awsRegion` identifiziert diese Region. Im Gegensatz zu Protokollen und Metriken werden Aufrufereignisse nicht in der Heimatregion zentralisiert. Verwenden Sie für einen `MultiRegion` `PerRegion` OR-Endpunkt einen Trail- oder Event-Datenspeicher mit mehreren Regionen, sodass Aufrufe in jeder Region, die der Endpunkt bedient, aufgezeichnet werden.

Die folgende Tabelle zeigt den Datenereignistyp für Webfunktionen.


| Typ des Datenereignisses (Konsole) | resources.type-Wert | Daten-APIs, bei denen Sie angemeldet sind CloudTrail | 
| --- | --- | --- | 
| Lambda-Webfunktion | AWS::Lambda::WebFunction | InvokeWebFunctionEndpoint | 

CloudTrail zeichnet die folgenden Schlüsselbezeichner für den Aufruf einer Webfunktion auf:


| Kennung | Wert | 
| --- | --- | 
| eventSource | lambda.amazonaws.com | 
| eventName | InvokeWebFunctionEndpoint. Dies ist der Wert, nach dem gefiltert werden soll. | 
| IAM-Aktion | lambda:InvokeWebFunctionEndpoint | 
| readOnly | false, weil ein Aufruf Ihren Funktionscode ausführt. | 
| resources.type | AWS::Lambda::WebFunction | 
| resources.ARN | Die Funktion ARN, nicht der Endpunkt-ARN. Trail-Selektoren funktionieren daher auf Funktionsebene. | 

Der folgende erweiterte Event-Selektor protokolliert Aufrufe nur für eine einzelne Webfunktion.

```
[
    {
        "Name": "web-function-invokes",
        "FieldSelectors": [
            { "Field": "eventCategory", "Equals": ["Data"] },
            { "Field": "resources.type", "Equals": ["AWS::Lambda::WebFunction"] },
            { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-1:111122223333:web-function/hello-world"] }
        ]
    }
]
```

Gehen Sie wie folgt vor, um Datenereignisse auf einem Trail zu aktivieren.

**Um Datenereignisse der Webfunktion zu aktivieren und zu überprüfen (AWS CLI)**

1. Erstellen Sie den Trail, der die Datenereignisse aufzeichnet, oder wählen Sie ihn aus. Anweisungen finden Sie im *AWS CloudTrail Benutzerhandbuch* unter [Protokollieren von Datenereignissen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html).

1. Speichern Sie den folgenden erweiterten Event-Selektor unter. `web-function-data-events.json` Er zeichnet Aufrufe für eine Webfunktion auf. Um Aufrufe für jede Webfunktion im Konto aufzuzeichnen, entfernen Sie die Feldauswahl. `resources.ARN`

   ```
   [
     {
       "Name": "web-function-invocations",
       "FieldSelectors": [
         {
           "Field": "eventCategory",
           "Equals": ["Data"]
         },
         {
           "Field": "resources.type",
           "Equals": ["AWS::Lambda::WebFunction"]
         },
         {
           "Field": "resources.ARN",
           "Equals": [
             "arn:aws:lambda:us-east-1:111122223333:web-function/my-web-app"
           ]
         }
       ]
     }
   ]
   ```

1. Wenden Sie den Selektor auf den Trail an:

   ```
   aws cloudtrail put-event-selectors \
       --trail-name {{my-trail}} \
       --advanced-event-selectors file://web-function-data-events.json
   ```
**Wichtig**  
`put-event-selectors`ersetzt die vorhandenen Event-Selektoren des Trails. Wenn der Trail bereits andere Ereignisse aufzeichnet, fügen Sie deren Selektoren in dieselbe Datei ein.

1. Rufen Sie den Endpunkt mit einer Testanforderung auf.

1. Fragen Sie das Ziel des Pfads für `eventName = InvokeWebFunctionEndpoint` ab. Überprüfen Sie den Funktions-ARN, die Ereigniszeit, die Anforderungs-ID, die für den Authentifizierungspfad verfügbaren Anruferinformationen und alle Felder für bedingte Fehler. Wenn der Selektor funktioniert, gibt die Abfrage ein `InvokeWebFunctionEndpoint` Ereignis für Ihre Testanforderung zurück, ähnlich dem Beispiel unter. [Beispiel: erfolgreicher Aufruf (nicht authentifizierter Anrufer)](#web-functions-cloudtrail-example-success)

Um Datenereignisse stattdessen in einem CloudTrail Lake-Ereignisdatenspeicher aufzuzeichnen, fügen Sie dem Ereignisdatenspeicher dieselben Feldselektoren hinzu. Weitere Informationen finden Sie im *AWS CloudTrail -Benutzerhandbuch*.

## Felder in einem Ereignis InvokeWebFunctionEndpoint
<a name="web-functions-cloudtrail-event-fields"></a>

In der folgenden Tabelle werden die Felder in einem `InvokeWebFunctionEndpoint` Ereignis beschrieben.


| Feld | Hinweise | 
| --- | --- | 
| eventVersion | Die Version des -Ereignisformats. | 
| eventSource | Immer lambda.amazonaws.com. | 
| eventName | Immer InvokeWebFunctionEndpoint. | 
| eventCategory | Immer Data. | 
| eventType | Zum Beispiel der EreignistypAwsApiCall. | 
| readOnly | Immerfalse, weil ein Aufruf Ihren Funktionscode ausführt. | 
| managementEvent | Immer false. | 
| eventTime | Datum und Uhrzeit in UTC, an dem Lambda das Ereignis aufgezeichnet hat. Für einen erfolgreichen Aufruf zeichnet Lambda das Ereignis auf, wenn Ihre Funktion ihre Antwort startet, also eventTime kann es später als zu dem Zeitpunkt sein, zu dem die Anfrage eingetroffen ist. | 
| sourceIPAddress | Die IP-Adresse, von der die Anforderung erfolgt ist. | 
| userAgent | Der Agent, mit dem der Anrufer die Anfrage gestellt hat. Anwesend, wenn der Anrufer einen User-Agent Header sendet. | 
| requestParameters | Enthält endpointArn den ARN des aufgerufenen Endpunkts. Die Payload der Anfrage wird nicht protokolliert. | 
| responseElements | Immer null. | 
| resources | Enthält einen Eintrag mit den accountIdtype, und ARN der Funktion. | 
| additionalEventData | Enthält functionRevisionArn den ARN der Revision, die die Anfrage bearbeitet hat. Dieses Feld ist bei jedem Ereignis vorhanden, auch bei Ablehnungen. | 
| tlsDetails | Die TLS-Version, die Cipher Suite und der Host-Header der Anfrage. | 
| userIdentity | Die Identität des Anrufers. Einzelheiten finden Sie in der folgenden Liste. | 
| sharedEventID | Vorhanden CloudTrail , wenn dasselbe Ereignis an mehrere Personen gesendet wird AWS-Konto. | 
| errorCode, errorMessage | Nur bei einem Fehlerereignis vorhanden. | 
| requestID, eventID, recipientAccountId, awsRegion |  CloudTrail Standardfelder, die die Anfrage, das Ereignis, den Empfänger AWS-Konto und den identifizieren AWS-Region. | 

Web-Funktionsereignisse verwenden die folgenden ARN-Formen:
+ Funktion (`resources[].ARN`) — `arn:aws:lambda:us-east-1:123456789012:web-function/my-fn`
+ Endpunkt (`requestParameters.endpointArn`) — `arn:aws:lambda:us-east-1:123456789012:web-function/my-fn/endpoint/my-endpoint`
+ Revision (`additionalEventData.functionRevisionArn`) — `arn:aws:lambda:us-east-1:123456789012:web-function/my-fn/revision/rev-a1b2c`

Das `userIdentity` Feld hängt davon ab, wie sich der Anrufer authentifiziert hat:
+ Nicht authentifizierte Aufrufe werden mit Typ aufgezeichnet. `userIdentity` `Unknown`
+ IAM-authenticated Anrufer werden mit ihrem eigenen Principal protokolliert. Beispielsweise wird ein Anrufer, der temporäre Anmeldeinformationen verwendet`AssumedRole`, mit den Typen an `arn` und a angezeigt. `sessionContext`
+ Das Feld `accessKeyId` wird nicht gefüllt.

## Fehlerereignisse
<a name="web-functions-cloudtrail-error-events"></a>

CloudTrail protokolliert auch Aufrufversuche, die fehlschlagen, nachdem der Anrufer authentifiziert wurde. In der folgenden Tabelle werden diese Fehlerereignisse beschrieben.


| Szenario | errorCode | errorMessage | 
| --- | --- | --- | 
| Der Anrufer ist nicht autorisiert | AccessDenied | Der Benutzer ist nicht berechtigt, Folgendes auszuführen: lambda:InvokeWebFunctionEndpoint | 
| Anforderungsrate, Parallelität oder vCPU-Limit erreicht (Endpunkt oder Konto) | ThrottlingException | Quote überschritten. | 
| Dienstfehler | ServiceException | Servicefehler | 
| Anwendungsfehler oder ungültige Client-Anfrage | Nicht zutreffend | Wird als erfolgreicher API-Aufruf behandelt. Der Aufruf hat die Funktion erreicht und ausgeführt. | 

Bei einem erfolgreichen Aufruf gibt es kein Oder. `errorCode` `errorMessage` Autorisierungsverweigerungen werden als protokolliert. `AccessDenied` CloudTrail zeichnet keine Anfragen auf, bei denen die Authentifizierung fehlschlägt, wie Anfragen mit einer fehlenden, falsch formatierten, ungültigen oder abgelaufenen Signatur, und zeichnet keine Anfragen auf, die Lambda vor der Authentifizierung ablehnt, wie Anfragen an einen Endpunkt, dessen `rateLimit` Wert 0 ist. Ausfälle der internen Authentifizierungsinfrastruktur werden ebenfalls nicht aufgezeichnet. Um einen Anstieg der abgelehnten Anfragen zu erkennen, aktivieren Sie den Alarm `HTTPResponseStatusClass4XX` im `AWS/Lambda/Web` Namespace.

## Beispiel: erfolgreicher Aufruf (nicht authentifizierter Anrufer)
<a name="web-functions-cloudtrail-example-success"></a>

Das folgende Beispiel zeigt einen erfolgreichen Aufruf durch einen nicht authentifizierten Anrufer.

```
{
    "Records": [
        {
            "eventVersion": "1.11",
            "userIdentity": {
                "type": "Unknown"
            },
            "eventTime": "2026-09-22T18:41:07Z",
            "eventSource": "lambda.amazonaws.com",
            "eventName": "InvokeWebFunctionEndpoint",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "203.0.113.42",
            "userAgent": "curl/8.4.0",
            "requestParameters": {
                "endpointArn": "arn:aws:lambda:us-east-1:123456789012:web-function/my-fn/endpoint/my-endpoint"
            },
            "responseElements": null,
            "additionalEventData": {
                "functionRevisionArn": "arn:aws:lambda:us-east-1:123456789012:web-function/my-fn/revision/rev-a1b2c"
            },
            "requestID": "b1f8a4c2-7e3d-4a19-9f6b-2c5d8e0a1234",
            "eventID": "d4c3b2a1-5f6e-7a8b-9c0d-1e2f3a4b5c6d",
            "readOnly": false,
            "resources": [
                {
                    "accountId": "123456789012",
                    "type": "AWS::Lambda::WebFunction",
                    "ARN": "arn:aws:lambda:us-east-1:123456789012:web-function/my-fn"
                }
            ],
            "eventType": "AwsApiCall",
            "managementEvent": false,
            "recipientAccountId": "123456789012",
            "eventCategory": "Data",
            "tlsDetails": {
                "tlsVersion": "TLSv1.3",
                "cipherSuite": "TLS_AES_128_GCM_SHA256",
                "clientProvidedHostHeader": "bcdfghjklmnpqrst.b7t.lambda-web.us-east-1.on.aws"
            }
        }
    ]
}
```

Bei einem IAM-authenticated Anrufer enthält das `userIdentity` Feld stattdessen den Principal des Aufrufers, z. B. Typ `AssumedRole` mit einem `arn` und einem`sessionContext`, und die übrigen Felder bleiben unverändert.

## Beispiel: Abgelehnter Aufruf
<a name="web-functions-cloudtrail-example-denied"></a>

Fehlerereignisse werden übertragen `errorCode` und`errorMessage`. Das folgende Beispiel zeigt einen abgelehnten Aufruf.

```
{
    "Records": [
        {
            "eventVersion": "1.11",
            "userIdentity": {
                "type": "AssumedRole",
                "principalId": "ARO01EXAMPLEID:session-name",
                "arn": "arn:aws:sts::123456789012:assumed-role/app-invoke-role/session-name",
                "accountId": "123456789012",
                "sessionContext": {
                    "sessionIssuer": {
                        "type": "Role",
                        "principalId": "ARO01EXAMPLEID",
                        "arn": "arn:aws:iam::123456789012:role/app-invoke-role",
                        "accountId": "123456789012",
                        "userName": "app-invoke-role"
                    },
                    "attributes": {
                        "creationDate": "2026-09-22T18:39:55Z",
                        "mfaAuthenticated": "false"
                    }
                }
            },
            "eventTime": "2026-09-22T18:42:13Z",
            "eventSource": "lambda.amazonaws.com",
            "eventName": "InvokeWebFunctionEndpoint",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "203.0.113.42",
            "userAgent": "aws-sdk-python/1.34.0",
            "errorCode": "AccessDenied",
            "errorMessage": "User is not authorized to perform: lambda:InvokeWebFunctionEndpoint",
            "requestParameters": {
                "endpointArn": "arn:aws:lambda:us-east-1:123456789012:web-function/my-fn/endpoint/my-endpoint"
            },
            "responseElements": null,
            "additionalEventData": {
                "functionRevisionArn": "arn:aws:lambda:us-east-1:123456789012:web-function/my-fn/revision/rev-a1b2c"
            },
            "requestID": "c2e9b5d3-8f4e-4b2a-a07c-3d6e9f1b2345",
            "eventID": "e5d4c3b2-6a7f-8b9c-0d1e-2f3a4b5c6d7e",
            "readOnly": false,
            "resources": [
                {
                    "accountId": "123456789012",
                    "type": "AWS::Lambda::WebFunction",
                    "ARN": "arn:aws:lambda:us-east-1:123456789012:web-function/my-fn"
                }
            ],
            "eventType": "AwsApiCall",
            "managementEvent": false,
            "recipientAccountId": "123456789012",
            "eventCategory": "Data",
            "tlsDetails": {
                "tlsVersion": "TLSv1.3",
                "cipherSuite": "TLS_AES_128_GCM_SHA256",
                "clientProvidedHostHeader": "bcdfghjklmnpqrst.b7t.lambda-web.us-east-1.on.aws"
            }
        }
    ]
}
```

## Verwaltungsereignisse in CloudTrail
<a name="web-functions-cloudtrail-management-events"></a>

CloudTrail zeichnet standardmäßig Verwaltungsereignisse für Webfunktionen auf. Sie können die Verwaltungsereignisse der letzten 90 Tage im CloudTrail **Event-Verlauf** einsehen, ohne eine Spur zu erstellen. Um sie länger zu speichern, erstellen Sie einen Trail- oder CloudTrail Lake-Event-Datenspeicher. Weitere Informationen finden Sie unter [Protokollieren von Verwaltungsereignissen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) im *AWS CloudTrail -Benutzerhandbuch.*

CloudTrail zeichnet die folgenden Webfunktionsvorgänge als Verwaltungsereignisse auf. Das `eventName` Feld jedes Ereignisses entspricht dem Operationsnamen.


| Ressource oder Aufgabe | Operationen | 
| --- | --- | 
| Web-Funktionen | CreateWebFunction, GetWebFunction, ListWebFunctions, DeleteWebFunction | 
| Überarbeitungen | CreateWebFunctionRevision, GetWebFunctionRevision, ListWebFunctionRevisions, DeleteWebFunctionRevision | 
| Endpunkte | CreateWebFunctionEndpoint, GetWebFunctionEndpoint, ListWebFunctionEndpoints, UpdateWebFunctionEndpoint, DeleteWebFunctionEndpoint | 
| Kontoeinstellungen | GetWebAccountSettings | 
| Ressourcenrichtlinien | PutResourcePolicy, GetResourcePolicy, DeleteResourcePolicy | 
| Tags (Markierungen) | TagResource, UntagResource, ListTags | 

Der Aufruf einer Webfunktion ist eine Operation auf Datenebene. CloudTrail protokolliert ihn nur als Datenereignis, wie unter beschrieben. [Datenereignisse der Webfunktion in CloudTrail](#web-functions-cloudtrail-data-events)

## Zugehörige Ressourcen
<a name="web-functions-cloudtrail-related"></a>

Weitere Informationen finden Sie in den folgenden Ressourcen:
+ [Protokollierung AWS Lambda API-Aufrufe mit AWS CloudTrail](logging-using-cloudtrail.md)
+ [Berechtigungen für Lambda-Webfunktionen](web-functions-permissions.md)
+ [Erstellen Sie einen Trail für Ihren AWS-Konto](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)