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à.
Crea, aggiorna e gestisci le integrazioni di CloudTrail Lake con AWS CLI
Puoi utilizzarli AWS CLI per creare, aggiornare e gestire le tue integrazioni CloudTrail Lake. Quando usi il AWS CLI, ricorda che i tuoi comandi vengono eseguiti nella Regione AWS configurazione per il tuo profilo. Per eseguire i comandi in un'altra regione, modificare la regione predefinita per il profilo oppure utilizzare il parametro --region con il comando.
Comandi disponibili per le integrazioni con CloudTrail Lake
I comandi per creare, aggiornare e gestire le integrazioni in CloudTrail Lake includono:
-
create-event-data-store
per creare un archivio dati di eventi per eventi esterni a. AWS -
delete-channel
per eliminare un canale utilizzato per un'integrazione. -
delete-resource-policy
per eliminare la politica delle risorse allegata a un canale per un'integrazione con CloudTrail Lake. -
get-channel
per restituire informazioni su un CloudTrail canale. -
get-resource-policy
per recuperare il testo JSON del documento di policy basato sulle risorse allegato al canale. CloudTrail -
list-channels
per elencare i canali nell'account corrente e i relativi nomi di origine. -
put-audit-events
per importare gli eventi della tua applicazione in CloudTrail Lake. Un parametro obbligatorioauditEvents
, accetta i record JSON (chiamati anche payload) degli eventi che si desidera CloudTrail importare. Puoi aggiungere fino a 100 di questi eventi (o fino a 1 MB) per richiesta.PutAuditEvents
-
put-resource-policy
per allegare una politica di autorizzazione basata sulle risorse a un CloudTrail canale utilizzato per l'integrazione con una fonte di eventi esterna a. AWSPer ulteriori informazioni sulle politiche basate sulle risorse, consulta esempi di policy basate sulle risorse.AWS CloudTrail -
update-channel
per aggiornare un canale specificato da un ARN o UUID del canale richiesto.
Per un elenco dei comandi disponibili per gli archivi di dati di eventi CloudTrail Lake, vedi. Comandi disponibili per gli archivi dati degli eventi
Per un elenco dei comandi disponibili per le query CloudTrail Lake, consultaComandi disponibili per le query su CloudTrail Lake.
Crea un'integrazione per registrare gli eventi dall'esterno AWS con AWS CLI
In AWS CLI, crei un'integrazione che registra gli eventi dall'esterno AWS in quattro comandi (tre se disponi già di un archivio dati di eventi che soddisfa i criteri). I data store di eventi utilizzati come destinazioni per un'integrazione devono essere per una singola regione e un singolo account; non possono essere multiregionali, non possono registrare eventi per le organizzazioni e possono includere solo eventi di attività. AWS Organizations 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 Crea un'integrazione con una fonte di eventi esterna a 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 AWS CLI comando di esempio seguente crea un archivio dati di eventi che registra gli eventi dall'esterno. 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'event data store raccoglie eventi da tutte le regioni, ma poiché raccoglie AWS eventi diversi, impostalo su una singola regione aggiungendo l'--no-multi-region-enabled
opzione. 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.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "AdvancedEventSelectors": [ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ActivityAuditLog" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }
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. -
Eseguite il create-channel
comando per creare un canale che consenta a un'applicazione partner o sorgente di inviare eventi a un archivio dati di eventi in CloudTrail. Un canale include i seguenti componenti:
- Origine
-
CloudTrail utilizza queste informazioni per determinare i partner a cui inviano i dati degli eventi per CloudTrail conto dell'utente. È necessaria un'origine, che può essere
Custom
per tutti gli eventi esterni ad AWS validi o il nome di un'origine di eventi del 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 CloudTrail partner, specificate il nome del partner come valore di--source
. Per importare eventi dalle vostre applicazioni all'esterno AWS, specificateCustom
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. -
Eseguite il put-resource-policycomando per allegare una politica 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 direzionale, CloudTrail richiede che la policy contenga gli ID degli AWS account del partner e richiede l'immissione dell'ID esterno univoco fornito dal partner. CloudTrail aggiunge automaticamente gli ID AWS account del partner alla politica delle risorse quando crei un'integrazione utilizzando la CloudTrail console. Consulta la documentazione del partner per scoprire come ottenere i numeri di AWS account richiesti per la politica.
-
Per l'integrazione di una soluzione, è necessario specificare almeno un ID AWS account come principale e, facoltativamente, inserire un ID esterno per evitare di creare confusione tra deputati.
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 solo un'azione: 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 AWS CloudTrail esempi di policy basate sulle risorse.
-
-
Esegui l'
PutAuditEvents
API in cui inserire gli eventi delle tue attività. CloudTrail Avrai bisogno del payload di eventi che desideri CloudTrail aggiungere. Assicurati che non vi siano informazioni sensibili o che consentano l'identificazione personale nell'evento payload prima di inserirle. 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 evento.
--audit-events
include un ID richiesto dall'evento, il payload richiesto dell'evento come valore diEventData
e un checksum opzionale per convalidare l'integrità dell'evento dopo l'ingestione in. CloudTrailaws 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:123456789012: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" } ] }
È possibile verificare che l'integrazione funzioni e che gli eventi vengano CloudTrail importati correttamente 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 specificato come valore di una PutAuditEvents
richiesta consente di EventDataChecksum
verificare che CloudTrail riceva l'evento corrispondente al checksum e di verificare 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
Aggiorna un canale con AWS CLI
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:123456789012: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"}]'
Eliminare un canale per eliminare un'integrazione con AWS CLI
Per interrompere l'importazione di partner o altre attività all'esterno AWS, elimina il canale eseguendo il delete-channel comando. È 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