Benutzerdefinierte Module für Security Health Analytics testen

Auf dieser Seite wird erläutert, wie Sie benutzerdefinierte Module von Security Health Analytics im Google Cloud Console, indem Sie eine YAML-Datei mit Testdaten hochladen.

Hinweise

Bevor Sie benutzerdefinierte Module testen können, müssen folgende Voraussetzungen erfüllt sein: Voraussetzungen:

  • Alle allgemeinen Voraussetzungen für die Verwendung von Security Health Analytics benutzerdefinierte Module, einschließlich der folgenden:

    • Aktivierung der Premium-Dienststufe
    • Aktivierung der Security Command Center API

    Eine vollständige Liste der Voraussetzungen findest du unter Benutzerdefinierte Module für Security Health Analytics verwenden

  • Ihrem Nutzerkonto muss mindestens eine Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) gewährt werden mit denen Sie nicht nur mit Security Command Center und benutzerdefinierten Module, enthält aber auch die Berechtigung „securitycenter.securityhealthanalyticscustommodules.test“. Weitere Informationen zu den Berechtigungen und Rollen, mit benutzerdefinierten Modulen arbeiten, siehe Erforderliche IAM-Berechtigungen.

  • Für API-Aufrufe zum Testen benutzerdefinierter Module gilt ein Kontingent. Weitere Informationen Siehe Kontingente für benutzerdefinierte Module.

Testressourcen in einer YAML-Datei erstellen

Zum Testen eines benutzerdefinierten Moduls definieren Sie fiktive Ressourcendefinitionen, fiktive Richtlinien Definitionen oder beides in einer YAML-Datei.

Die Definitionen entsprechen nicht den tatsächlichen Ressourcen- oder Richtlinieninstanzen, aber die Definitionen müssen den Schemas der Ressourcen- oder Richtlinientypen entsprechen die in Ihren benutzerdefinierten Modulen angegeben sind.

In Ihren Testdefinitionen müssen Sie nur die folgenden Attribute angeben: die von Ihren benutzerdefinierten Modulen ausgewertet werden. Sie müssen keine Ressourcenattribute, auf die das benutzerdefinierte Modul nicht verweist.

Geben Sie Attributwerte an, um Ihre CEL-Ausdrücke im benutzerdefinierten Modul zu testen in der Testdatei, die bewirken, dass die CEL-Ausdrücke in true aufgelöst werden.

Format der Testdaten

Beginnen Sie die Datei mit testData: in der ersten Zeile, gefolgt von eine oder mehrere - asset-Definitionen.

testData:
- asset:
    resource: ARBITRARY_ASSET_NAME_1
    assetType: RESOURCE_TYPE_1
    resourceData:
      PROPERTIES_TO_TEST_1: PROPERTY_VALUE_1
        SUB_PROPERTY: SUB_PROPERTY_VALUE
      PROPERTIES_TO_TEST_2: PROPERTY_VALUE_2
- asset:
    resource: ARBITRARY_ASSET_NAME_2
    assetType: RESOURCE_TYPE_2
    iamPolicyData:
      PROPERTIES_TO_TEST_3: PROPERTY_VALUE_3
      PROPERTIES_TO_TEST_4: PROPERTY_VALUE_4

Ersetzen Sie Folgendes:

  • ARBITRARY_ASSET_NAME_N: Ein beliebiger Wert, der wird in den Testergebnissen angezeigt, wenn der Test erfolgreich ist.
  • RESOURCE_TYPE_N: Der Typ des Assets oder der Ressource. die das benutzerdefinierte Modul überprüft, angegeben als Domainname der API- Dienstendpunkt und Ressourcenname, z. B. cloudkms.googleapis.com/CryptoKey.
  • PROPERTIES_TO_TEST_N: Die verwendeten Attribute. in der Erkennungslogik des benutzerdefinierten Moduls ein, um ein Ergebnis auszulösen.
  • PROPERTY_VALUE_N: Ein Wert der Eigenschaft, der ein Ergebnis auslöst.
  • SUB_PROPERTY: Eine untergeordnete Property oder Property von eine andere Ressource, auf die die Zielressource in ihrer Ressource verweist Definition.

Beispiele für Testdefinitionen

Dieser Abschnitt enthält ein Beispiel für die Definition einer Testressource und eine Testrichtliniendefinition. Obwohl die beiden Beispiele In separaten Dateien können asset-Definitionen für Ressourcen und Richtlinien zu einer einzigen testData-Datei zusammengefasst.

Beispiel für eine Ressourcendefinition

Im folgenden Beispiel einer Testressourcendefinition wird ein benutzerdefiniertes Modul getestet. mit der geprüft wird, ob das Attribut rotationPeriod CryptoKey Ressourcen überschreiten 2592000 Sekunden (30 Tage). Die andere werden im benutzerdefinierten Modul nicht verwendet, dem Schema der Ressource entsprechen. Für die vollständige Definition des benutzerdefinierten Moduls, das in diesem Beispiel getestet wird, Beispiel für die Definition eines benutzerdefinierten Moduls

testData:
- asset:
    resource: THE CRYPTOKEY TEST WAS SUCCESSFUL!
    assetType: cloudkms.googleapis.com/CryptoKey
    resourceData:
      nextRotationTime:  '2020-02-05T12:00:55.192645Z'
      primary:
        state: 'ENABLED'
      purpose: 'ENCRYPT_DECRYPT'
      rotationPeriod: '2592001s'

Beispiel für eine Richtliniendefinition

Im Folgenden finden Sie ein Beispiel für eine Testdefinition IAM-Richtlinie:

testData:
- asset:
    resource: //cloudresourcemanager.googleapis.com/projects/fake-project
    assetType: cloudresourcemanager.googleapis.com/Project
    iamPolicyData:
      bindings:
      - role: "roles/viewer"
        members:
        - "serviceAccount:fake-service-account@compute-system.iam.gserviceaccount.com"
        - "user:fake-email-account"

Benutzerdefiniertes Modul testen

Sie können neue oder vorhandene benutzerdefinierte Module im Google Cloud Console

So testen Sie ein benutzerdefiniertes Modul:

  1. Rufen Sie in Security Command Center die Seite Module von Security Health Analytics auf. Einstellungen.

    Zu den Modulen

  2. Öffnen oder erstellen Sie ein benutzerdefiniertes Modul zum Testen:

    • Um ein neues benutzerdefiniertes Modul zu erstellen, klicken Sie auf Modul erstellen und folgen Sie den Anweisungen in Benutzerdefinierte Module erstellen
    • Um ein vorhandenes benutzerdefiniertes Modul zu öffnen, klicken Sie auf das Symbol zum Bearbeiten ()-Symbol unter Aktionen rechts neben der Zeile für das Modul, das Sie testen möchten.
  3. Wählen Sie den Tab Testmodul (Testmodul) aus.

  4. Klicken Sie unter YAML-Datei hochladen auf Durchsuchen, um eine Datei hochzuladen, die enthält Beispiel-Asset-Daten. Der Test wird ausgeführt, sobald die YAML-Datei hochgeladen wurde.

  5. Sehen Sie sich unter Vorschau der Testergebnisse die Ergebnisse an.

    • Wenn die YAML-Datei Syntax- oder andere Fehler enthält, wird unten auf der Browserseite angezeigt.
    • Wenn der Test erfolgreich ist, gibt er die folgenden Informationen zurück:

      • Der Anzeigename des benutzerdefinierten Moduls.
      • Der beliebige Name, den Sie für das Attribut resource in der Testdatendatei.
      • Die Organisation, der Ordner oder das Projekt, in der bzw. dem sich das benutzerdefinierte Modul befand, oder erstellt wird.

    Testergebnisse werden nicht in Security Command Center gespeichert oder geschrieben.

Nächste Schritte