View a markdown version of this page

Protokollierung AWS Lambda API-Aufrufe mit AWS CloudTrail - AWS Lambda

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.

Protokollierung AWS Lambda API-Aufrufe mit AWS CloudTrail

AWS Lambda ist in einen Dienst integriert AWS CloudTrail, der eine Aufzeichnung der von einem Benutzer, einer Rolle oder einem Benutzer ausgeführten Aktionen bereitstellt AWS-Service. CloudTrail erfasst API-Aufrufe für Lambda als Ereignisse. Zu den erfassten Aufrufen gehören Aufrufe über die Lambda-Konsole und Codeaufrufe der Lambda-API-Operationen. Anhand der gesammelten Informationen können Sie ermitteln CloudTrail, welche Anfrage an Lambda gestellt wurde, die IP-Adresse, von der aus die Anfrage gestellt wurde, wann sie gestellt wurde, und weitere Details.

Jeder Ereignis- oder Protokolleintrag enthält Informationen zu dem Benutzer, der die Anforderung generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte:

  • Ob die Anforderung mit Anmeldeinformationen des Root-Benutzers oder des Benutzers gestellt wurde.

  • Die Anforderung wurde im Namen eines IAM-Identity-Center-Benutzers erstellt.

  • Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.

  • Ob die Anforderung aus einem anderen AWS-Service gesendet wurde.

CloudTrail ist in Ihrem Konto aktiv AWS-Konto , wenn Sie das Konto erstellen, und Sie haben automatisch Zugriff auf den CloudTrail Eventverlauf. Der CloudTrail Eventverlauf bietet eine einsehbare, durchsuchbare, herunterladbare und unveränderliche Aufzeichnung der aufgezeichneten Verwaltungsereignisse der letzten 90 Tage in einem. AWS-Region Weitere Informationen finden Sie im AWS CloudTrail Benutzerhandbuch unter Arbeiten mit dem CloudTrail Ereignisverlauf. Für die Anzeige des Eventverlaufs CloudTrail fallen keine Gebühren an.

Für eine fortlaufende Aufzeichnung der Ereignisse der AWS-Konto letzten 90 Tage erstellen Sie einen Trail- oder CloudTrail Lake-Event-Datenspeicher.

CloudTrail Pfade

Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3-Bucket. Alle Trails, die mit dem erstellt wurden, AWS-Managementkonsole sind multiregional. Sie können mithilfe von AWS CLI einen Einzel-Region- oder einen Multi-Region-Trail erstellen. Es wird empfohlen, einen Wanderweg mit mehreren Regionen zu erstellen, da du alle Aktivitäten AWS-Regionen in deinem Konto aufzeichnest. Wenn Sie einen Einzel-Region-Trail erstellen, können Sie nur die Ereignisse anzeigen, die im AWS-Region des Trails protokolliert wurden. Weitere Informationen zu Trails finden Sie unter Erstellen eines Trails für Ihr AWS-Konto und Erstellen eines Trails für eine Organisation im AWS CloudTrail -Benutzerhandbuch.

Sie können eine Kopie Ihrer laufenden Verwaltungsereignisse kostenlos an Ihren Amazon S3-Bucket senden, CloudTrail indem Sie einen Trail erstellen. Es fallen jedoch Amazon S3-Speichergebühren an. Weitere Informationen zur CloudTrail Preisgestaltung finden Sie unter AWS CloudTrail Preisgestaltung. Informationen zu Amazon-S3-Preisen finden Sie unter Amazon S3 – Preise.

CloudTrail Lake Event Data Stores

CloudTrail Mit Lake können Sie SQL-based Abfragen zu Ihren Ereignissen ausführen. CloudTrail Lake konvertiert bestehende Ereignisse im zeilenbasierten JSON-Format in das Apache ORC-Format. ORC ist ein spaltenförmiges Speicherformat, das für den schnellen Abruf von Daten optimiert ist. Die Ereignisse werden in Ereignisdatenspeichern zusammengefasst, bei denen es sich um unveränderliche Sammlungen von Ereignissen handelt, die auf Kriterien basieren, die Sie mit Hilfe von erweiterten Ereignisselektoren auswählen. Die Selektoren, die Sie auf einen Ereignisdatenspeicher anwenden, steuern, welche Ereignisse bestehen bleiben und für Sie zur Abfrage verfügbar sind. Weitere Informationen zu CloudTrail Lake finden Sie unter Arbeiten mit AWS CloudTrail Lake im AWS CloudTrail Benutzerhandbuch.

CloudTrail Das Speichern und Abfragen von Lake Event-Daten ist mit Kosten verbunden. Beim Erstellen eines Ereignisdatenspeichers wählen Sie die Preisoption aus, die für den Ereignisdatenspeicher genutzt werden soll. Die Preisoption bestimmt die Kosten für die Erfassung und Speicherung von Ereignissen sowie die standardmäßige und maximale Aufbewahrungsdauer für den Ereignisdatenspeicher. Weitere Informationen zur Preisgestaltung finden Sie unter CloudTrail AWS CloudTrail Preisgestaltung.

Lambda-Datenereignisse in CloudTrail

Datenereignisse liefern Informationen über die Ressourcenoperationen, die auf oder in einer Ressource ausgeführt werden (z. B. Lesen oder Schreiben in ein Amazon-S3-Objekt). Sie werden auch als Vorgänge auf Datenebene bezeichnet. Datenereignisse sind oft Aktivitäten mit hohem Volume. Standardmäßig werden die meisten Datenereignisse CloudTrail nicht protokolliert, und der CloudTrail Event-Verlauf zeichnet sie nicht auf.

Ein CloudTrail Datenereignis, das standardmäßig für unterstützte Dienste protokolliert wird, istLambdaESMDisabled. Weitere Informationen zur Verwendung dieses Ereignisses zur Behebung von Problemen mit Lambda-Zuordnungen von Ereignisquellen finden Sie unter Wird CloudTrail zur Fehlerbehebung bei deaktivierten Lambda-Ereignisquellen verwendet.

Für Datenereignisse werden zusätzliche Gebühren fällig. Weitere Informationen zur CloudTrail Preisgestaltung finden Sie unter AWS CloudTrail Preisgestaltung.

Sie können Datenereignisse für den AWS::Lambda::Function Ressourcentyp mithilfe der CloudTrail Konsole oder mithilfe von CloudTrail API-Vorgängen protokollieren. AWS CLI Weitere Informationen zum Protokollieren von Datenereignissen finden Sie unter Protokollieren von Datenereignissen mit dem AWS-Managementkonsole und Protokollieren von Datenereignissen mit dem AWS Command Line Interface im AWS CloudTrail -Benutzerhandbuch.

In der folgenden Tabelle ist der Lambda-Ressourcentyp aufgeführt, für die Sie Datenereignisse protokollieren können. In der Spalte Datenereignistyp (Konsole) wird der Wert angezeigt, den Sie aus der Liste der Datenereignistypen auf der CloudTrail Konsole auswählen können. In der Wertespalte resources.type wird der resources.type Wert angezeigt, den Sie bei der Konfiguration erweiterter Event-Selektoren mithilfe der AWS CLI OR-APIs angeben würden. CloudTrail In der CloudTrail Spalte „Daten-APIs protokolliert unter“ werden die API-Aufrufe angezeigt, bei denen CloudTrail für den Ressourcentyp protokolliert wurde.

Typ des Datenereignisses (Konsole) resources.type-Wert Daten-APIs, bei denen protokolliert wurde CloudTrail
Lambda AWS::Lambda::Function

Invoke

Sie können erweiterte Event-Selektoren so konfigurieren, dass sie nach den Feldern eventName, readOnly und resources.ARN filtern, sodass nur die Ereignisse protokolliert werden, die für Sie wichtig sind. Das folgende Beispiel ist die JSON-Ansicht einer Datenereigniskonfiguration, die nur Ereignisse für eine bestimmte Funktion protokolliert. Weitere Informationen zu diesen Kontingenten finden Sie unter AdvancedFieldSelector in derAWS CloudTrail -API-Referenz.

[ { "name": "function-invokes", "fieldSelectors": [ { "field": "eventCategory", "equals": [ "Data" ] }, { "field": "resources.type", "equals": [ "AWS::Lambda::Function" ] }, { "field": "resources.ARN", "equals": [ "arn:aws:lambda:us-east-1:111122223333:function:hello-world" ] } ] } ]

Lambda-Managementereignisse in CloudTrail

Verwaltungsereignisse enthalten Informationen zu Verwaltungsvorgängen, die an Ressourcen in Ihrem AWS-Konto ausgeführt werden. Sie werden auch als Vorgänge auf Steuerebene bezeichnet. CloudTrail Protokolliert standardmäßig Verwaltungsereignisse.

Lambda unterstützt die Protokollierung der folgenden Aktionen als Verwaltungsereignisse in CloudTrail Protokolldateien.

Anmerkung

In der CloudTrail Protokolldatei eventName können Datums- und Versionsinformationen enthalten sein, aber sie bezieht sich immer noch auf dieselbe öffentliche API-Aktion. Zum Beispiel erscheint die Aktion GetFunction als GetFunction20150331v2. Der folgende Liste gibt an, wann sich der Ereignisname vom API-Aktionsnamen unterscheidet.

Wird CloudTrail zur Fehlerbehebung bei deaktivierten Lambda-Ereignisquellen verwendet

Wenn Sie den Status einer Ereignisquellenzuordnung mithilfe der UpdateEventSourceMapping API-Aktion ändern, wird der API-Aufruf als Verwaltungsereignis protokolliert. CloudTrail Zuordnungen von Ereignisquellen können aufgrund von Fehlern auch direkt in den Disabled-Status übergehen.

Für die folgenden Dienste veröffentlicht Lambda das LambdaESMDisabled Datenereignis, CloudTrail wenn Ihre Ereignisquelle in den Status Deaktiviert übergeht:

  • Amazon-Simple-Queue-Service (Amazon SQS)

  • Amazon DynamoDB

  • Amazon Kinesis

Lambda unterstützt dieses Ereignis nicht für andere Ereignisquellen-Zuordnungstypen.

Um Benachrichtigungen zu erhalten, wenn die Zuordnungen der Ereignisquellen für unterstützte Dienste in den Disabled Status übergehen, richten Sie in Amazon CloudWatch anhand des Ereignisses einen Alarm ein. LambdaESMDisabled CloudTrail Weitere Informationen zum Einrichten eines CloudWatch Alarms finden Sie unter CloudWatch Alarme für CloudTrail Ereignisse erstellen: Beispiele.

Die serviceEventDetails-Entität in der LambdaESMDisabled-Ereignismeldung enthält einen der folgenden Fehlercodes.

RESOURCE_NOT_FOUND

Die in der Anforderung angegebene Ressource ist nicht vorhanden.

FUNCTION_NOT_FOUND

Die an die Ereignisquelle angefügte Funktion ist nicht vorhanden.

REGION_NAME_NOT_VALID

Ein Regionsname, der der Ereignisquelle oder -funktion zur Verfügung gestellt wird, ist ungültig.

AUTHORIZATION_ERROR

Es wurden keine Berechtigungen festgelegt oder sie wurden falsch konfiguriert.

FUNCTION_IN_FAILED_STATE

Der Funktionscode wird nicht kompiliert, hat eine nicht wiederherstellbare Ausnahme festgestellt oder eine fehlerhafte Bereitstellung ist aufgetreten.

Beispiele für Lambda-Ereignisse

Ein Ereignis stellt eine einzelne Anfrage aus einer beliebigen Quelle dar und enthält Informationen über den angeforderten API-Vorgang, Datum und Uhrzeit des Vorgangs, Anforderungsparameter usw. CloudTrail Protokolldateien sind kein geordneter Stack-Trace der öffentlichen API-Aufrufe, sodass Ereignisse nicht in einer bestimmten Reihenfolge angezeigt werden.

Das folgende Beispiel zeigt CloudTrail Logeinträge für die DeleteFunction Aktionen GetFunction und.

Anmerkung

Die eventName kann Datums- und Versionsinformationen enthalten, wie z. B. die "GetFunction20150331", aber sie bezieht sich immer noch auf dieselbe öffentliche API.

{ "Records": [ { "eventVersion": "1.03", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/myUserName", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "myUserName" }, "eventTime": "2015-03-18T19:03:36Z", "eventSource": "lambda.amazonaws.com", "eventName": "GetFunction", "awsRegion": "us-east-1", "sourceIPAddress": "127.0.0.1", "userAgent": "Python-httplib2/0.8 (gzip)", "errorCode": "AccessDenied", "errorMessage": "User: arn:aws:iam::111122223333:user/myUserName is not authorized to perform: lambda:GetFunction on resource: arn:aws:lambda:us-west-2:111122223333:function:other-acct-function", "requestParameters": null, "responseElements": null, "requestID": "7aebcd0f-cda1-11e4-aaa2-e356da31e4ff", "eventID": "e92a3e85-8ecd-4d23-8074-843aabfe89bf", "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }, { "eventVersion": "1.03", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/myUserName", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "myUserName" }, "eventTime": "2015-03-18T19:04:42Z", "eventSource": "lambda.amazonaws.com", "eventName": "DeleteFunction20150331", "awsRegion": "us-east-1", "sourceIPAddress": "127.0.0.1", "userAgent": "Python-httplib2/0.8 (gzip)", "requestParameters": { "functionName": "basic-node-task" }, "responseElements": null, "requestID": "a2198ecc-cda1-11e4-aaa2-e356da31e4ff", "eventID": "20b84ce5-730f-482e-b2b2-e8fcc87ceb22", "eventType": "AwsApiCall", "recipientAccountId": "111122223333" } ] }

Informationen zu CloudTrail Datensatzinhalten finden Sie im AWS CloudTrail Benutzerhandbuch unter CloudTrail Datensatzinhalte.