Gestione di CloudTrail Lake tramite la AWS CLI
Di seguito vengono riportati degli esempi dei comandi AWS CLI per la creazione e la gestione di archivi di dati degli eventi e le relative query in CloudTrail Lake.
Argomenti
- Creazione di un archivio dati di eventi per eventi di dati CloudTrail
- Creazione di un archivio dati di eventi per gli elementi di configurazione AWS Config
- Creazione di un'integrazione per registrare gli eventi dall'esterno di AWS
- Ottenimento di un archivio di dati degli eventi
- Elenco di tutti gli archivi di dati degli eventi in un account
- Aggiornamento di un archivio di dati degli eventi
- Eliminazione di un archivio di dati degli eventi
- Ripristino di un archivio di dati degli eventi
- Elencare tutti i canali
- Modifica di un canale
- Eliminazione di un canale per eliminare un'integrazione
- Avvio di una query
- Ottenimento dei metadati relativi a una query
- Ottenimento dei risultati della query
- Elenco di tutte le query in un archivio di dati degli eventi
- Annullamento di una query in esecuzione
Creazione di un archivio dati di eventi per eventi di dati CloudTrail
Il seguente comando di esempio AWS Command Line Interface (AWS CLI) crea un archivio dati di eventi denominato my-event-data-store
che seleziona tutti gli eventi di dati Amazon S3. Il periodo di conservazione dell'archivio di dati degli eventi in questo esempio è di 90 giorni. --name
è obbligatorio; gli altri parametri sono facoltativi. I valori validi per --retention-period
sono i numeri interi compresi tra 7 e 2557, che rappresentano i giorni. Se non specifichi --retention-period
, CloudTrail utilizza il periodo di conservazione predefinito di 2557 giorni. Per impostazione predefinita, il valore è impostato su --multi-region-enabled
, anche se il parametro non viene aggiunto e l'archivio di dati degli eventi include eventi provenienti da tutte le regioni. Per impostazione predefinita, l'archivio dati di eventi non è abilitato per tutti gli account di un'organizzazione AWS Organizations. Per consentire a un archivio dati di eventi di raccogliere eventi per tutti gli account di un'organizzazione, aggiungi il parametro --organization-enabled
. I parametri --termination-protection-enabled
(predefinito) e --no-termination-protection-enabled
impostano e rimuovono, rispettivamente, la protezione da cessazione. Facoltativamente, puoi scegliere di abilitare la crittografia di AWS Key Management Service e specificare una AWS KMS key aggiungendo --kms-key-id
al comando e specificando un ARN della chiave KMS come valore. Il parametro --advanced-event-selectors
include o esclude gli eventi di dati nell'archivio dati di eventi. Per ulteriori informazioni sui --advanced-event-selectors
, consulta AdvancedEventSelectors
nella Documentazione di riferimento delle API CloudTrail.
aws cloudtrail create-event-data-store \ --name my-event-data-store \ --retention-period 90 \ --kms-key-id "arn:aws:kms:us-east-1:0123456789:alias/
KMS_key_alias
" \ --advanced-event-selectors '[ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:aws:s3"] } ] } ]'
Di seguito è riportata una risposta di esempio.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 90, "KmsKeyId": "arn:aws:kms:us-east-1:0123456789:alias/
KMS_key_alias
", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2021-12-09T22:19:39.417000-05:00", "UpdatedTimestamp": "2021-12-09T22:19:39.603000-05:00" }
Creazione di un archivio dati di eventi per gli elementi di configurazione AWS Config
Il seguente comando create-event-data-store della AWS CLI di esempio crea un archivio dati di eventi denominato my-event-data-store
che seleziona gli elementi di configurazione AWS Config. Il periodo di conservazione dell'archivio dati di eventi in questo esempio è 90 giorni. Il parametro --name
è obbligatorio, mentre gli altri sono facoltativi. I valori validi per --retention-period
sono i numeri interi compresi tra 7 e 2557, che rappresentano i giorni. Se non specifichi --retention-period
, CloudTrail utilizza il periodo di conservazione predefinito di 2557 giorni. Per impostazione predefinita, --multi-region-enabled
è impostato anche se il parametro non viene aggiunto e l'archivio dati di eventi include elementi di configurazione da tutte le Regioni AWS. Per impostazione predefinita, l'archivio dati di eventi non è abilitato per tutti gli account di un'organizzazione AWS Organizations; per consentire a un archivio dati di eventi di raccogliere elementi di configurazione per tutti gli account di un'organizzazione, aggiungi il parametro --organization-enabled
. I parametri --termination-protection-enabled
(predefinito) e --no-termination-protection-enabled
impostano e rimuovono, rispettivamente, la protezione da terminazione. Facoltativamente, puoi scegliere di abilitare la crittografia di AWS Key Management Service e specificare una AWS KMS key aggiungendo --kms-key-id
al comando e specificando un ARN della chiave KMS come valore. Il parametro --advanced-event-selectors
include gli elementi di configurazione nell'archivio dati di eventi specificando che il campo eventCategory
è uguale a ConfigurationItem
.
aws cloudtrail create-event-data-store --name my-event-data-store --retention-period 90 --kms-key-id "arn:aws:kms:us-east-1:0123456789:alias/
KMS_key_alias
" \ --advanced-event-selectors '[ { "Name": "Select AWS Config configuration items", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ConfigurationItem"] } ] } ]'
Di seguito è riportata una risposta di esempio.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Select AWS Config configuration items", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ConfigurationItem" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 90, "KmsKeyId": "arn:aws:kms:us-east-1:0123456789:alias/
KMS_key_alias
", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2022-10-07T19:03:24.277000+00:00", "UpdatedTimestamp": "2022-10-07T19:03:24.468000+00:00" }
Creazione di un'integrazione per registrare gli eventi dall'esterno di AWS
Attualmente, le integrazioni sono supportate in tutte le Regioni AWS commerciali supportate da CloudTrail Lake, con l'eccezione di me-central-1. Per ulteriori informazioni sulle Regioni supportate da CloudTrail Lake, consulta la pagina Regioni supportate da CloudTrail Lake.
Nella AWS CLI, puoi creare un'integrazione che registri gli eventi dall'esterno di AWS in quattro comandi (tre se disponi già di un archivio di dati degli eventi che soddisfa i criteri). Gli archivi di dati degli eventi utilizzati come destinazioni per un'integrazione devono riferirsi a una singola Regione e un singolo account; non possono riferirsi a più Regioni, non possono registrare eventi per le organizzazioni in AWS Organizations e possono includere solo eventi dell'attività. Il tipo di evento nella console deve essere Events from integrations (Eventi dalle integrazioni). Nell'API, il valore eventCategory
deve essere ActivityAuditLog
. Per ulteriori informazioni sulle integrazioni, consulta la pagina Creazione di un'integrazione con un'origine di eventi esterna ad AWS.
-
Esegui create-event-data-store
per creare un archivio di dati degli eventi, se non disponi già di uno o più archivi di dati degli eventi da utilizzare per l'integrazione. Il comando di esempio AWS CLI seguente crea un archivio di dati degli eventi che registra gli eventi dall'esterno di AWS. Per gli eventi delle attività, il valore del selettore del campo
eventCategory
èActivityAuditLog
. L'archivio di dati degli eventi ha un periodo di conservazione di 90 giorni. Per impostazione predefinita, l'archivio di dati degli eventi raccoglie eventi da tutte le Regioni, ma poiché raccoglie eventi esterni ad AWS, devi impostarlo su una singola Regione aggiungendo l'opzione--no-multi-region-enabled
. La protezione dalla terminazione è abilitata per impostazione predefinita e l'archivio di dati degli eventi non raccoglie eventi per gli account di un'organizzazione.aws cloudtrail create-event-data-store \ --name my-event-data-store \ --no-multi-region-enabled \ --retention-period 90 \ --advanced-event-selectors '[ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ActivityAuditLog"] } ] } ]'
Di seguito è riportata una risposta di esempio.
{ "Name": "my-event-data-store", "ARN": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "RetentionPeriod": "90", "MultiRegionEnabled": false, "OrganizationEnabled": false, "TerminationProtectionEnabled": true, "AdvancedEventSelectors": [ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ActivityAuditLog" ] } ] } ] }
Avrai bisogno dell'ID dell'archivio di dati degli eventi (il suffisso dell'ARN o
EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE
nell'esempio di risposta precedente) per andare al passaggio successivo e creare il tuo canale. -
Esegui il comando create-channel
per creare un canale che consenta a un partner o un'applicazione di origine di inviare eventi a un archivio di dati degli eventi in CloudTrail. Un canale include i seguenti componenti:
- Source (Origine)
-
CloudTrail utilizza queste informazioni per determinare i partner che inviano i dati degli eventi a CloudTrail per tuo conto. È necessaria un'origine, che può essere
Custom
per tutti gli eventi esterni ad AWS validi o il nome di un'origine di eventi partner. È consentito un massimo di un canale per origine.Per informazioni sui valori di
Source
dei partner disponibili, consulta la pagina Ulteriori informazioni sui partner di integrazione. - Stato di importazione
-
Lo stato del canale mostra quando sono stati ricevuti gli ultimi eventi da un'origine del canale.
- Destinazioni
-
Le destinazioni sono gli archivi di dati degli eventi CloudTrail Lake che ricevono eventi dal canale. È possibile modificare gli archivi di dati degli eventi di destinazione per un canale.
Per interrompere la ricezione di eventi da un'origine, elimina il rispettivo canale.
È necessario specificare l'ID di almeno un archivio di dati degli eventi di destinazione per eseguire questo comando. Il tipo di destinazione valido è
EVENT_DATA_STORE
. È possibile inviare gli eventi importati a più di un archivio di dati degli eventi. Il seguente comando di esempio crea un canale che invia eventi a due archivi di dati degli eventi, rappresentati dai relativi ID nell'attributoLocation
del parametro--destinations
. I parametri--destinations
,--name
e--source
sono obbligatori. Per importare eventi da un partner CloudTrail, specifica il nome del partner come valore di--source
. Per importare eventi dalle tue applicazioni esterne ad AWS, specificaCustom
come valore di--source
.aws cloudtrail create-channel \ --region us-east-1 \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]' --name my-partner-channel \ --source $partnerSourceName \
Nella risposta al comando create-channel, copia l'ARN del nuovo canale. Per eseguire i comandi
put-resource-policy
eput-audit-events
nei passaggi successivi è necessario l'ARN. -
Esegui il comando put-resource-policy per collegare una policy delle risorse al canale. Le policy delle risorse sono documenti di policy JSON che specificano le operazioni che possono essere eseguite da un principale specificato sulla risorsa e in base a quali condizioni. Gli account definiti come principali nella policy delle risorse del canale possono chiamare l'API
PutAuditEvents
per distribuire gli eventi.Nota Se non crei una policy delle risorse per il canale, solo il proprietario del canale può chiamare l'API
PutAuditEvents
sul canale.Le informazioni richieste per la policy dipendono dal tipo di integrazione.
-
Per un'integrazione diretta, CloudTrail richiede che la policy contenga gli ID degli account AWS del partner e richiede l'inserimento dell'ID esterno univoco fornito dal partner. Quando crei un'integrazione utilizzando la console CloudTrail, CloudTrail aggiunge automaticamente gli ID degli account AWS del partner alla policy delle risorse. Consulta la documentazione del partner per scoprire come ottenere i numeri di account AWS richiesti per la policy.
-
Per un'integrazione di soluzione, è necessario specificare almeno un ID account AWS come principale e, facoltativamente, inserire un ID esterno per evitare il problema "confused deputy".
Di seguito sono riportati i requisiti per la policy delle risorse:
-
L'ARN della risorsa definito nella policy deve corrispondere all'ARN del canale al quale è collegata la policy.
-
La policy contiene una sola operazione: cloudtrail-data:PutAuditEvents
-
La policy deve includere almeno un'istruzione. La policy può avere un massimo di 20 istruzioni.
-
Ogni istruzione contiene almeno un principale. Un'istruzione può avere un massimo di 50 principali.
aws cloudtrail put-resource-policy \ --resource-arn "channelARN" \ --policy "{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "UniqueExternalIDFromPartner" } } } ] }"
Per ulteriori informazioni sulle policy delle risorse, consulta Esempi di policy basate su risorse AWS CloudTrail.
-
-
Esegui l'API
PutAuditEvents
per importare i tuoi eventi delle attività in CloudTrail. Avrai bisogno del payload dell'evento che vuoi che CloudTrail aggiunga. Assicurati che il payload dell'evento non contenga informazioni sensibili o di identificazione personale prima di importarlo in CloudTrail. Nota che l'APIPutAuditEvents
utilizza l'endpoint della CLIcloudtrail-data
anziché l'endpointcloudtrail
.Negli esempi seguenti viene illustrato come utilizzare il comando CLI put-audit-events. I parametri --audit-events e --channel-arn sono obbligatori. Il parametro --external-id è obbligatorio se nella policy delle risorse è definito un ID esterno. È necessario specificare l'ARN del canale creato nella fase precedente. Il valore di --audit-events è una matrice JSON di oggetti di eventi.
--audit-events
include un ID obbligatorio dell'evento, il payload dell'evento richiesto come valore diEventData
e un checksum opzionale che aiuta a convalidare l'integrità dell'evento dopo l'importazione in CloudTrail.aws cloudtrail-data put-audit-events \ --channel-arn $ChannelArn \ --external-id $UniqueExternalIDFromPartner \ --audit-events \ id="event_ID",eventData='"{event_payload}"' \ id="event_ID",eventData='"{event_payload}"',eventDataChecksum="optional_checksum"
Di seguito è riportato un comando di esempio con due esempi di eventi.
aws cloudtrail-data put-audit-events \ --channel-arn arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --external-id UniqueExternalIDFromPartner \ --audit-events \ id="EXAMPLE3-0f1f-4a85-9664-d50a3EXAMPLE",eventData='"{\"eventVersion\":\0.01\",\"eventSource\":\"custom1.domain.com\", ... \}"' \ id="EXAMPLE7-a999-486d-b241-b33a1EXAMPLE",eventData='"{\"eventVersion\":\0.02\",\"eventSource\":\"custom2.domain.com\", ... \}"',eventDataChecksum="EXAMPLE6e7dd61f3ead...93a691d8EXAMPLE"
Il seguente comando di esempio aggiunge il parametro
--cli-input-json
per specificare un file JSON (custom-events.json
) del payload dell'evento.aws cloudtrail-data put-audit-events --channel-arn $channelArn --external-id $UniqueExternalIDFromPartner --cli-input-json file://custom-events.json --region us-east-1
I seguenti sono i contenuti di esempio del file JSON di esempio,
custom-events.json
.{ "auditEvents": [ { "eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"12.34.56.78\",\"recipientAccountId\":\"152089810396\"}", "id": "1" } ] }
Puoi verificare che l'integrazione funzioni e che CloudTrail stia importando correttamente gli eventi dall'origine eseguendo il comando get-channel
aws cloudtrail get-channel --channel arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE
(Facoltativo) Calcolo di un valore di checksum
Il checksum che specifichi come valore di EventDataChecksum
in una richiesta PutAuditEvents
ti aiuta a verificare che l'evento ricevuto da CloudTrail corrisponda al checksum, contribuendo pertanto a convalidare l'integrità degli eventi. Il valore di checksum è un algoritmo SHA256 a base 64 che puoi calcolare eseguendo il comando seguente.
printf %s "{"eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"
source_IP_address
\", \"recipientAccountId\":\"recipient_account_ID
\"}", "id": "1"}" \ | openssl dgst -binary -sha256 | base64
Il comando restituisce il checksum. Di seguito è riportato un esempio.
EXAMPLEDHjkI8iehvCUCWTIAbNYkOgO/t0YNw+7rrQE=
Il valore del checksum diventa il valore di EventDataChecksum
nella richiesta PutAuditEvents
. Se il checksum non corrisponde a quello dell'evento fornito, CloudTrail rifiuta l'evento con un errore InvalidChecksum
.
Ottenimento di un archivio di dati degli eventi
Il seguente comando get-event-data-store della AWS CLI di esempio restituisce informazioni sull'archivio dati di eventi specificato dal parametro --event-data-store
richiesto, che accetta un ARN o il suffisso ID dell'ARN.
aws cloudtrail get-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
Di seguito è riportata una risposta di esempio. L'ora di creazione e dell'ultimo aggiornamento sono espressi nel formato timestamp
.
{ "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "Status": "Enabled", "KmsKeyId": "
kms_key_ID
", "AdvancedEventSelectors": [ { "Name": "Select All S3 Data Events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:aws:s3"] } ] } ] "CreatedTimestamp": 1248496624, "UpdatedTimestamp": 1598296624, "MultiRegionEnabled": true, "RetentionPeriod": 90, "TerminationProtectionEnabled": true, }
Elenco di tutti gli archivi di dati degli eventi in un account
Il seguente comando list-event-data-stores della AWS CLI di esempio restituisce informazioni su tutti gli archivi dati di eventi in un account nella regione corrente. I parametri opzionali includono --max-results
, che consente di specificare il numero massimo di risultati che desideri che il comando restituisca su una singola pagina. Se ci sono più risultati di quanto specificato dal valore --max-results
, esegui nuovamente il comando aggiungendo il valore NextToken
restituito per visualizzare la pagina dei risultati successiva.
aws cloudtrail list-event-data-stores
Di seguito è riportata una risposta di esempio.
{ "EventDataStores": [ { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store" } ] }
Aggiornamento di un archivio di dati degli eventi
Il seguente comando update-event-data-store della AWS CLI di esempio aggiorna un archivio dati di eventi per modificarne il periodo di conservazione a 100 giorni e abilitare la protezione da terminazione. Il valore del parametro --event-data-store
richiesto è un ARN (o il suffisso ID dell'ARN) ed è obbligatorio; altri parametri sono facoltativi. In questo esempio, viene aggiunto il parametro --retention-period
per portare il periodo di conservazione a 100 giorni. Facoltativamente, puoi decidere di abilitare la crittografia di AWS Key Management Service e specificare una AWS KMS key aggiungendo --kms-key-id
al comando e specificando un ARN della chiave KMS come valore. --termination-protection-enabled
viene aggiunto per abilitare la protezione da cessazione su un archivio dati di eventi in cui tale protezione non era abilitata.
Un archivio di dati degli eventi che registra gli eventi dall'esterno di AWS non può essere modificato per registrare gli eventi di AWS. Analogamente, un archivio di dati degli eventi che registra gli eventi di AWS non può essere modificato per registrare gli eventi dall'esterno di AWS.AWS
aws cloudtrail update-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE --retention-period 100 --kms-key-id "arn:aws:kms:us-east-1:0123456789:alias/
KMS_key_alias
" \ --termination-protection-enabled
Di seguito è riportata una risposta di esempio.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "ENABLED", "KmsKeyId": "
kms_key_ID
", "AdvancedEventSelectors": [ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 100, "KmsKeyId": "arn:aws:kms:us-east-1:0123456789:alias/KMS_key_alias
" "TerminationProtectionEnabled": true, "CreatedTimestamp": "2021-12-09T22:19:39.417000-05:00", "UpdatedTimestamp": "2021-12-09T22:19:39.603000-05:00" }
Eliminazione di un archivio di dati degli eventi
Il seguente comando delete-event-data-store della AWS CLI di esempio disabilita l'archivio dati di eventi specificato da --event-data-store
, che accetta un ARN dell'archivio dati di eventi o il suffisso ID dell'ARN. Dopo l'esecuzione di delete-event-data-store, lo stato finale dell'archivio di dati degli eventi è PENDING_DELETION
e l'archivio di dati degli eventi viene eliminato automaticamente dopo un periodo di attesa di sette giorni. --no-termination-protection-enabled
deve essere impostato sull'archivio di dati degli eventi; questa operazione non può funzionare se --termination-protection-enabled
è impostato.
Dopo l'esecuzione di delete-event-data-store su un archivio di dati degli eventi, non è possibile eseguire list-queries, describe-query oppure get-query-results sulle query che utilizzano l'archivio di dati disabilitato. Quando è in attesa di eliminazione, l'archivio di dati degli eventi non conta ai fini del limite massimo previsto per il proprio account di cinque archivi di dati degli eventi.
aws cloudtrail delete-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
Se l'operazione riesce, non verrà generata alcuna risposta.
Ripristino di un archivio di dati degli eventi
Il seguente comando restore-event-data-store della AWS CLI di esempio ripristina un archivio dati di eventi in attesa di eliminazione. L'archivio di dati degli eventi è specificato da --event-data-store
, che accetta un ARN dell'archivio di dati degli eventi o il suffisso ID dell'ARN. È possibile ripristinare un archivio di dati degli eventi eliminato solo entro il periodo di attesa di sette giorni dopo l'eliminazione.
aws cloudtrail restore-event-data-store --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
La risposta include informazioni sull'archivio di dati degli eventi, inclusi il relativo ARN, i selettori di eventi avanzati e lo stato del ripristino.
Elencare tutti i canali
Per elencare tutti i canali nell'account, esegui il comando list-channels. Di seguito è riportato un esempio.
aws cloudtrail list-channels
Modifica di un canale
Per modificare il nome o gli archivi di dati degli eventi di destinazione di un canale, esegui il comando update-channel. Il parametro --channel
è obbligatorio. Non è possibile modificare l'origine di un canale. Di seguito è riportato un esempio.
aws cloudtrail update-channel \ --channel aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --name "new-channel-name" \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]'
Eliminazione di un canale per eliminare un'integrazione
Per interrompere l'importazione degli eventi delle attività del partner o di altre origini esterne ad AWS, elimina il canale eseguendo il comando delete-channel. È necessario specificare l'ARN o l'ID del canale (il suffisso ARN) del canale che desideri eliminare. Di seguito è riportato un esempio.
aws cloudtrail delete-channel \ --channel EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE
Avvio di una query
Nel seguente comando start-query della AWS CLI di esempio viene eseguita una query sull'archivio dati di eventi specificato come ID nell'istruzione della query e i risultati della query vengono consegnati a un bucket S3 specificato. Il parametro --query-statement
obbligatorio fornisce una query SQL racchiusa tra virgolette singole. I parametri opzionali includono --delivery-s3uri
, per fornire i risultati della query a un bucket S3 specificato. Per ulteriori informazioni sul linguaggio di query che puoi utilizzare in CloudTrail Lake, consulta la pagina Vincoli SQL di CloudTrail Lake.
aws cloudtrail start-query --query-statement 'SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10' --delivery-s3uri "s3://aws-cloudtrail-lake-query-results-12345678910-us-east-1"
La risposta è una stringa QueryId
. Per ottenere lo stato di una query, eseguire describe-query utilizzando il valore QueryId
restituito da start-query. Se la query ha esito positivo, è possibile eseguire get-query-results per ottenere i risultati.
Output
{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
Le query che vengono eseguite per più di un'ora potrebbero scadere. È comunque possibile ottenere risultati parziali elaborati prima del timeout della query.
Se stai inviando i risultati della query a un bucket S3 utilizzando il parametro --delivery-s3uri
opzionale, la policy del bucket deve concedere a CloudTrail l'autorizzazione a recapitare i risultati della query al bucket. Per informazioni sulla modifica manuale della policy bucket, consulta Policy del bucket Amazon S3 per i risultati delle query di CloudTrail Lake.
Ottenimento dei metadati relativi a una query
Il seguente comando di esempio describe-query della AWS CLI ottiene i metadati relativi a una query, incluso il tempo di esecuzione della query in millisecondi, il numero di eventi analizzati e corrispondenti, il numero totale di byte analizzati e lo stato della query. Il valore BytesScanned
corrisponde al numero di byte per i quali viene fatturato l'account per la query, a meno che la query non sia ancora in esecuzione.
Devi specificare un valore per --query-id
.
aws cloudtrail describe-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE
Di seguito è riportata una risposta di esempio.
{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "QueryStatus": "RUNNING", "QueryStatistics": { "EventsMatched": 10, "EventsScanned": 1000, "BytesScanned": 35059, "ExecutionTimeInMillis": 3821, "CreationTime": "1598911142" } }
Ottenimento dei risultati della query
Il seguente comando get-query-results della AWS CLI di esempio ottiene i risultati dei dati degli eventi di una query. È necessario specificare un ARN o il suffisso ID dell'ARN per --event-data-store
e il valore QueryID
restituito dal comando start-query. Il valore BytesScanned
corrisponde al numero di byte per i quali viene fatturato l'account per la query, a meno che la query non sia ancora in esecuzione. I parametri opzionali includono --max-query-results
, che consente di specificare il numero massimo di risultati che desideri che il comando restituisca su una singola pagina. Se ci sono più risultati di quanto specificato dal valore --max-query-results
, esegui nuovamente il comando aggiungendo il valore NextToken
restituito per visualizzare la pagina dei risultati successiva.
aws cloudtrail get-query-results --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE
Output
{ "QueryStatus": "RUNNING", "QueryStatistics": { "ResultsCount": 244, "TotalResultsCount": 1582, "BytesScanned":27044 }, "QueryResults": [ { "key": "eventName", "value": "StartQuery", } ], "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "NextToken": "20add42078135EXAMPLE" }
Elenco di tutte le query in un archivio di dati degli eventi
Il seguente comando list-queries della AWS CLI di esempio restituisce un elenco delle query e dei relativi stati su un archivio dati di eventi specificato negli ultimi sette giorni. È necessario specificare un valore di ARN o di suffisso ID di un ARN per --event-data-store
. Facoltativamente, per restringere l'elenco dei risultati, è possibile specificare un intervallo di tempo, formattato come marche temporali, aggiungendo i parametri --start-time
e --end-time
e un valore --query-status
. I valori validi per QueryStatus
includono: QUEUED
, RUNNING
, FINISHED
, FAILED
o CANCELLED
.
list-queries ha anche parametri di impaginazione opzionali. Utilizza --max-results
per specificare il numero massimo di risultati che desideri che il comando restituisca su una singola pagina. Se ci sono più risultati di quanto specificato dal valore --max-results
, esegui nuovamente il comando aggiungendo il valore NextToken
restituito per visualizzare la pagina dei risultati successiva.
aws cloudtrail list-queries --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE --query-status CANCELLED --start-time 1598384589 --end-time 1598384602 --max-results 10
Output
{ "Queries": [ { "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598911142 }, { "QueryId": "EXAMPLE2-4e89-9230-2127-5dr3aEXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598296624" } ], "NextToken": "20add42078135EXAMPLE" }
Annullamento di una query in esecuzione
Il seguente comando cancel-query della AWS CLI di esempio annulla una query con uno stato RUNNING
. È necessario specificare un ARN o il suffisso ID di un ARN per --event-data-store
e un valore per --query-id
. Quando esegui cancel-query, lo stato della query potrebbe essere visualizzato come CANCELLED
anche se l'operazione cancel-query non è ancora terminata.
Una query annullata può comportare addebiti. Sul proprio account sarà comunque addebitata la quantità di dati che è stata scansionata prima dell'annullamento della query.
Di seguito è riportato un esempio della CLI.
aws cloudtrail cancel-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE
Output
QueryId -> (string) QueryStatus -> (string)