Diese Seite bietet einen Überblick über die benutzerdefinierten Module von Security Health Analytics. Für 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 Google Cloud Ressourcen und Richtlinien, die Sie mithilfe von Regeln angeben, die Sie für nach Sicherheitslücken, Fehlkonfigurationen oder Compliance-Verstößen zu suchen.
Die Konfiguration oder Definition eines benutzerdefinierten Moduls, unabhängig davon, ob Sie es im Google Cloud Console verwenden oder es selbst codieren, bestimmt die Ressourcen, die die vom Detektor überprüft werden, die vom Detektor ausgewerteten Eigenschaften Informationen, die der Detektor zurückgibt, Fehlkonfiguration erkannt wurde.
Sie können benutzerdefinierte Module für jede Ressource oder jedes Asset erstellen, das Security Command Center verwendet unterstützt.
Wenn Sie Definitionen für benutzerdefinierte Module selbst codieren, verwenden Sie YAML. und Common Expression Language (CEL)-Ausdrücke. Wenn Sie die Methode Google Cloud Console zum Erstellen benutzerdefinierter Module, die den Großteil der für Sie erledigt, obwohl Sie die CEL-Ausdrücke codieren müssen.
Ein Beispiel für die Definition eines benutzerdefinierten Moduls in einer YAML-Datei finden Sie unter Beispiel für die Definition eines benutzerdefinierten Moduls
Benutzerdefinierte Module werden neben den integrierten Detektoren von Security Health Analytics ausgeführt Echtzeit- und Batch-Scans. Im Echtzeitmodus werden Scans werden immer dann ausgelöst, wenn sich die Konfiguration eines Assets ändert. Batchmodus Scans werden mit allen Detektoren für registrierte Organisationen oder Projekte ausgeführt einmal täglich.
Während eines Scans wird jeder benutzerdefinierte Detektor auf alle übereinstimmenden Assets in jedem Organisation, Ordner oder Projekt, für die es aktiviert ist.
Ergebnisse von benutzerdefinierten Detektoren werden in Security Command Center geschrieben.
Hier finden Sie weitere Informationen:
- Benutzerdefinierte Module erstellen
- Scantypen für Security Health Analytics
- Unterstützte Ressourcentypen
- YAML
- Einführung in CEL
Integrierte Detektoren und benutzerdefinierte Module vergleichen
Mit benutzerdefinierten Modulen können Sie Dinge erkennen, die Sie mit dem integrierte Security Health Analytics-Detektoren Integrierte Detektoren unterstützen jedoch bestimmte Funktionen von Security Command Center, die benutzerdefinierte Module nicht bieten.
Funktionsunterstützung
Benutzerdefinierte Module von Security Health Analytics werden vom Angriffspfad nicht unterstützt Simulationen ausführen, sodass Ergebnisse, die von benutzerdefinierten Modulen stammen, nicht Angriffsrisikobewertungen oder Angriffspfade.
Erkennungslogik vergleichen
Hier ein Beispiel für die Möglichkeiten,
benutzerdefiniertes Modul, vergleichen, was der integrierte Detektor PUBLIC_SQL_INSTANCE
prüft, welche Möglichkeiten
Sie mit einem benutzerdefinierten Modul haben.
Der integrierte Detektor PUBLIC_SQL_INSTANCE
prüft, ob der
Das Attribut authorizedNetworks
von Cloud SQL-Instanzen ist auf
0.0.0.0/0
Ist dies der Fall, gibt der Detektor ein Ergebnis aus, das angibt,
Cloud SQL-Instanz ist öffentlich zugänglich, da sie Verbindungen akzeptiert
von allen IP-Adressen.
Mit einem benutzerdefinierten Modul können Sie eine komplexere Erkennung implementieren. Logik, um Cloud SQL-Instanzen auf Folgendes zu prüfen:
- IP-Adressen mit bestimmten Präfixen mithilfe von Platzhaltern
- Der Wert des Attributs
state
, mit dem Sie Instanzen ignorieren können wenn der Wert aufMAINTENANCE
gesetzt ist oder Ergebnisse auslösen, wenn der Wert irgendetwas anderes. - Der Wert des Attributs
region
, mit dem Sie Ergebnisse auslösen können nur für Instanzen mit öffentlichen IP-Adressen in bestimmten Regionen.
Erforderliche IAM-Rollen und -Berechtigungen
IAM-Rollen bestimmen die auszuführenden Aktionen mit benutzerdefinierten Security Health Analytics-Modulen.
Die folgende Tabelle enthält eine Liste der benutzerdefinierten Module von Security Health Analytics Berechtigungen und die vordefinierten IAM-Rollen, . Diese Berechtigungen sind mindestens bis zum 22. Januar 2024 gültig. Nachher die in der zweiten Tabelle aufgeführten Berechtigungen erforderlich.
Mit der Google Cloud Console oder Security Command Center API können Sie auf Organisations-, Ordner- oder Projektebene.
Berechtigungen, die vor dem 22. Januar 2024 erforderlich sind | Rollen |
---|---|
securitycenter.securityhealthanalyticscustommodules.create |
roles/securitycenter.settingsEditor |
securitycenter.securityhealthanalyticscustommodules.get |
roles/securitycenter.settingsViewer |
securitycenter.securityhealthanalyticscustommodules.test |
roles/securitycenter.securityHealthAnalyticsCustomModulesTester |
Die folgende Tabelle enthält eine Liste von benutzerdefinierten Modulberechtigungen, die ab dem 22. Januar 2024 erforderlich sind, sowie die vordefinierten IAM-Rollen, in denen sie enthalten sind.
Mit der Google Cloud Console oder Security Command Center API können Sie auf Organisations-, Ordner- oder Projektebene.
Berechtigungen, die ab dem 22. Januar 2024 erforderlich sind | Rollen |
---|---|
securitycentermanagement.securityHealthAnalyticsCustomModules.create
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
Weitere Informationen zu IAM-Berechtigungen und -Rollen und deren Zuweisung finden Sie unter IAM-Rollen mit der Google Cloud Console zuweisen.
Kontingente für benutzerdefinierte Module
Benutzerdefinierte Module von Security Health Analytics unterliegen Kontingentlimits.
Das standardmäßige Kontingentlimit für die Erstellung von benutzerdefinierten Modulen beträgt 100. Sie können bei Bedarf eine Kontingenterhöhung anfordern.
API-Aufrufe an benutzerdefinierte Modulmethoden unterliegen ebenfalls Kontingentlimits. Die Die folgende Tabelle zeigt die standardmäßigen Kontingentlimits für API-Aufrufe von benutzerdefinierten Modulen.
API-Aufruftyp | Limit |
---|---|
CustomModules-Leseanfragen (Abrufen, Auflisten) | 1.000 API-Aufrufe pro Minute und Organisation |
Benutzerdefinierte Module-Schreibanfragen (Erstellen, Aktualisieren, Löschen) | 60 API-Aufrufe pro Minute pro Organisation |
Testanfragen für CustomModules | 12 API-Aufrufe pro Minute pro Organisation |
Wenn Sie Kontingenterhöhungen wünschen, senden Sie 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 Service
-
k8s.io/Service
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/DataLabelingJob
-
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
- Informationen zur Arbeit mit benutzerdefinierten Modulen finden Sie unter Benutzerdefinierte Module für Security Health Analytics verwenden
- Wenn Sie benutzerdefinierte Moduldefinitionen selbst codieren möchten, lesen Sie den Abschnitt Benutzerdefinierte Module für Security Health Analytics programmieren.
- Informationen zum Testen Ihrer benutzerdefinierten Module finden Sie unter Testen Sie benutzerdefinierte Module für Security Health Analytics.