Integrare AWS CloudWatch con Google SecOps

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

Versione integrazione: 6.0

Casi d'uso

Azioni attive: cerca nei log, crea gruppi/stream di log, elimina gruppi/stream di log, aggiorna le norme di conservazione.

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

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

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

Se necessario, potrai 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 Supportare più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Dindin

Testa la connettività ad AWS CloudWatch.

Run On

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 non riuscire né interrompere l'esecuzione di un playbook:
se l'operazione va a buon fine: "Connessione al server AWS CloudWatch riuscita con i parametri di connessione forniti."

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:
se non va a buon fine: "Failed to connect to the AWS CloudWatch server! Error is {0}".format(exception.stacktrace)

Generale

Elenco dei gruppi di log

Elenca i gruppi di log disponibili in AWS CloudWatch.

Parametri

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

Run On

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 non riuscire 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): "Nessun gruppo di log trovato in AWS CloudWatch".

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Error executing action "List Log Groups". Motivo: {0}''.format(error.Stacktrace)

Generale
Tabella Bacheca casi

Nome: "Gruppi di log"

Colonna:

Nome

Conteggio filtri metriche

Byte archiviati

Ora creazione

Generale

Elenco flussi di log

Elenca i flussi di log disponibili in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Gruppi di log CSV N/D Specifica un elenco separato da virgole di nomi di gruppi per i quali vuoi recuperare i flussi di log.
Ordina per DDL

Nome stream di log

Valori possibili:

Nome flusso di log

Ora ultimo evento

No Specifica l'ordine in cui devono essere ordinati i flussi di log.
Ordinamento DDL

In ordine crescente

Valori possibili:

In ordine crescente

In ordine decrescente

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

Run On

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 non riuscire 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 è riuscita a 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 flussi di log per i gruppi di log forniti in AWS CloudWatch".

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

Generale
Tabella Bacheca casi

Nome: "{Group Name}: Log Streams"

Colonna:

Nome

Byte archiviati

Ora creazione

Timestamp ultimo evento

Generale

Evento log di ricerca

Cerca gli eventi dei log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Gruppo di log Stringa N/D 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 stream 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 è selezionata l'opzione"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 è selezionato "Personalizzato" per il parametro "Intervallo di tempo". 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 viene selezionato "Personalizzato" per il parametro "Intervallo di tempo", 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.

Run On

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 non riuscire né interrompere l'esecuzione di un playbook:
se i dati sono disponibili per (is_success = true): "Successfully executed search in AWS CloudWatch".

se i dati non sono disponibili (is_success = false): "Nessun dato trovato per la ricerca fornita".

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

Generale
Tabella Bacheca casi

Nome: "Risultati di ricerca"

Colonna:tutte le chiavi disponibili.

Generale

Imposta policy di conservazione

Imposta il criterio di conservazione per i gruppi di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Gruppo di log Stringa N/D Specifica il nome del gruppo di log per cui vuoi impostare il criterio 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

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

Run On

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 non riuscire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo (is_success = true): "Criterio di conservazione impostato correttamente per il gruppo di log {group} in AWS CloudWatch".

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Error executing action "Set Retention Policy". Motivo: {0}''.format(error.Stacktrace)

Generale

Rimuovi policy di conservazione

Rimuovi il criterio di conservazione dal gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Gruppo di log Stringa N/D Specifica il nome del gruppo di log da cui vuoi rimuovere la norma di conservazione.

Run On

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 non riuscire 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 deve non riuscire e interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Rimuovi criterio di conservazione". Motivo: {0}''.format(error.Stacktrace)

Generale

Crea gruppo di log

Crea un gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Nome gruppo di log Stringa N/D Specifica il nome del nuovo gruppo di log.

Run On

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 non riuscire né interrompere l'esecuzione di un playbook:
if data success: (is_success = true): "Successfully created a new log group {group} in AWS CloudWatch".

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Error executing action "Сreate Log Group". Motivo: {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> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Gruppo di log Stringa N/D Specifica il nome del gruppo di log in cui vuoi creare un flusso di log.
Nome flusso di log Stringa N/D Specifica il nome del nuovo stream di log.

Run On

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 non riuscire né interrompere l'esecuzione di un playbook:
if data success: (is_success = true): "Successfully created a new log stream in log group {group} in AWS CloudWatch".

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

Generale

Elimina gruppo di log

Elimina un gruppo di log in AWS CloudWatch.

Parametri

Nome visualizzato del parametro> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Nome gruppo di log Stringa N/D Specifica il nome del gruppo di log da eliminare.

Run On

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 non riuscire 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 deve non riuscire e interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elimina gruppo di log". Motivo: {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> Tipo> Valore predefinito> Is Mandatory> Descrizione>
Nome gruppo di log Stringa N/D Specifica il nome del gruppo di log che contiene il flusso di log.
Nome flusso di log Stringa N/D Specifica il nome del flusso di log da eliminare.

Run On

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 non riuscire né interrompere l'esecuzione di un playbook:
se i dati hanno esito positivo (is_success = true): "Successfully deleted log stream {stream} from log group {group} in AWS CloudWatch".

Se lo stream non esiste (is_success=false): "L'azione non è riuscita a eliminare lo stream di log {stream} dal gruppo di log {group} in AWS CloudWatch. Motivo: il flusso 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 deve non riuscire e interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elimina flusso di log". Motivo: {0}''.format(error.Stacktrace)

Generale

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