Registrazione delle chiamate API AWS Systems Manager con AWS CloudTrail - AWS Systems Manager

Registrazione delle chiamate API AWS Systems Manager con AWS CloudTrail

AWS Systems Manager si integra con AWS CloudTrail, un servizio che offre un record delle operazioni eseguite da un utente, un ruolo o un Servizio AWS. CloudTrail acquisisce tutte le chiamate API Systems Manager come eventi. Le chiamate acquisite includono le chiamate dalla console di Systems Manager e le chiamate di codice alle operazioni delle API Systems Manager. Le informazioni raccolte da CloudTrail consentono di determinare la richiesta effettuata ad Systems Manager, l'indirizzo IP da cui è partita la richiesta, il momento in cui è stata eseguita e altri 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 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 un record visualizzabile, ricercabile, scaricabile e immutabile degli eventi di gestione verificatisi negli ultimi 90 giorni in una Regione AWS. Per ulteriori informazioni, consulta Utilizzo dei file di log di CloudTrail nella Guida per l'utente 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, crea un percorso o un datastore di eventi CloudTrail Lake.

Trail CloudTrail

Un trail abilita la distribuzione da parte di CloudTrail dei file di log in un bucket Amazon S3. Tutti i percorsi creati utilizzando AWS Management Console sono multi-Regione. È possibile creare un percorso basato su una o più Regioni solo utilizzando la AWS CLI. La creazione di un percorso multi-Regione è consigliato in quanto in questo modo è possibile registrare l'attività in tutte le Regioni AWS del proprio account. Creando un percorso a singola Regione, è possibile visualizzare solo gli eventi registrati nella Regione AWS nel percorso. Per ulteriori informazioni sulla creazione di percorsi , consulta Creazione di un percorso per un Account AWS e Creazione di un percorso per un’organizzazione nella Guida per l'utente 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

CloudTrail Lake consente di eseguire query basate su SQL sugli eventi dell'utente. 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 informazioni sugli archivi di dati degli eventi CloudTrail Lake, consulta Utilizzo di Lake AWS CloudTrail nella Guida per l'utente 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 dati Systems Manager in CloudTrail

Gli eventi di dati forniscono informazioni sulle operazioni delle risorse eseguite su o in una risorsa (ad esempio, creazione o apertura di un canale di controllo). 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 gli eventi di dati. La cronologia degli eventi di CloudTrail non registra gli eventi relativi ai dati.

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

È possibile registrare gli eventi relativi ai dati per i tipi di risorse Systems Manager utilizzando la console CloudTrail, AWS CLI o le operazioni dell'API CloudTrail. Per ulteriori informazioni su come registrare gli eventi relativi ai dati, consulta Registrazione di eventi relativi ai dati con AWS Management Console e Registrazione di eventi relativi ai dati conAWS Command Line Interface nella Guida per l'utente AWS CloudTrail.

La tabella seguente elenca i tipi di risorse Systems Manager per i quali è possibile registrare gli eventi relativi ai dati. La colonna Tipi di eventi di dati (console) mostra il valore da scegliere dall'elenco Tipi di eventi di dati sulla console CloudTrail. La colonna resources.type value mostra il valoreresources.type da specificare durante la configurazione dei selettori di eventi avanzati utilizzando le AWS CLI o le API CloudTrail. La colonna API di dati registrate su CloudTrail mostra le chiamate API registrate su CloudTrail per il tipo di risorsa.

Tipo di evento di dati (console) valore resources.type API di dati registrate su CloudTrail
Systems Manager AWS::SSMMessages::ControlChannel
  • CreateControlChannel

  • OpenControlChannel

Per ulteriori informazioni su queste operazioni, consulta la sezione Operazioni definite da Amazon Message Gateway Service nella Service Authorization Reference.

Nodo gestito da Systems Manager AWS::SSM::ManagedNode
  • RequestManagedInstanceRoleToken - Questo evento viene generato quando l'agente AWS Systems Manager (SSM Agent) in esecuzione su un nodo gestito da Systems Manager richiede le credenziali dal servizio di credenziali Systems Manager.

Per ulteriori informazioni sull'operazione RequestManagedInstanceRoleToken, consulta Convalida di macchine attivate da sistemi tramite un'impronta digitale hardware

È 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. Per ulteriori informazioni su questi campi, consulta AdvancedFieldSelector nella Documentazione di riferimento API di AWS CloudTrail.

Eventi di gestione di Systems Manager 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). Per impostazione predefinita, CloudTrail registra gli eventi di gestione.

Systems Manager registra tutte le operazioni sul piano di controllo verso CloudTrail come eventi di gestione. Le operazioni API di Systems Manager sono documentate nella Documentazione di riferimento API AWS Systems Manager. Ad esempio, le chiamate alle operazioni CreateMaintenanceWindows, PutInventory, SendCommand e StartSession generano voci nei file di log di CloudTrail. Per un esempio di configurazione di CloudTrail per monitorare una chiamata API di Systems Manager, consulta Monitoraggio dell'attività delle sessioni tramite Amazon EventBridge (console).

Esempi di eventi Systems Manager

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

Esempi di eventi di gestione

Esempio 1: DeleteDocument

L'esempio seguente mostra un evento di CloudTrail che illustra l'operazione DeleteDocument su un documento denominato example-Document nella regione degli Stati Uniti orientali (Ohio) (us-east-2).

{ "eventVersion": "1.04", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE:203.0.113.11", "arn": "arn:aws:sts::123456789012:assumed-role/example-role/203.0.113.11", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-03-06T20:19:16Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::123456789012:role/example-role", "accountId": "123456789012", "userName": "example-role" } } }, "eventTime": "2018-03-06T20:30:12Z", "eventSource": "ssm.amazonaws.com", "eventName": "DeleteDocument", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.11", "userAgent": "example-user-agent-string", "requestParameters": { "name": "example-Document" }, "responseElements": null, "requestID": "86168559-75e9-11e4-8cf8-75d18EXAMPLE", "eventID": "832b82d5-d474-44e8-a51d-093ccEXAMPLE", "resources": [ { "ARN": "arn:aws:ssm:us-east-2:123456789012:document/example-Document", "accountId": "123456789012" } ], "eventType": "AwsApiCall", "recipientAccountId": "123456789012", "eventCategory": "Management" }
Esempio 2: StartConnection

L'esempio seguente mostra un evento di CloudTrail per un utente che avvia una connessione RDP utilizzando Fleet Manager nella regione Stati Uniti orientali (Ohio): (us-east-2). L'azione API sottostante è StartConnection.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/exampleRole", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/exampleRole", "accountId": "123456789012", "userName": "exampleRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-12-13T14:57:05Z", "mfaAuthenticated": "false" } } }, "eventTime": "2021-12-13T16:50:41Z", "eventSource": "ssm-guiconnect.amazonaws.com", "eventName": "StartConnection", "awsRegion": "us-east-2", "sourceIPAddress": "34.230.45.60", "userAgent": "example-user-agent-string", "requestParameters": { "AuthType": "Credentials", "Protocol": "RDP", "ConnectionType": "SessionManager", "InstanceId": "i-02573cafcfEXAMPLE" }, "responseElements": { "ConnectionArn": "arn:aws:ssm-guiconnect:us-east-2:123456789012:connection/fcb810cd-241f-4aae-9ee4-02d59EXAMPLE", "ConnectionKey": "71f9629f-0f9a-4b35-92f2-2d253EXAMPLE", "ClientToken": "49af0f92-d637-4d47-9c54-ea51aEXAMPLE", "requestId": "d466710f-2adf-4e87-9464-055b2EXAMPLE" }, "requestID": "d466710f-2adf-4e87-9464-055b2EXAMPLE", "eventID": "fc514f57-ba19-4e8b-9079-c2913EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }

Esempi di eventi di dati

Esempio 1: CreateControlChannel

L'esempio seguente mostra un evento di log di CloudTrail che illustra l'operazione CreateControlChannel.

{ "eventVersion":"1.08", "userIdentity":{ "type":"AssumedRole", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:sts::123456789012:assumed-role/exampleRole", "accountId":"123456789012", "accessKeyId":"AKIAI44QH8DHBEXAMPLE", "sessionContext":{ "sessionIssuer":{ "type":"Role", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:iam::123456789012:role/exampleRole", "accountId":"123456789012", "userName":"exampleRole" }, "attributes":{ "creationDate":"2023-05-04T23:14:50Z", "mfaAuthenticated":"false" } } }, "eventTime":"2023-05-04T23:53:55Z", "eventSource":"ssm.amazonaws.com", "eventName":"CreateControlChannel", "awsRegion":"us-east-1", "sourceIPAddress":"192.0.2.0", "userAgent":"example-agent", "requestParameters":{ "channelId":"44295c1f-49d2-48b6-b218-96823EXAMPLE", "messageSchemaVersion":"1.0", "requestId":"54993150-0e8f-4142-aa54-3438EXAMPLE", "userAgent":"example-agent" }, "responseElements":{ "messageSchemaVersion":"1.0", "tokenValue":"Value hidden due to security reasons.", "url":"example-url" }, "requestID":"54993150-0e8f-4142-aa54-3438EXAMPLE", "eventID":"a48a28de-7996-4ca1-a3a0-a51fEXAMPLE", "readOnly":false, "resources":[ { "accountId":"123456789012", "type":"AWS::SSMMessages::ControlChannel", "ARN":"arn:aws:ssmmessages:us-east-1:123456789012:control-channel/44295c1f-49d2-48b6-b218-96823EXAMPLE" } ], "eventType":"AwsApiCall", "managementEvent":false, "recipientAccountId":"123456789012", "eventCategory":"Data" }
Esempio 2: RequestManagedInstanceRoleToken

L'esempio seguente mostra un evento di log di CloudTrail che illustra l'operazione RequestManagedInstanceRoleToken.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "123456789012:aws:ec2-instance:i-02854e4bEXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/aws:ec2-instance/i-02854e4bEXAMPLE", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "123456789012:aws:ec2-instance", "arn": "arn:aws:iam::123456789012:role/aws:ec2-instance", "accountId": "123456789012", "userName": "aws:ec2-instance" }, "attributes": { "creationDate": "2023-08-27T03:34:46Z", "mfaAuthenticated": "false" }, "ec2RoleDelivery": "2.0" } }, "eventTime": "2023-08-27T03:37:15Z", "eventSource": "ssm.amazonaws.com", "eventName": "RequestManagedInstanceRoleToken", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Apache-HttpClient/UNAVAILABLE (Java/1.8.0_362)", "requestParameters": { "fingerprint": "i-02854e4bf85EXAMPLE" }, "responseElements": null, "requestID": "2582cced-455b-4189-9b82-7b48EXAMPLE", "eventID": "7f200508-e547-4c27-982d-4da0EXAMLE", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::SSM::ManagedNode", "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-02854e4bEXAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "123456789012", "eventCategory": "Data" }

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