Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Crea un'integrazione per registrare gli eventi dall'esterno AWS con AWS CLI

Modalità Focus
Crea un'integrazione per registrare gli eventi dall'esterno AWS con AWS CLI - AWS CloudTrail

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à.

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à.

Questa sezione descrive come utilizzare AWS CLI per creare un'integrazione CloudTrail Lake per registrare eventi dall'esterno di AWS.

In AWS CLI, crei un'integrazione 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). NelAPI, il eventCategory valore deve essereActivityAuditLog. Per ulteriori informazioni sulle integrazioni, consulta la pagina Crea un'integrazione con una fonte di eventi esterna a AWS.

  1. 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-enabledopzione. 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 del data store dell'evento (il suffisso diARN, o EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE nell'esempio di risposta precedente) per passare al passaggio successivo e creare il tuo canale.

  2. Esegui il create-channelcomando 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 comando di esempio seguente crea un canale che invia eventi a due archivi di dati di eventi, rappresentati da essi IDs nell'Locationattributo del --destinations parametro. 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, specificate Custom 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 tuo create-channel comando, copia il ARN del nuovo canale. È necessario ARN eseguire i put-audit-events comandi put-resource-policy and nei passaggi successivi.

  3. Esegui il put-resource-policycomando per allegare una politica delle risorse al canale. Le JSON politiche relative alle risorse sono documenti politici che specificano quali azioni un determinato responsabile può eseguire sulla risorsa e in quali condizioni. Gli account definiti come responsabili nella politica delle risorse del canale possono chiamarli PutAuditEvents API per fornire eventi.

    Nota

    Se non crei una politica delle risorse per il canale, solo il proprietario del canale può richiamarla PutAuditEvents API sul canale.

    Le informazioni richieste per la policy dipendono dal tipo di integrazione.

    • Per un'integrazione direzionale, CloudTrail richiede che la policy contenga l' AWS account IDs del partner e richiede l'immissione dell'ID esterno univoco fornito dal partner. CloudTrail aggiunge automaticamente l' AWS account del partner IDs alla politica delle risorse quando si crea un'integrazione utilizzando la CloudTrail console. Consulta la documentazione del partner per scoprire come ottenere i numeri di AWS account necessari per la policy.

    • 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:

    • La risorsa ARN definita nella policy deve corrispondere al canale a cui è associata ARN la policy.

    • La policy contiene una sola 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 politiche basate sulle risorse.

  4. Esegui il comando PutAuditEventsAPIper inserire i tuoi eventi di 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 Tieni presente che PutAuditEvents API utilizza l'endpoint, non l'endpoint. cloudtrail-data CLI cloudtrail

    Gli esempi seguenti mostrano come utilizzare il put-audit-events CLI comando. I parametri --audit-events e --channel-arn sono obbligatori. Il parametro --external-id è obbligatorio se nella policy delle risorse è definito un ID esterno. È necessario ARN il canale creato nel passaggio precedente. Il valore di --audit-events è una JSON matrice di oggetti evento. --audit-eventsinclude un ID richiesto dall'evento, il payload richiesto dell'evento come valore di EventData e un checksum opzionale per aiutare a convalidare l'integrità dell'evento dopo l'ingestione 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: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 comando di esempio seguente aggiunge il --cli-input-json parametro per specificare un JSON file () 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

    Di seguito sono riportati i contenuti di esempio del JSON file 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 CloudTrail che gli eventi vengano importati correttamente dall'origine eseguendo il get-channelcomando. L'output di get-channel mostra il timestamp più recente con cui sono stati ricevuti gli CloudTrail eventi.

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 SHA256 algoritmo base64 che si calcola 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

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.