Integra AWS CloudWatch con Google SecOps

Questo documento descrive come integrare AWS CloudWatch con Google Security Operations (Google SecOps).

Casi d'uso

Azioni attive: ricerca nei log, creazione di gruppi/stream di log, eliminazione di gruppi/stream di log, aggiornamento delle policy di conservazione.

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
ID chiave di accesso AWS Stringa N/D Sì ID chiave di accesso AWS da utilizzare nell'integrazione.
Chiave segreta AWS Password N/D Sì Chiave segreta AWS da utilizzare nell'integrazione.
Regione predefinita AWS Stringa N/D Sì Regione AWS predefinita da utilizzare nell'integrazione, ad esempio us-west-2.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.

Se necessario, puoi apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.

Azioni

Per saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.

Dindin

Testa la connettività ad AWS CloudWatch.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
In caso di esito positivo: "Connessione al server AWS CloudWatch stabilita correttamente con i parametri di connessione forniti."

L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook:
if not successful: "Failed to connect to the AWS CloudWatch server! Error is {0}".format(exception.stacktrace)

Generale

Elenca gruppi di log

Elenca i gruppi di log disponibili in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Numero massimo di gruppi da restituire Numero intero 50 No Specifica il numero di gruppi da restituire. Valore predefinito: 50.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Risultato JSON
[
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1611581795766,
        "logGroupName": "CloudTrail/DefaultLogGroup",
        "metricFilterCount": 0,
        "storedBytes": 24529015
    },
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1606993203235,
        "logGroupName": "Example",
        "metricFilterCount": 1,
        "storedBytes": 730
    },
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1611652265055,
        "logGroupName": "aws-cloudtrail-logs",
        "metricFilterCount": 0,
        "storedBytes": 51354815
    }
]
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
Se i dati sono disponibili (is_success = true): "Successfully returned available log groups in AWS CloudWatch".

Se non sono disponibili dati (is_success = true): "No log groups were found in AWS CloudWatch".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, come credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elenca gruppi di log". Reason: {0}''.format(error.Stacktrace)

Generale
Tabella della bacheca casi

Nome: "Gruppi di log"

Colonna:

Nome

Conteggio dei filtri delle metriche

Byte archiviati

Ora creazione

Generale

Elenca flussi di log

Elenca i flussi di log disponibili in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Gruppi di log CSV N/D Sì Specifica un elenco separato da virgole di nomi di gruppi per cui vuoi recuperare gli stream di log.
Ordina per DDL

Nome stream di log

Valori possibili:

Nome del flusso di log

Ora ultimo evento

No Specifica l'ordine degli stream di log.
Ordinamento DDL

In ordine crescente

Valori possibili:

In ordine crescente

In ordine decrescente

No Specifica l'ordinamento da utilizzare.
Numero massimo di stream da restituire Numero intero 50 No Specifica il numero di stream da restituire per gruppo di log.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Risultato JSON
[{
    "group":"{group name}"
"logStreams": [
        {
            "arn": "arn:aws:logs:us-east-1:log-group:aws-cloudtrail-logs:log-stream:CloudTrail_us-east-1",
            "creationTime": 1611652272827,
            "firstEventTimestamp": 1611652287716,
            "lastEventTimestamp": 1612271538268,
            "lastIngestionTime": 1612271538289,
            "logStreamName": "CloudTrail_us-east-1",
            "storedBytes": 0,
            "uploadSequenceToken": "49039859450784908968417870788122674924958823185025535393"
        }
    ]
}
]
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook:
Se i dati sono disponibili per almeno un gruppo di log (is_success = true): "Successfully returned available log streams for the following log groups in AWS CloudWatch: {group names}".

Se i dati non sono disponibili per almeno un gruppo di log (is_success = true): "L'azione non è stata in grado di restituire i flussi di log disponibili per i seguenti gruppi di log in AWS CloudWatch: {group names}".

Se i dati non sono disponibili per almeno un gruppo di log (is_success = false): "Non sono stati trovati stream di log per i gruppi di log forniti in AWS CloudWatch".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elenca flussi di log". Reason: {0}''.format(error.Stacktrace)

Generale
Tabella della bacheca casi

Nome: "{Group Name}: Log Streams"

Colonna:

Nome

Byte archiviati

Ora creazione

Timestamp ultimo evento

Generale

Evento di log di ricerca

Cerca gli eventi dei log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Gruppo di log Stringa N/D Sì Specifica il nome del gruppo di log in cui vuoi cercare gli eventi.
Flussi di log CSV N/D No Specifica un elenco separato da virgole di flussi di log in cui vuoi cercare gli eventi.
Intervallo di tempo DDL

Ultima ora

Valori possibili:

Ultima ora

Ultime 6 ore

Ultime 24 ore

Settimana scorsa

Mese scorso

Personalizzato

No Specifica un periodo di tempo per la ricerca. Se selezioni "Personalizzato", devi anche impostare un'ora di inizio.
Ora di inizio Stringa N/D No Specifica l'ora di inizio della ricerca. Questo parametro è obbligatorio se per il parametro "Periodo di tempo" è selezionato "Personalizzato". Formato: ISO 8601
Ora di fine Stringa N/D No Specifica l'ora di fine della ricerca. Formato: ISO 8601. Se non viene fornito alcun valore e per il parametro "Time Frame" è selezionato "Custom", questo parametro utilizzerà l'ora corrente.
Filtro personalizzato Stringa N/D No Specifica il filtro personalizzato per la ricerca. Per ulteriori informazioni, consulta il portale della documentazione.
Numero massimo di eventi da restituire Numero intero 50 No Specifica il numero di eventi da restituire. Valore predefinito: 50.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Risultato JSON
[
        {
            "eventId": "ID",
            "ingestionTime": 1611652287896,
            "logStreamName": "CloudTrail_us-east-1",
            "message": {
                "eventVersion": "1.08",
                "userIdentity": {
                    "type": "AssumedRole",
                    "principalId": "ID",
                    "arn":"arn:aw
s:sts: : ACCOUNT_ID:assumed-role/AWSServiceRoleForAmazonMacie/AmazonMacieSession","accountId":"ACCOUNT_ID","accessKeyId":"KEY_ID","sessionC
ontext":{"sessionIssuer":{"type":"Role","principalId":"ID","arn":"arn:aws:iam: : ACCOUNT_ID:role/aws-service-role/macie.amazonaws.com/AW
SServiceRoleForAmazonMacie","accountId":"ACCOUNT_ID","userName":"AWSServiceRoleForAmazonMacie"},"webIdFederationData":{},"attributes":{"mfaAuthenticated": "false",
                    "creationDate": "2021-01-26T08:53:52Z"
                }
            },
            "invokedBy": "AWS Internal",
            "eventTime": "2021-01-26T08:53:52Z",
            "eventSource": "s3.amazonaws.com",
            "eventName": "GetBucketLogging",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "AWSInternal",
            "userAgent": "AWS Internal",
            "requestParameters": {
                "logging": "",
                "bucketName": "example",
                "Host": "example.s3.amazonaws.com"
            },
            "responseElements": null,
            "additionalEventData": {
                "SignatureVersion": "SigV4",
                "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
                "bytesTransferredIn": 0,
                "AuthenticationMethod": "AuthHeader",
                "x-amz-id-2": "PFM+6pyK/gCPy95gh8dtstgtXftrpHkL8s=",
                "bytesTransferredOut": 289
            },
            "requestID": "8FA919A428BC82D7",
            "eventID": "7eb5dd44-7021-4945-b9be-27f5b1e0d8d0",
            "readOnly": true,
            "resources": [
                {
                    "accountId": "ACCOUNT_ID",
                    "type": "AWS::S3::Bucket",
                    "ARN": "arn:aws:s3:::example"
                }
            ],
            "eventType": "AwsApiCall",
            "managementEvent": true,
            "eventCategory": "Management",
            "recipientAccountId": "ACCOUNT_ID"
        },
        "timestamp": 1611652287716
    }
]
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se i dati sono disponibili per (is_success = true): "Ricerca eseguita correttamente in AWS CloudWatch".

Se i dati non sono disponibili (is_success = false): "Non sono stati trovati dati per la ricerca fornita.".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Cerca eventi di log". Reason: {0}''.format(error.Stacktrace)

Generale
Tabella della bacheca casi

Nome: "Risultati di ricerca"

Colonna: tutte le chiavi disponibili.

Generale

Imposta policy di conservazione

Imposta la policy di conservazione per i gruppi di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Gruppo di log Stringa N/D Sì Specifica il nome del gruppo di log per cui vuoi impostare la policy di conservazione.
Giorni di conservazione DDL

1

Valori possibili

1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827 e 3653

Sì Specifica per quanti giorni i dati devono essere conservati nel gruppo di log.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo: (is_success = true): "Il criterio di conservazione per il gruppo di log {group} in AWS CloudWatch è stato impostato correttamente".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Imposta policy di conservazione". Reason: {0}''.format(error.Stacktrace)

Generale

Rimuovi policy di conservazione

Rimuovi la policy di conservazione dal gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Gruppo di log Stringa N/D Sì Specifica il nome del gruppo di log da cui vuoi rimuovere la policy di conservazione.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo: (is_success = true): "Successfully removed the retention policy from log group {group} in AWS CloudWatch".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Rimuovi policy di conservazione". Reason: {0}''.format(error.Stacktrace)

Generale

Crea gruppo di log

Crea un gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Nome gruppo di log Stringa N/D Sì Specifica il nome del nuovo gruppo di log.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Risultato JSON
{
"group_name": "GROUP_NAME"
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo: (is_success = true): "Nuovo gruppo di log {group} creato correttamente in AWS CloudWatch".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Crea gruppo di log". Reason: {0}''.format(error.Stacktrace)

Generale

Crea stream di log

Crea un flusso di log per il gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Gruppo di log Stringa N/D Sì Specifica il nome del gruppo di log in cui vuoi creare un flusso di log.
Nome del flusso di log Stringa N/D Sì Specifica il nome del nuovo flusso di log.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Risultato JSON
{
"log_stream": "STREAM_NAME"
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo: (is_success = true): "Creazione di un nuovo flusso di log nel gruppo di log {group} in AWS CloudWatch riuscita".

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Crea flusso di log". Reason: {0}''.format(error.Stacktrace)

Generale

Elimina gruppo di log

Elimina un gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Nome gruppo di log Stringa N/D Sì Specifica il nome del gruppo di log da eliminare.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo: (is_success = true): "Successfully deleted log group {group} in AWS CloudWatch".

Se il gruppo non esiste (is_success=false): "L'azione non è riuscita a eliminare il gruppo di log {group} in AWS CloudWatch. Motivo: il gruppo di log {group} non è stato trovato in AWS CloudWatch."

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elimina gruppo di log". Reason: {0}''.format(error.Stacktrace)

Generale

Elimina flusso di log

Elimina un flusso di log in un gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Type> Valore predefinito> Is Mandatory> Description>
Nome gruppo di log Stringa N/D Sì Specifica il nome del gruppo di log che contiene il flusso di log.
Nome del flusso di log Stringa N/D Sì Specifica il nome del flusso di log da eliminare.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script> Opzioni valore>
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo: (is_success = true): "Flusso di log {stream} eliminato correttamente dal gruppo di log {group} in AWS CloudWatch".

Se lo stream non esiste (is_success=false): "L'azione non è riuscita a eliminare il flusso di log {stream} dal gruppo di log {group} in AWS CloudWatch. Motivo: lo stream di log {stream} non è stato trovato nel gruppo di log {group} in AWS CloudWatch."

Se il gruppo non esiste (is_success=false): "L'azione non è riuscita a eliminare il flusso di log {stream} dal gruppo di log {group} in AWS CloudWatch. Motivo: il gruppo di log {group} non è stato trovato in AWS CloudWatch."

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elimina flusso di log". Reason: {0}''.format(error.Stacktrace)

Generale

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.