AWS CloudWatch in Google SecOps einbinden

In diesem Dokument wird beschrieben, wie Sie AWS CloudWatch in Google Security Operations (Google SecOps) einbinden.

Anwendungsbereiche

Aktive Aktionen: In Logs suchen, Loggruppen/-streams erstellen, Loggruppen/-streams löschen, Aufbewahrungsrichtlinien aktualisieren.

Integrationsparameter

Verwenden Sie die folgenden Parameter, um die Integration zu konfigurieren:

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
AWS-Zugriffsschlüssel-ID String – Ja AWS-Zugriffsschlüssel-ID, die für die Integration verwendet werden soll.
AWS Secret Key Passwort – Ja AWS-Secret-Key, der in der Integration verwendet werden soll.
AWS-Standardregion String – Ja AWS-Standardregion, die in der Integration verwendet werden soll, z. B. us-west-2.

Eine Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.

Sie können später bei Bedarf Änderungen vornehmen. Nachdem Sie eine Integrationsinstanz konfiguriert haben, können Sie sie in Playbooks verwenden. Weitere Informationen zum Konfigurieren und Unterstützen mehrerer Instanzen finden Sie unter Mehrere Instanzen unterstützen.

Aktionen

Weitere Informationen zu Aktionen finden Sie unter Auf ausstehende Aktionen im Workdesk reagieren und Manuelle Aktion in einem Fall ausführen.

Ping

Testen Sie die Verbindung zu AWS CloudWatch.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung eines Playbooks nicht beenden:
Bei Erfolg: „Successfully connected to the AWS CloudWatch server with the provided connection parameters!“

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
if not successful: „Failed to connect to the AWS CloudWatch server! Error is {0}".format(exception.stacktrace)

Allgemein

Loggruppen auflisten

Verfügbare Loggruppen in AWS CloudWatch auflisten.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Maximale Anzahl zurückzugebender Gruppen Ganzzahl 50 Nein Geben Sie an, wie viele Gruppen zurückgegeben werden sollen. Standardeinstellung: 50.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
JSON-Ergebnis
[
    {
        "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
    }
]
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Playbook-Ausführung nicht beenden:
Wenn Daten verfügbar sind (is_success = true): „Successfully returned available log groups in AWS CloudWatch“.

Wenn keine Daten verfügbar sind (is_success = true): „In AWS CloudWatch wurden keine Loggruppen gefunden.“

Die Aktion sollte fehlschlagen und die Playbook-Ausführung beenden:
Bei schwerwiegendem Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, Sonstiges: „Fehler beim Ausführen der Aktion ‚Loggruppen auflisten‘. Reason: {0}''.format(error.Stacktrace)

Allgemein
Tabelle mit Fall-Repository

Name: „Loggruppen“

Spalte:

Name

Anzahl der Messwertfilter

Gespeicherte Byte

Erstellungszeitpunkt

Allgemein

Logstreams auflisten

Verfügbare Logstreams in AWS CloudWatch auflisten.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Loggruppen CSV – Ja Geben Sie eine durch Kommas getrennte Liste von Gruppennamen an, für die Sie Logstreams abrufen möchten.
Sortieren nach DDL

Name des Logstreams

Mögliche Werte:

Name des Logstreams

Zeitpunkt des letzten Ereignisses

Nein Geben Sie an, wie die Logstreams sortiert werden sollen.
Sortierreihenfolge DDL

Aufsteigend

Mögliche Werte:

Aufsteigend

Absteigend

Nein Geben Sie an, welche Sortierreihenfolge verwendet werden soll.
Maximale Anzahl zurückzugebender Streams Ganzzahl 50 Nein Geben Sie an, wie viele Streams pro Loggruppe zurückgegeben werden sollen.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
JSON-Ergebnis
[{
    "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"
        }
    ]
}
]
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Playbook-Ausführung nicht beenden:
Wenn Daten für mindestens eine Loggruppe verfügbar sind (is_success = true): „Successfully returned available log streams for the following log groups in AWS CloudWatch: {group names}“.

Wenn für mindestens eine Loggruppe keine Daten verfügbar sind (is_success = true): „Die Aktion konnte keine verfügbaren Logstreams für die folgenden Loggruppen in AWS CloudWatch zurückgeben: {group names}“.

Wenn für mindestens eine Loggruppe keine Daten verfügbar sind (is_success = false): „Für die angegebenen Loggruppen in AWS CloudWatch wurden keine Logstreams gefunden.“

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei einem schwerwiegenden Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, Sonstiges: „Fehler beim Ausführen der Aktion ‚Logstreams auflisten‘. Reason: {0}''.format(error.Stacktrace)

Allgemein
Tabelle mit Fall-Repository

Name: „{Group Name}: Log Streams“

Spalte:

Name

Gespeicherte Byte

Erstellungszeitpunkt

Zeitstempel des letzten Ereignisses

Allgemein

Protokollereignis suchen

Suchen Sie in AWS CloudWatch nach Protokollereignissen.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Loggruppe String – Ja Geben Sie den Namen der Loggruppe an, in der Sie nach Ereignissen suchen möchten.
Log-Streams CSV – Nein Geben Sie eine durch Kommas getrennte Liste von Logstreams an, in denen Sie nach Ereignissen suchen möchten.
Zeitraum DDL

Letzte Stunde

Mögliche Werte:

Letzte Stunde

Letzte 6 Stunden

Letzte 24 Stunden

Letzte Woche

Letzter Monat

Benutzerdefiniert

Nein Geben Sie einen Zeitraum für die Suche an. Wenn „Benutzerdefiniert“ ausgewählt ist, müssen Sie auch eine „Startzeit“ festlegen.
Beginn String – Nein Geben Sie die Startzeit für die Suche an. Dieser Parameter ist obligatorisch, wenn für den Parameter „Zeitraum“ die Option „Benutzerdefiniert“ ausgewählt ist. Format: ISO 8601
Ende String – Nein Geben Sie die Endzeit für die Suche an. Format: ISO 8601. Wenn nichts angegeben ist und für den Parameter „Zeitraum“ die Option „Benutzerdefiniert“ ausgewählt ist, wird für diesen Parameter die aktuelle Zeit verwendet.
Benutzerdefinierter Filter String – Nein Geben Sie den benutzerdefinierten Filter für die Suche an. Weitere Informationen finden Sie im Dokumentationsportal.
Maximale Anzahl zurückzugebender Ereignisse Ganzzahl 50 Nein Geben Sie an, wie viele Ereignisse zurückgegeben werden sollen. Standardeinstellung: 50.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
JSON-Ergebnis
[
        {
            "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
    }
]
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung des Playbooks nicht beenden:
Wenn Daten verfügbar sind (is_success = true): „Successfully executed search in AWS CloudWatch“.

Wenn keine Daten verfügbar sind (is_success = false): „Für die angegebene Suche wurden keine Daten gefunden.“

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei einem schwerwiegenden Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, Sonstiges: „Fehler beim Ausführen der Aktion ‚Search Log Events‘. Reason: {0}''.format(error.Stacktrace)

Allgemein
Tabelle mit Fall-Repository

Name: „Suchergebnisse“

Spalte: alle verfügbaren Schlüssel.

Allgemein

Aufbewahrungsrichtlinie festlegen

Legen Sie die Aufbewahrungsrichtlinie für Loggruppen in AWS CloudWatch fest.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Loggruppe String – Ja Geben Sie den Namen der Loggruppe an, für die Sie die Aufbewahrungsrichtlinie festlegen möchten.
Aufbewahrungsdauer in Tagen DDL

1

Mögliche Werte

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

Ja Geben Sie an, wie viele Tage die Daten in der Loggruppe aufbewahrt werden sollen.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung des Playbooks nicht beenden:
if data success: (is_success = true): „Successfully set the retention policy for log group {group} in AWS CloudWatch“.

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei schwerwiegendem Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, Sonstiges: „Fehler beim Ausführen der Aktion ‚Aufbewahrungsrichtlinie festlegen‘. Reason: {0}''.format(error.Stacktrace)

Allgemein

Aufbewahrungsrichtlinie entfernen

Entfernen Sie die Aufbewahrungsrichtlinie aus der Loggruppe in AWS CloudWatch.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Loggruppe String – Ja Geben Sie den Namen der Loggruppe an, aus der Sie die Aufbewahrungsrichtlinie entfernen möchten.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung eines Playbooks nicht beenden:
if data success: (is_success = true): „Successfully removed the retention policy from log group {group} in AWS CloudWatch“.

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei einem schwerwiegenden Fehler, z. B. falschen Anmeldedaten, keiner Verbindung zum Server oder anderen Fehlern: „Fehler beim Ausführen der Aktion ‚Aufbewahrungsrichtlinie entfernen‘. Reason: {0}''.format(error.Stacktrace)

Allgemein

Loggruppe erstellen

Erstellen Sie eine Loggruppe in AWS CloudWatch.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Name der Loggruppe String – Ja Geben Sie den Namen für die neue Loggruppe an.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
JSON-Ergebnis
{
"group_name": "GROUP_NAME"
}
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung des Playbooks nicht beenden:
Wenn die Daten erfolgreich erstellt wurden (is_success = true): „In AWS CloudWatch wurde eine neue Loggruppe {group} erstellt.“

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei einem schwerwiegenden Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, Sonstiges: „Fehler beim Ausführen der Aktion ‚Loggruppe erstellen‘. Reason: {0}''.format(error.Stacktrace)

Allgemein

Logstream erstellen

Erstellen Sie einen Logstream für die Loggruppe in AWS CloudWatch.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Loggruppe String – Ja Geben Sie den Namen der Loggruppe an, in der Sie einen Logstream erstellen möchten.
Name des Logstreams String – Ja Geben Sie den Namen für den neuen Logstream an.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
JSON-Ergebnis
{
"log_stream": "STREAM_NAME"
}
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung des Playbooks nicht beenden:
Wenn die Daten erfolgreich erstellt wurden (is_success = true): „In der Loggruppe {group} in AWS CloudWatch wurde ein neuer Logstream erstellt.“

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei schwerwiegendem Fehler, z. B. falschen Anmeldedaten, fehlender Verbindung zum Server oder anderem: „Fehler beim Ausführen der Aktion ‚Logstream erstellen‘. Reason: {0}''.format(error.Stacktrace)

Allgemein

Loggruppe löschen

Löschen Sie eine Loggruppe in AWS CloudWatch.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Name der Loggruppe String – Ja Geben Sie den Namen der Loggruppe an, die gelöscht werden soll.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung des Playbooks nicht beenden:
if data success: (is_success = true): „Successfully deleted log group {group} in AWS CloudWatch“.

Wenn die Gruppe nicht vorhanden ist (is_success=false): „Die Loggruppe {group} konnte in AWS CloudWatch nicht gelöscht werden. Grund: Die Loggruppe {group} wurde in AWS CloudWatch nicht gefunden.“

Die Aktion sollte fehlschlagen und die Ausführung eines Playbooks beenden:
Bei schwerwiegendem Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, andere: „Fehler beim Ausführen der Aktion ‚Delete Log Group‘. Reason: {0}''.format(error.Stacktrace)

Allgemein

Logstream löschen

Löschen Sie einen Logstream in einer Loggruppe in AWS CloudWatch.

Parameter

Anzeigename des Parameters> Type> Standardwert> Ist obligatorisch> Beschreibung>
Name der Loggruppe String – Ja Geben Sie den Namen der Loggruppe an, die den Logstream enthält.
Name des Logstreams String – Ja Geben Sie den Namen des Logstreams an, der gelöscht werden soll.

Ausführen am

Diese Aktion wird nicht für Entitäten ausgeführt.

Aktionsergebnisse

Scriptergebnis
Script Result Name> Wertoptionen>
is_success is_success=False
is_success is_success=True
Fall-Repository
Ergebnistyp Wert/Beschreibung Typ
Ausgabenachricht*

Die Aktion sollte nicht fehlschlagen und die Ausführung des Playbooks nicht beenden:
if data success: (is_success = true): „Successfully deleted log stream {stream} from log group {group} in AWS CloudWatch“.

Wenn der Stream nicht vorhanden ist (is_success=false): „Der Logstream {stream} konnte nicht aus der Loggruppe {group} in AWS CloudWatch gelöscht werden. Grund: Der Logstream {stream} wurde in der Loggruppe {group} in AWS CloudWatch nicht gefunden.“

Wenn die Gruppe nicht vorhanden ist (is_success=false): „Der Logstream {stream} konnte nicht aus der Loggruppe {group} in AWS CloudWatch gelöscht werden. Grund: Die Loggruppe {group} wurde in AWS CloudWatch nicht gefunden.“

Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden:
Bei schwerwiegendem Fehler, z. B. falsche Anmeldedaten, keine Verbindung zum Server, Sonstiges: „Fehler beim Ausführen der Aktion ‚Delete Log Stream‘. Reason: {0}''.format(error.Stacktrace)

Allgemein

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten