Registrazione dei log delle chiamate API di Gateway Amazon API tramite AWS CloudTrail - Amazon API Gateway

Registrazione dei log delle chiamate API di Gateway Amazon API tramite AWS CloudTrail

Gateway Amazon API è integrato con AWS CloudTrail, un servizio che offre una registrazione delle azioni eseguite da un utente, un ruolo o un Servizio AWS. CloudTrail acquisisce tutte le chiamate REST API per il servizio Gateway API come eventi. Le chiamate acquisite includono le chiamate dalla console Gateway API e le chiamate di codice alle API del servizio Gateway API. Le informazioni raccolte da CloudTrail permettono di determinare la richiesta effettuata a Gateway API, l'indirizzo IP da cui è stata effettuata la richiesta, la data della richiesta e altri dettagli.

Nota

TestInvokeAuthorizer e TestInvokeMethod non sono registrati in CloudTrail.

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 su Account AWS quando viene creato un account e si ottiene automaticamente accesso alla cronologia degli eventi di CloudTrail. La cronologia degli eventi di CloudTrail fornisce una registrazione visualizzabile, ricercabile, scaricabile e immutabile degli eventi di gestione verificatisi negli ultimi 90 giorni in una Regione AWS. Per ulteriori informazioni, consulta Working with CloudTrail Event history nella Guida per l'utente di AWS CloudTrail. Non sono previsti costi CloudTrail per la visualizzazione della cronologia degli eventi.

Per una registrazione continua degli eventi nell'Account AWS oltre i 90 giorni, creare un trail o un datastore di eventi Data Lake CloudTrail.

Trail CloudTrail

Un trail abilita la distribuzione da parte di CloudTrail dei file di log in un bucket Amazon S3. Tutti i trail creati utilizzando la AWS Management Console sono multi-regione. È possibile creare un trail per una singola Regione o per più Regioni tramite AWS CLI. Si consiglia di creare un trail per più Regioni in quanto consente di acquisire l'attività in tutte le Regioni AWS dell'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 fornire gratuitamente una copia dei tuoi eventi di gestione in corso al tuo bucket Amazon S3 da CloudTrail creando un percorso, tuttavia dovranno essere considerati i costi di archiviazione di Amazon S3. Per ulteriori informazioni sui prezzi di CloudTrail, consulta Prezzi di AWS CloudTrail. Per informazioni sui prezzi di Amazon S3, consulta Prezzi di Amazon S3.

Datastore di eventi CloudTrail Lake

Data Lake CloudTrail consente di eseguire query SQL sugli 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 Data Lake CloudTrail, consulta Working with AWS CloudTrail Lake nella Guida per l'utente di AWS CloudTrail.

I datastore di eventi e le query di Data Lake CloudTrail comportano 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 prezzi di CloudTrail, consulta Prezzi di AWS CloudTrail.

Eventi di gestione di Gateway API in CloudTrail

Gli eventi di gestione forniscono informazioni sulle operazioni di gestione eseguite sulle risorse nell'Account AWS. Queste operazioni sono definite anche operazioni del piano di controllo (control-plane). CloudTrail registra i log degli eventi di gestione per impostazione predefinita.

Gateway Amazon API registra i log di tutte le azioni di Gateway API come eventi di gestione, ad eccezione di TestInvokeAuthorizer e TestInvokeMethod. Per l'elenco delle azioni di Gateway Amazon API che Gateway API include nei log in CloudTrail, consulta Amazon API Gateway API Reference.

Esempio di evento di Gateway API

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

L'esempio seguente mostra un evento CloudTrail che illustra l'azione GetResource di Gateway API.

{ Records: [ { eventVersion: "1.03", userIdentity: { type: "Root", principalId: "AKIAI44QH8DHBEXAMPLE", arn: "arn:aws:iam::123456789012:root", accountId: "123456789012", accessKeyId: "AKIAIOSFODNN7EXAMPLE", sessionContext: { attributes: { mfaAuthenticated: "false", creationDate: "2015-06-16T23:37:58Z" } } }, eventTime: "2015-06-17T00:47:28Z", eventSource: "apigateway.amazonaws.com", eventName: "GetResource", awsRegion: "us-east-1", sourceIPAddress: "203.0.113.11", userAgent: "example-user-agent-string", requestParameters: { restApiId: "3rbEXAMPLE", resourceId: "5tfEXAMPLE", template: false }, responseElements: null, requestID: "6d9c4bfc-148a-11e5-81b6-7577cEXAMPLE", eventID: "4d293154-a15b-4c33-9e0a-ff5eeEXAMPLE", readOnly: true, eventType: "AwsApiCall", recipientAccountId: "123456789012" }, ... additional entries ... ] }

Per informazioni sui contenuti delle registrazioni di CloudTrail, consulta CloudTrail record contents nella Guida per l'utente di AWS CloudTrail.