View a markdown version of this page

Registrazione dei log AWS Lambda Chiamate API utilizzando AWS CloudTrail - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione dei log AWS Lambda Chiamate API utilizzando AWS CloudTrail

AWS Lambda è integrato con AWS CloudTrail un servizio che fornisce una registrazione delle azioni intraprese da un utente, un ruolo o un Servizio AWS. CloudTrail acquisisce le chiamate API per Lambda come eventi. Le chiamate acquisite includono le chiamate dalla console di Lambda e le chiamate di codice alle operazioni delle API di Lambda. Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare la richiesta effettuata a Lambda, l'indirizzo IP da cui è stata effettuata la richiesta, quando è stata effettuata e dettagli aggiuntivi.

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con le credenziali utente root o utente.

  • Se la richiesta è stata effettuata per conto di un utente del Centro identità IAM.

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro Servizio AWS.

CloudTrail è attivo nel tuo account Account AWS quando crei l'account e hai automaticamente accesso alla cronologia degli CloudTrail eventi. La cronologia CloudTrail degli eventi fornisce un record visualizzabile, ricercabile, scaricabile e immutabile degli ultimi 90 giorni di eventi di gestione registrati in un. Regione AWS Per ulteriori informazioni, vedere Utilizzo della cronologia degli CloudTrail eventi nella Guida per l'utente. AWS CloudTrail La visualizzazione della cronologia degli eventi è gratuita. CloudTrail

Per una registrazione continua degli eventi negli Account AWS ultimi 90 giorni, crea un trail o un archivio dati sugli eventi di CloudTrail Lake.

CloudTrail sentieri

Un percorso consente di CloudTrail inviare file di log a un bucket Amazon S3. Tutti i percorsi creati utilizzando Console di gestione AWS sono multiregionali. È possibile creare un trail per una singola Regione o per più Regioni tramite AWS CLI. La creazione di un percorso multiregionale è consigliata perché registri tutte le attività del tuo Regioni AWS account. Se si crea un trail per una singola Regione, è possibile visualizzare solo gli eventi registrati nella Regione AWS del trail. Per ulteriori informazioni sui trail, consulta Creating a trail for your Account AWS e Creating a trail for an organization nella Guida per l'utente di AWS CloudTrail .

Puoi inviare gratuitamente una copia degli eventi di gestione in corso al tuo bucket Amazon S3 CloudTrail creando un percorso, tuttavia sono previsti costi di archiviazione di Amazon S3. Per ulteriori informazioni sui CloudTrail prezzi, consulta Prezzi. AWS CloudTrail Per informazioni sui prezzi di Amazon S3, consulta Prezzi di Amazon S3.

CloudTrail Archivi dati per eventi sul lago

CloudTrail Lake ti consente di eseguire SQL-based query sui tuoi eventi. CloudTrail Lake converte gli eventi esistenti in formato JSON basato su righe in formato Apache ORC. https://orc.apache.org/ ORC è un formato di archiviazione a colonne ottimizzato per il recupero rapido dei dati. Gli eventi vengono aggregati in archivi di dati degli eventi, che sono raccolte di eventi immutabili basate sui criteri selezionati applicando i selettori di eventi avanzati. I selettori applicati a un archivio di dati degli eventi controllano quali eventi persistono e sono disponibili per l'esecuzione della query. Per ulteriori informazioni su CloudTrail Lake, vedere Lavorare con AWS CloudTrail Lake nella Guida per l'utente. AWS CloudTrail

CloudTrail Gli archivi di dati e le interrogazioni relative agli eventi di Lake comportano dei costi. Quando crei un datastore di eventi, scegli l'opzione di prezzo da utilizzare per tale datastore. L'opzione di prezzo determina il costo per l'importazione e l'archiviazione degli eventi, nonché il periodo di conservazione predefinito e quello massimo per il datastore di eventi. Per ulteriori informazioni sui CloudTrail prezzi, vedi AWS CloudTrail Prezzi.

Eventi relativi ai dati Lambda in CloudTrail

Gli eventi di dati forniscono informazioni sulle operazioni delle risorse eseguite su o in una risorsa (ad esempio, lettura o scrittura su un oggetto Amazon S3). Queste operazioni sono definite anche operazioni del piano dei dati. Gli eventi di dati sono spesso attività che interessano volumi elevati di dati. Per impostazione predefinita, CloudTrail non registra la maggior parte degli eventi relativi ai dati e la cronologia degli CloudTrail eventi non li registra.

Un evento di CloudTrail dati registrato per impostazione predefinita per i servizi supportati èLambdaESMDisabled. Per ulteriori informazioni sull'utilizzo di questo evento per risolvere i problemi relativi agli strumenti di mappatura dell'origine degli eventi Lambda, consulta Utilizzo CloudTrail per risolvere i problemi relativi alle sorgenti di eventi Lambda disabilitate.

Per gli eventi di dati sono previsti costi aggiuntivi. Per ulteriori informazioni sui CloudTrail prezzi, consulta AWS CloudTrail Prezzi.

Puoi registrare gli eventi relativi ai dati per il tipo di AWS::Lambda::Function risorsa utilizzando la CloudTrail AWS CLI console o le operazioni CloudTrail API. Per ulteriori informazioni su come registrare gli eventi di dati, consulta Registrazione degli eventi di dati con Console di gestione AWS e Registrazione degli eventi di dati con AWS Command Line Interface nella Guida per l'utente di AWS CloudTrail .

La tabella seguente elenca il tipo di risorse Lambda per i quali è possibile registrare gli eventi relativi ai dati. La colonna Tipo di evento di dati (console) mostra il valore da scegliere dall'elenco dei tipi di eventi di dati sulla CloudTrail console. La colonna del valore resources.type mostra il resources.type valore da specificare durante la configurazione dei selettori di eventi avanzati utilizzando le API or. AWS CLI CloudTrail La CloudTrail colonna Data API loggate mostra le chiamate API registrate per il tipo di risorsa. CloudTrail

Tipo di evento di dati (console) valore resources.type API di dati a cui è stato effettuato l'accesso CloudTrail
Lambda AWS::Lambda::Function

Invoke

È possibile configurare selettori di eventi avanzati per filtrare in base ai campi eventName, readOnly, e resources.ARN per registrare solo gli eventi che sono importanti per l'utente. L'esempio seguente è la vista JSON di una configurazione di eventi di dati che registra gli eventi solo per una funzione specifica. Per ulteriori informazioni su questi campi, consulta AdvancedFieldSelector nella Documentazione di riferimento delle API di AWS CloudTrail .

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

Eventi di gestione Lambda in CloudTrail

Gli eventi di gestione forniscono informazioni sulle operazioni di gestione eseguite sulle risorse presenti nel tuo Account AWS. Queste operazioni sono definite anche operazioni del piano di controllo (control-plane). Per impostazione predefinita, CloudTrail registra gli eventi di gestione.

Lambda supporta la registrazione delle seguenti azioni come eventi di gestione nei CloudTrail file di registro.

Nota

Nel file di CloudTrail registro, eventName possono includere informazioni sulla data e sulla versione, ma si riferisce comunque alla stessa azione API pubblica. Ad esempio, l'operazione GetFunction potrebbe apparire come GetFunction20150331v2. L'elenco seguente specifica quando il nome dell'evento è diverso dal nome dell'operazione API.

Utilizzo CloudTrail per risolvere i problemi relativi alle sorgenti di eventi Lambda disabilitate

Quando si modifica lo stato della mappatura della sorgente di un evento utilizzando l'azione UpdateEventSourceMapping API, la chiamata API viene registrata come evento di gestione. CloudTrail Gli strumenti di mappatura dell'origine degli eventi possono anche passare direttamente allo stato Disabled a causa di errori.

Per i seguenti servizi, Lambda pubblica l'evento di LambdaESMDisabled dati CloudTrail quando la sorgente dell'evento passa allo stato Disabilitato:

  • Amazon Simple Queue Service (Amazon SQS)

  • Amazon DynamoDB

  • Amazon Kinesis

Lambda non supporta questo evento per alcun altro tipo di strumento di mappatura dell'origine degli eventi.

Per ricevere avvisi quando le mappature delle sorgenti di eventi per i servizi supportati passano allo Disabled stato, configura un allarme in Amazon utilizzando l'evento. CloudWatch LambdaESMDisabled CloudTrail Per saperne di più sulla configurazione di un CloudWatch allarme, consulta Creazione di CloudWatch allarmi per CloudTrail eventi: esempi.

L'entità serviceEventDetails nel messaggio dell'evento LambdaESMDisabled contiene uno dei seguenti codici di errore.

RESOURCE_NOT_FOUND

La risorsa specificata nella richiesta non esiste.

FUNCTION_NOT_FOUND

La funzione associata all'origine eventi non esiste.

REGION_NAME_NOT_VALID

Il nome di una regione fornito all'origine o alla funzione evento non è valido.

AUTHORIZATION_ERROR

Le autorizzazioni non sono state impostate o non sono configurate correttamente.

FUNCTION_IN_FAILED_STATE

Il codice della funzione non viene compilato, ha rilevato un'eccezione irrecuperabile o si è verificata una distribuzione non valida.

Esempi di eventi Lambda

Un evento rappresenta una singola richiesta da qualsiasi fonte e include informazioni sull'operazione API richiesta, la data e l'ora dell'operazione, i parametri della richiesta e così via. CloudTrail i file di registro non sono una traccia ordinata dello stack delle chiamate API pubbliche, quindi gli eventi non vengono visualizzati in un ordine specifico.

L'esempio seguente mostra le voci di CloudTrail registro per le DeleteFunction azioni GetFunction and.

Nota

La voce eventName potrebbe includere informazioni sulla data e sulla versione, ad esempio "GetFunction20150331", ma si riferisce comunque alla stessa API pubblica.

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

Per informazioni sui contenuti dei CloudTrail record, vedere i contenuti dei CloudTrail record nella Guida AWS CloudTrail per l'utente.