Registrazione delle chiamate AWS Lambda 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 delle chiamate AWS Lambda API utilizzando AWS CloudTrail

AWS Lambda è integrato con AWS CloudTrail, un servizio che fornisce una registrazione delle azioni intraprese da un utente, 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, quando è stata effettuata e ulteriori dettagli.

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 AWSPer ulteriori informazioni, consulta Lavorare con la cronologia degli CloudTrail eventi nella Guida per l'utente.AWS CloudTrail Non sono CloudTrail previsti costi per la visualizzazione della cronologia degli eventi.

Per una registrazione continua degli eventi degli Account AWS ultimi 90 giorni, crea un trail o un data store di eventi CloudTrailLake.

CloudTrail sentieri

Un trail consente di CloudTrail inviare file di log a un bucket Amazon S3. Tutti i percorsi creati utilizzando il AWS Management Console sono multiregionali. È possibile creare un trail per una singola Regione o per più Regioni tramite AWS CLI. La creazione di un percorso multiregionale è consigliata in quanto consente di registrare l'intera attività del proprio 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 dei tuoi eventi di gestione in corso al tuo bucket Amazon S3 CloudTrail creando un percorso, tuttavia ci sono costi di storage di Amazon S3. Per ulteriori informazioni sui CloudTrail prezzi, consulta la pagina Prezzi.AWS CloudTrail Per informazioni sui prezzi di Amazon S3, consulta Prezzi di Amazon S3.

CloudTrail Archivi di dati sugli eventi di Lake

CloudTrail Lake ti consente di eseguire query basate su SQL sui tuoi eventi. CloudTrail Lake converte gli eventi esistenti in formato JSON basato su righe in formato Apache ORC. 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, consulta Working with AWS CloudTrail Lake nella Guida per l'utente.AWS CloudTrail

CloudTrail Gli archivi e le richieste di dati sugli 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, consulta la sezione Prezzi.AWS CloudTrail

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 CloudTrail relativo ai dati che viene 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 la risoluzione dei problemi relativi alle sorgenti di eventi Lambda disabilitate.

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

Puoi registrare gli eventi relativi ai dati per il tipo di AWS::Lambda::Function risorsa utilizzando la CloudTrail console o AWS CLI le operazioni CloudTrail dell'API. Per ulteriori informazioni su come registrare gli eventi di dati, consulta Registrazione degli eventi di dati con AWS Management Console 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 Data (console) mostra il valore da scegliere dall'elenco dei tipi di evento Data 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 o. AWS CLI CloudTrail APIs La CloudTrail colonna Dati APIs registrati mostra le chiamate API registrate per il tipo di risorsa. CloudTrail

Tipo di evento di dati (console) valore resources.type Dati registrati APIs su 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, vedere AdvancedFieldSelector nel documento di riferimento delle API 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 del 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 potrebbero includere informazioni sulla data e sulla versione, ma si riferisce comunque alla stessa azione pubblica dell'API. 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 la risoluzione dei problemi relativi alle sorgenti di eventi Lambda disabilitate

Quando si modifica lo stato di una mappatura delle sorgenti di eventi utilizzando l'azione UpdateEventSourceMappingAPI, 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 LambdaESMDisabled dei dati CloudTrail quando l'origine 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 degli eventi per i servizi supportati passano allo Disabled stato, configura un allarme in Amazon CloudWatch utilizzando l'evento. LambdaESMDisabled CloudTrail Per ulteriori informazioni 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 proveniente 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 e.

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 sul contenuto dei CloudTrail record, consultate il contenuto dei CloudTrail record nella Guida AWS CloudTrail per l'utente.