Auf dieser Seite finden Sie einen Überblick ü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:
- Benutzerdefinierte Module erstellen
- Security Health Analytics-Scantypen
- Unterstützte Ressourcentypen
- YAML
- Einführung in CEL
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 Bewertungen der Angriffsrisiken 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 aufMAINTENANCE
festgelegt ist, oder Ergebnisse auslösen, wenn der Wert einen anderen Wert hat. - 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 |
roles/securitycenter.settingsEditor |
securitycenter.securityhealthanalyticscustommodules.get |
roles/securitycenter.settingsViewer |
securitycenter.securityhealthanalyticscustommodules.test |
roles/securitycenter.securityHealthAnalyticsCustomModulesTester |
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
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
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
IAM Role
-
iam.googleapis.com/Role
Image
-
compute.googleapis.com/Image
Instance
-
compute.googleapis.com/Instance
Instance Group
-
compute.googleapis.com/InstanceGroup
Instance Group Manager
-
compute.googleapis.com/InstanceGroupManagers
Instance Template
-
compute.googleapis.com/InstanceTemplate
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
Machine Image
-
compute.googleapis.com/MachineImage
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
Private CA Certificate
-
privateca.googleapis.com/Certificate
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
Route
-
compute.googleapis.com/Route
Router
-
compute.googleapis.com/Router
Role
-
rbac.authorization.k8s.io/Role
Role Binding
-
rbac.authorization.k8s.io/RoleBinding
Secret Manager
-
secretmanager.googleapis.com/Secret
Secret Version
-
secretmanager.googleapis.com/SecretVersion
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
Tag Binding
-
cloudresourcemanager.googleapis.com/TagBinding
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
- Informationen zur Arbeit mit benutzerdefinierten Modulen finden Sie unter Benutzerdefinierte Module für Security Health Analytics verwenden.
- Informationen zum Codieren benutzerdefinierter Moduldefinitionen finden Sie unter Benutzerdefinierte Module für Security Health Analytics codieren.
- Informationen zum Testen Ihrer benutzerdefinierten Module finden Sie unter Benutzerdefinierte Module für Security Health Analytics testen.