Enregistrement des appels AWS Lambda d'API à l'aide de AWS CloudTrail - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Enregistrement des appels AWS Lambda d'API à l'aide de AWS CloudTrail

AWS Lambda est intégré à AWS CloudTrailun service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un Service AWS. CloudTrail capture les appels d'API pour Lambda sous forme d'événements. Les appels capturés incluent des appels de la console Lambda et les appels de code vers les opérations d’API Lambda. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite à Lambda, l'adresse IP à partir de laquelle la demande a été faite, la date à laquelle elle a été faite et des informations supplémentaires.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer :

  • Si la demande a été effectuée avec des informations d’identification d’utilisateur root ou d’utilisateur root.

  • Si la demande a été faite au nom d'un utilisateur de l'IAM Identity Center.

  • Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.

  • Si la requête a été effectuée par un autre Service AWS.

CloudTrail est actif dans votre compte Compte AWS lorsque vous créez le compte et vous avez automatiquement accès à l'historique des CloudTrail événements. L'historique des CloudTrail événements fournit un enregistrement consultable, consultable, téléchargeable et immuable des 90 derniers jours des événements de gestion enregistrés dans un. Région AWS Pour plus d'informations, consultez la section Utilisation de l'historique des CloudTrail événements dans le guide de AWS CloudTrail l'utilisateur. La consultation de CloudTrail l'historique des événements est gratuite.

Pour un enregistrement continu des événements de vos 90 Compte AWS derniers jours, créez un magasin de données sur les événements de Trail ou CloudTrailLake.

CloudTrail sentiers

Un suivi permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Tous les sentiers créés à l'aide du AWS Management Console sont multirégionaux. Vous pouvez créer un parcours à région unique ou multirégionale à l'aide du. AWS CLI Il est recommandé de créer un parcours multirégional, car vous capturez l'activité dans l'ensemble Régions AWS de votre compte. Si vous créez un parcours à région unique, vous ne pouvez voir que les événements enregistrés dans le parcours. Région AWS Pour plus d'informations sur les sentiers, consultez les sections Création d'un sentier pour votre organisation Compte AWS et Création d'un sentier pour une organisation dans le guide de AWS CloudTrail l'utilisateur.

Vous pouvez envoyer une copie de vos événements de gestion en cours dans votre compartiment Amazon S3 gratuitement CloudTrail en créant un journal. Toutefois, des frais de stockage Amazon S3 sont facturés. Pour plus d'informations sur la CloudTrail tarification, consultez la section AWS CloudTrail Tarification. Pour obtenir des informations sur la tarification Amazon S3, consultez Tarification Amazon S3.

CloudTrail Stockages de données sur les événements du lac

CloudTrail Lake vous permet d'exécuter des requêtes SQL sur vos événements. CloudTrail Lake convertit les événements existants au format JSON basé sur les lignes au format Apache ORC. ORC est un format de stockage en colonnes qui est optimisé pour une récupération rapide des données. Les événements sont agrégés dans des magasins de données d’événement. Ceux-ci constituent des collections immuables d’événements basées sur des critères que vous sélectionnez en appliquant des sélecteurs d’événements avancés. Les sélecteurs que vous appliquez à un magasin de données d’événement contrôlent les événements qui persistent et que vous pouvez interroger. Pour plus d'informations sur CloudTrail Lake, consultez la section Travailler avec AWS CloudTrail Lake dans le guide de AWS CloudTrail l'utilisateur.

CloudTrail Les stockages et requêtes de données sur les événements de Lake entraînent des coûts. Lorsque vous créez un magasin de données d’événement, vous choisissez l’option de tarification que vous voulez utiliser pour le magasin de données d’événement. L’option de tarification détermine le coût d’ingestion et de stockage des événements, ainsi que les périodes de conservation par défaut et maximale pour le magasin de données d’événement. Pour plus d'informations sur la CloudTrail tarification, consultez la section AWS CloudTrail Tarification.

Événements relatifs aux données Lambda dans CloudTrail

Les événements de données fournissent des informations sur les opérations de ressources effectuées sur ou dans une ressource (par exemple, lecture ou écriture de données dans un objet Amazon S3). Ils sont également connus sous le nom opérations de plans de données. Les événements de données sont souvent des activités dont le volume est élevé. Par défaut, CloudTrail n'enregistre pas la plupart des événements liés aux données et l'historique des CloudTrail événements ne les enregistre pas.

Un événement de CloudTrail données enregistré par défaut pour les services pris en charge estLambdaESMDisabled. Pour en savoir plus sur l'utilisation de cet événement afin de résoudre les problèmes liés aux mappages de sources d'événements Lambda, consultez. Utilisation CloudTrail pour résoudre les problèmes liés aux sources d'événements Lambda désactivées

Des frais supplémentaires s’appliquent pour les événements de données. Pour plus d'informations sur la CloudTrail tarification, consultez la section AWS CloudTrail Tarification.

Vous pouvez enregistrer les événements de données pour le type de AWS::Lambda::Function ressource à l'aide de la CloudTrail console ou AWS CLI des opérations de CloudTrail l'API. Pour plus d'informations sur la façon de consigner les événements liés aux données, consultez les sections Enregistrement des événements liés aux données avec le AWS Management Console et Enregistrement des événements liés aux données avec le AWS Command Line Interface dans le Guide de AWS CloudTrail l'utilisateur.

Le tableau suivant répertorie le type de ressource Lambda pour lequel vous pouvez enregistrer des événements de données. La colonne Type d'événement de données (console) indique la valeur à choisir dans la liste des types d'événements de données de la CloudTrail console. La colonne de valeur resources.type indique la resources.type valeur que vous devez spécifier lors de la configuration de sélecteurs d'événements avancés à l'aide des API or. AWS CLI CloudTrail La CloudTrail colonne Data APIs logged to indique les appels d'API enregistrés CloudTrail pour le type de ressource.

Type d’événement de données (console) valeur resources.type API de données connectées à CloudTrail
Lambda AWS::Lambda::Function

Invoke

Vous pouvez configurer des sélecteurs d'événements avancés pour filtrer les eventNamereadOnly, et resources.ARN des champs pour enregistrer uniquement les événements importants pour vous. L'exemple suivant est la vue JSON d'une configuration d'événements de données qui enregistre les événements pour une fonction spécifique uniquement. Pour plus d'informations sur ces champs, consultez AdvancedFieldSelectorla référence de l'AWS CloudTrail API.

[ { "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" ] } ] } ]

Événements de gestion Lambda dans CloudTrail

Les événements de gestion fournissent des informations sur les opérations de gestion effectuées sur les ressources de votre Compte AWS. Ils sont également connus sous le nom opérations de plan de contrôle. Par défaut, CloudTrail enregistre les événements de gestion.

Lambda prend en charge la journalisation des actions suivantes sous forme d'événements de gestion dans des fichiers CloudTrail journaux.

Note

Dans le fichier CloudTrail journal, ils eventName peuvent inclure des informations de date et de version, mais cela fait toujours référence à la même action d'API publique. Par exemple, l'GetFunctionaction apparaît sous la formeGetFunction20150331v2. La liste suivante indique quand le nom de l'événement est différent du nom de l'action de l'API.

Utilisation CloudTrail pour résoudre les problèmes liés aux sources d'événements Lambda désactivées

Lorsque vous modifiez l'état du mappage d'une source d'événement à l'aide de l'action d'UpdateEventSourceMappingAPI, l'appel d'API est enregistré en tant qu'événement de gestion CloudTrail. Les mappages de sources d'événements peuvent également passer directement à l'Disabledétat en raison d'erreurs.

Pour les services suivants, Lambda publie l'événement de LambdaESMDisabled données CloudTrail lorsque votre source d'événements passe à l'état Désactivé :

  • Amazon Simple Queue Service (Amazon SQS)

  • Amazon DynamoDB

  • Amazon Kinesis

Lambda ne prend en charge cet événement pour aucun autre type de mappage de source d'événements.

Pour recevoir des alertes lorsque les mappages de sources d'événements pour les services pris en charge passent à l'Disabledétat, configurez une alarme dans Amazon à CloudWatch l'aide de l'LambdaESMDisabled CloudTrail événement. Pour en savoir plus sur la configuration d'une CloudWatch alarme, voir Création d' CloudWatch alarmes pour CloudTrail des événements : exemples.

L'serviceEventDetailsentité figurant dans le message d'LambdaESMDisabledévénement contient l'un des codes d'erreur suivants.

RESOURCE_NOT_FOUND

La ressource spécifiée dans la demande n’existe pas.

FUNCTION_NOT_FOUND

La fonction attachée à la source d'événement n'existe pas.

REGION_NAME_NOT_VALID

Un nom de région fourni à la source ou à la fonction d'événement n'est pas valide.

AUTHORIZATION_ERROR

Les autorisations n'ont pas été définies ou sont mal configurées.

FUNCTION_IN_FAILED_STATE

Le code de fonction ne compile pas, a rencontré une exception irrécupérable ou un mauvais déploiement s'est produit.

Exemples d'événements Lambda

Un événement représente une demande unique provenant de n'importe quelle source et inclut des informations sur l'opération d'API demandée, la date et l'heure de l'opération, les paramètres de la demande, etc. CloudTrail les fichiers journaux ne constituent pas une trace ordonnée des appels d'API publics. Les événements n'apparaissent donc pas dans un ordre spécifique.

L'exemple suivant montre les entrées du CloudTrail journal pour les DeleteFunction actions GetFunction et.

Note

eventName peut inclure des informations de date et de version, comme "GetFunction20150331", mais il s'agit toujours de la même API publique.

{ "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" } ] }

Pour plus d'informations sur le contenu des CloudTrail enregistrements, voir le contenu des CloudTrail enregistrements dans le Guide de AWS CloudTrail l'utilisateur.