Benutzerdefinierte Module für Security Health Analytics – Übersicht

Auf dieser Seite finden Sie eine Übersicht über die benutzerdefinierten Module von Security Health Analytics. Informationen zu integrierten Modulen finden Sie unter Integrierte Detektoren von Security Health Analytics.

Mit benutzerdefinierten Modulen können Sie die Erkennungsfunktionen von Security Health Analytics erweitern, indem Sie benutzerdefinierte Detektoren erstellen, die die von Ihnen angegebenen Google Cloud-Ressourcen und ‑Richtlinien mithilfe von von Ihnen definierten Regeln auf Sicherheitslücken, Fehlkonfigurationen oder Complianceverstöße prüfen.

Die Konfiguration oder Definition eines benutzerdefinierten Moduls, unabhängig davon, ob Sie es in der Google Cloud Console erstellen oder selbst codieren, bestimmt die Ressourcen, die der Detektor prüft, die Eigenschaften, die er bewertet, und die Informationen, die er zurückgibt, wenn eine Sicherheitslücke oder Fehlkonfiguration erkannt wird.

Sie können benutzerdefinierte Module für jede Ressource oder jedes Asset erstellen, das von Security Command Center unterstützt wird.

Wenn Sie benutzerdefinierte Moduldefinitionen selbst codieren, verwenden Sie YAML- und Common Expression Language (CEL)-Ausdrücke. Wenn Sie Ihre benutzerdefinierten Module mit der Google Cloud Console erstellen, wird der Großteil der Programmierung für Sie erledigt. Sie müssen jedoch die CEL-Ausdrücke codieren.

Ein Beispiel für eine benutzerdefinierte Moduldefinition in einer YAML-Datei finden Sie unter Beispiel für eine benutzerdefinierte Moduldefinition.

Benutzerdefinierte Module werden sowohl bei Echtzeit- als auch bei Batch-Scans neben den integrierten Detektoren von Security Health Analytics ausgeführt. Im Echtzeitmodus werden Scans ausgelöst, wenn sich die Konfiguration eines Assets ändert. Im Batch-Modus werden einmal täglich mit allen Detektoren Scans für registrierte Organisationen oder Projekte ausgeführt.

Bei einem Scan wird jeder benutzerdefinierte Detector auf alle übereinstimmenden Assets in jeder Organisation, jedem Ordner oder jedem Projekt angewendet, für das er aktiviert ist.

Ergebnisse von benutzerdefinierten Detectoren werden in Security Command Center geschrieben.

Hier finden Sie weitere Informationen:

Integrierte Detektoren und benutzerdefinierte Module vergleichen

Mit benutzerdefinierten Modulen können Sie Dinge erkennen, die mit den integrierten Security Health Analytics-Detektoren nicht erkannt werden können. Integrierte Detektoren unterstützen jedoch bestimmte Security Command Center-Funktionen, die benutzerdefinierte Module nicht unterstützen.

Funktionsunterstützung

Benutzerdefinierte Security Health Analytics-Module werden von Angriffspfadsimulationen nicht unterstützt. Daher erhalten Ergebnisse, die von benutzerdefinierten Modulen generiert werden, keine Angriffsexpositionsbewertungen oder Angriffspfade.

Erkennungslogik vergleichen

Als Beispiel für die Möglichkeiten, die sich mit einem benutzerdefinierten Modul bieten, können Sie vergleichen, was der integrierte PUBLIC_SQL_INSTANCE-Detektor prüft und was Sie mit einem benutzerdefinierten Modul tun können.

Der integrierte Detektor PUBLIC_SQL_INSTANCE prüft, ob das Attribut authorizedNetworks von Cloud SQL-Instanzen auf 0.0.0.0/0 festgelegt ist. Ist das der Fall, gibt der Detector das Ergebnis aus, dass die Cloud SQL-Instanz öffentlich zugänglich ist, da sie Verbindungen von allen IP-Adressen akzeptiert.

Mit einem benutzerdefinierten Modul können Sie komplexere Erkennungslogik implementieren, um Cloud SQL-Instanzen auf Folgendes zu prüfen:

  • IP-Adressen mit bestimmten Präfixen mithilfe von Platzhaltern.
  • Der Wert der Property state. Sie können damit Instanzen ignorieren, wenn der Wert auf MAINTENANCE festgelegt ist, oder Ergebnisse auslösen, wenn der Wert ein anderer ist.
  • Der Wert der Property region, mit dem Sie Ergebnisse nur für Instanzen mit öffentlichen IP-Adressen in bestimmten Regionen auslösen können.

Erforderliche IAM-Rollen und ‑Berechtigungen

IAM-Rollen bestimmen, welche Aktionen Sie mit benutzerdefinierten Security Health Analytics-Modulen ausführen können.

Die folgende Tabelle enthält eine Liste der Berechtigungen für benutzerdefinierte Security Health Analytics-Module und die vordefinierten IAM-Rollen, die diese enthalten. Diese Berechtigungen sind mindestens bis zum 22. Januar 2024 gültig. Danach sind die in der zweiten Tabelle aufgeführten Berechtigungen erforderlich.

Sie können die Google Cloud Console oder die Security Command Center API verwenden, um diese Rollen auf Organisations-, Ordner- oder Projektebene anzuwenden.

Vor dem 22. Januar 2024 erforderliche Berechtigungen Rollen
securitycenter.securityhealthanalyticscustommodules.create
securitycenter.securityhealthanalyticscustommodules.update
securitycenter.securityhealthanalyticscustommodules.delete
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.get
securitycenter.securityhealthanalyticscustommodules.list
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.test roles/securitycenter.securityHealthAnalyticsCustomModulesTester
roles/securitycenter.adminViewer
roles/securitycenter.adminEditor
roles/securitycenter.admin

Die folgende Tabelle enthält eine Liste der Berechtigungen für benutzerdefinierte Security Health Analytics-Module, die ab dem 22. Januar 2024 erforderlich sind, sowie die vordefinierten IAM-Rollen, die diese enthalten.

Sie können die Google Cloud Console oder die Security Command Center API verwenden, um diese Rollen auf Organisations-, Ordner- oder Projektebene anzuwenden.

Erforderliche Berechtigungen ab dem 22. Januar 2024 Rollen
securitycentermanagement.securityHealthAnalyticsCustomModules.create
securitycentermanagement.securityHealthAnalyticsCustomModules.update
securitycentermanagement.securityHealthAnalyticsCustomModules.delete
securitycentermanagement.securityHealthAnalyticsCustomModules.list
securitycentermanagement.securityHealthAnalyticsCustomModules.get
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.list
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.get
securitycentermanagement.securityHealthAnalyticsCustomModules.simulate
securitycentermanagement.securityHealthAnalyticsCustomModules.test
roles/securitycentermanagement.shaCustomModulesEditor
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycentermanagement.securityHealthAnalyticsCustomModules.list
securitycentermanagement.securityHealthAnalyticsCustomModules.get
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.list
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.get
securitycentermanagement.securityHealthAnalyticsCustomModules.simulate
securitycentermanagement.securityHealthAnalyticsCustomModules.test
roles/securitycentermanagement.shaCustomModulesViewer
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin

Weitere Informationen zu IAM-Berechtigungen und ‑Rollen und dazu, wie Sie sie gewähren, finden Sie unter IAM-Rolle über die Google Cloud Console zuweisen.

Kontingente für benutzerdefinierte Module

Für benutzerdefinierte Security Health Analytics-Module gelten Kontingentlimits.

Das Standardkontingent für das Erstellen benutzerdefinierter Module beträgt 100. Sie können jedoch bei Bedarf eine Kontingenterhöhung beantragen.

Für API-Aufrufe von benutzerdefinierten Modulmethoden gelten ebenfalls Kontingentlimits. In der folgenden Tabelle sind die Standardkontingentlimits für API-Aufrufe von benutzerdefinierten Modulen aufgeführt.

API-Aufruftyp Limit
Leseanfragen für „CustomModules“ (Get, List) 1.000 API-Aufrufe pro Minute pro Organisation
Schreibanfragen für „CustomModules“ (Erstellen, Aktualisieren, Löschen) 60 API-Aufrufe pro Minute pro Organisation
Testanfragen für CustomModules 12 API-Aufrufe pro Minute pro Organisation

Senden Sie für Kontingenterhöhungen eine Anfrage in der Google Cloud Console auf der Seite Kontingente.

Weitere Informationen zu Security Command Center-Kontingenten finden Sie unter Kontingente und Limits.

Unterstützte Ressourcentypen

Address
compute.googleapis.com/Address
Alert Policy
monitoring.googleapis.com/AlertPolicy
AlloyDB for PostgreSQL
alloydb.googleapis.com/Backup
alloydb.googleapis.com/Cluster
alloydb.googleapis.com/Instance
Artifact Registry Repository
artifactregistry.googleapis.com/Repository
Autoscaler
compute.googleapis.com/Autoscaler
Backend Bucket
compute.googleapis.com/BackendBucket
Backend Service
compute.googleapis.com/BackendService
BigQuery Data Transfer Service
bigquerydatatransfer.googleapis.com/TransferConfig
BigQuery Table
bigquery.googleapis.com/Table
Bucket
storage.googleapis.com/Bucket
Cloud Data Fusion
datafusion.googleapis.com/Instance
Cloud Function
cloudfunctions.googleapis.com/CloudFunction
Cloud Run
run.googleapis.com/DomainMapping
run.googleapis.com/Execution
run.googleapis.com/Job
run.googleapis.com/Revision
run.googleapis.com/Service
Cluster
container.googleapis.com/Cluster
Cluster Role
rbac.authorization.k8s.io/ClusterRole
Cluster Role Binding
rbac.authorization.k8s.io/ClusterRoleBinding
Commitment
compute.googleapis.com/Commitment
Composer Environment
composer.googleapis.com/Environment
Compute Project
compute.googleapis.com/Project
compute.googleapis.com/SecurityPolicy
CryptoKey
cloudkms.googleapis.com/CryptoKey
CryptoKey Version
cloudkms.googleapis.com/CryptoKeyVersion
Dataflow Job
dataflow.googleapis.com/Job
Dataproc Cluster
dataproc.googleapis.com/Cluster
Dataset
bigquery.googleapis.com/Dataset
Datastream Connection Profile
datastream.googleapis.com/ConnectionProfile
Datastream Private Connection
datastream.googleapis.com/PrivateConnection
Datastream Stream
datastream.googleapis.com/Stream
Disk
compute.googleapis.com/Disk
DNS Policy
dns.googleapis.com/Policy
File Instance
file.googleapis.com/Instance
Firewall
compute.googleapis.com/Firewall
Firewall Policy
compute.googleapis.com/FirewallPolicy
Folder
cloudresourcemanager.googleapis.com/Folder
Forwarding Rule
compute.googleapis.com/ForwardingRule
Global Forwarding Rule
compute.googleapis.com/GlobalForwardingRule
Health Check
compute.googleapis.com/HealthCheck
Hub
gkehub.googleapis.com/Feature
gkehub.googleapis.com/Membership
Image
compute.googleapis.com/Image
Instance
compute.googleapis.com/Instance
Instance Group
compute.googleapis.com/InstanceGroup
Instance Group Manager
compute.googleapis.com/InstanceGroupManagers
Interconnect Attachment
compute.googleapis.com/InterconnectAttachment
Keyring
cloudkms.googleapis.com/KeyRing
KMS Import Job
cloudkms.googleapis.com/ImportJob
Kubernetes CronJob
k8s.io/CronJob
Kubernetes DaemonSet
k8s.io/DaemonSet
Kubernetes Deployment
k8s.io/Deployment
Kubernetes Ingress
k8s.io/Ingress
Kubernetes NetworkPolicy
k8s.io/NetworkPolicy
Kubernetes ReplicaSet
k8s.io/ReplicaSet
Kubernetes Service
k8s.io/Service
Kubernetes StatefulSet
k8s.io/StatefulSet
Log Bucket
logging.googleapis.com/LogBucket
Log Metric
logging.googleapis.com/LogMetric
Log Sink
logging.googleapis.com/LogSink
Managed Zone
dns.googleapis.com/ManagedZone
Namespace
k8s.io/Namespace
Network
compute.googleapis.com/Network
Network Endpoint Group
compute.googleapis.com/NetworkEndpointGroup
Node
k8s.io/Node
Node Group
compute.googleapis.com/NodeGroup
Node Template
compute.googleapis.com/NodeTemplate
Nodepool
container.googleapis.com/NodePool
Organization
cloudresourcemanager.googleapis.com/Organization
Organization Policy Service v2
orgpolicy.googleapis.com/CustomConstraint
orgpolicy.googleapis.com/Policy
Packet Mirroring
compute.googleapis.com/PacketMirroring
Pod
k8s.io/Pod
Project
cloudresourcemanager.googleapis.com/Project
Pubsub Snapshot
pubsub.googleapis.com/Snapshot
Pubsub Subscription
pubsub.googleapis.com/Subscription
Pubsub Topic
pubsub.googleapis.com/Topic
Region Backend Service
compute.googleapis.com/RegionBackendService
Region Disk
compute.googleapis.com/RegionDisk
Reservation
compute.googleapis.com/Reservation
Resource Policy
compute.googleapis.com/ResourcePolicy
Router
compute.googleapis.com/Router
Role
rbac.authorization.k8s.io/Role
Role Binding
rbac.authorization.k8s.io/RoleBinding
Secret Manager
secretmanager.googleapis.com/Secret
Service Account Key
iam.googleapis.com/ServiceAccountKey
ServiceUsage Service
serviceusage.googleapis.com/Service
Snapshot
compute.googleapis.com/Snapshot
Spanner Database
spanner.googleapis.com/Database
Spanner Instance
spanner.googleapis.com/Instance
SQL Instance
sqladmin.googleapis.com/Instance
SSL Certificate
compute.googleapis.com/SslCertificate
SSL Policy
compute.googleapis.com/SslPolicy
Subnetwork
compute.googleapis.com/Subnetwork
Target HTTP Proxy
compute.googleapis.com/TargetHttpProxy
Target HTTPS Proxy
compute.googleapis.com/TargetHttpsProxy
Target Instance
compute.googleapis.com/TargetInstance
Target Pool
compute.googleapis.com/TargetPool
Target SSL Proxy
compute.googleapis.com/TargetSslProxy
Target VPN Gateway
compute.googleapis.com/TargetVpnGateway
URL Map
compute.googleapis.com/UrlMap
Vertex AI
aiplatform.googleapis.com/BatchPredictionJob
aiplatform.googleapis.com/CustomJob
aiplatform.googleapis.com/Dataset
aiplatform.googleapis.com/Endpoint
aiplatform.googleapis.com/HyperparameterTuningJob
aiplatform.googleapis.com/Model
aiplatform.googleapis.com/SpecialistPool
aiplatform.googleapis.com/TrainingPipeline
VPC Connector
vpcaccess.googleapis.com/Connector
VPN Gateway
compute.googleapis.com/VpnGateway
VPN Tunnel
compute.googleapis.com/VpnTunnel

Nächste Schritte