Auf dieser Seite finden Sie eine Übersicht über benutzerdefinierte Module für 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 anhand von Regeln prüfen, die Sie definieren, um nach Sicherheitslücken, Fehlkonfigurationen oder Compliance-Verstößen zu suchen.
Die Konfiguration oder Definition eines benutzerdefinierten Moduls, unabhängig davon, ob Sie es in derGoogle Cloud -Konsole erstellen oder selbst codieren, bestimmt die Ressourcen, die der Detektor prüft, die Eigenschaften, die der Detektor auswertet, und die Informationen, die der Detektor zurückgibt, wenn eine Sicherheitslücke oder Fehlkonfiguration erkannt wird.
Sie können benutzerdefinierte Module für jede Ressource oder jedes Asset erstellen, die von Security Command Center unterstützt werden.
Wenn Sie benutzerdefinierte Moduldefinitionen selbst codieren, verwenden Sie YAML- und CEL-Ausdrücke (Common Expression Language). Wenn Sie dieGoogle Cloud -Konsole zum Erstellen Ihrer benutzerdefinierten Module verwenden, wird der Großteil des Codes für Sie erstellt. Sie müssen jedoch die CEL-Ausdrücke codieren.
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 integrierten Detektoren von Security Health Analytics sowohl in Echtzeit- als auch in Batchscans ausgeführt. Im Echtzeitmodus werden Scans ausgelöst, wenn sich die Konfiguration eines Assets ändert. Batch-Scans werden einmal täglich mit allen Detektoren für registrierte Organisationen oder Projekte ausgeführt.
Während eines Scans wird jeder benutzerdefinierte Detektor auf alle übereinstimmenden Assets in jeder Organisation, jedem Ordner oder jedem Projekt angewendet, für die er aktiviert ist.
Ergebnisse von benutzerdefinierten Detektoren 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 von benutzerdefinierten Modulen nicht unterstützt werden.
Funktionsunterstützung
Benutzerdefinierte Module von Security Health Analytics werden nicht von Angriffspfadsimulationen unterstützt. Daher werden für Ergebnisse, die von benutzerdefinierten Modulen generiert werden, keine Angriffsexpositionswerte oder Angriffspfade erstellt.
Erkennungslogik vergleichen
Ein Beispiel für die Möglichkeiten eines benutzerdefinierten Moduls: Vergleichen Sie, was der integrierte Detektor PUBLIC_SQL_INSTANCE prüft, mit dem, 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 gesetzt ist.
Wenn dies der Fall ist, wird ein Ergebnis generiert, das besagt, 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, mit der Sie Instanzen ignorieren können, wenn der Wert aufMAINTENANCEfestgelegt ist, oder Ergebnisse auslösen können, wenn der Wert etwas anderes ist.
- Der Wert der Property region, mit der 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 die Aktionen, die Sie mit benutzerdefinierten Modulen für Security Health Analytics ausführen können.
In der folgenden Tabelle sind die erforderlichen Berechtigungen für benutzerdefinierte Module von Security Health Analytics sowie die vordefinierten IAM-Rollen aufgeführt, die diese Berechtigungen enthalten.
Sie können die Google Cloud -Konsole oder die Security Command Center API verwenden, um diese Rollen auf Organisations-, Ordner- oder Projektebene anzuwenden.
| Erforderliche Berechtigungen | Rollen | 
|---|---|
| securitycentermanagement.securityHealthAnalyticsCustomModules.create | roles/securitycentermanagement.shaCustomModulesEditor | 
| securitycentermanagement.securityHealthAnalyticsCustomModules.list | roles/securitycentermanagement.shaCustomModulesViewer
       | 
Weitere Informationen zu IAM-Berechtigungen und -Rollen sowie zum Zuweisen von Berechtigungen finden Sie unter IAM-Rolle über die Google Cloud Console zuweisen.
Kontingente für benutzerdefinierte Module
Für benutzerdefinierte Module von Security Health Analytics gelten Kontingentlimits.
Das Standardkontingentlimit für das Erstellen benutzerdefinierter Module beträgt 100. Sie können jedoch bei Bedarf eine Kontingenterhöhung anfordern.
Für API-Aufrufe von benutzerdefinierten Modulmethoden gelten ebenfalls Kontingentlimits. In der folgenden Tabelle sind die Standardkontingentlimits für API-Aufrufe für benutzerdefinierte Module aufgeführt.
| API-Aufruftyp | Limit | 
|---|---|
| CustomModules Read Requests (Get, List) | 1.000 API-Aufrufe pro Minute pro Organisation | 
| CustomModules Write Requests (Create, Update, Delete) | 60 API-Aufrufe pro Minute pro Organisation | 
| Testanfragen für benutzerdefinierte Module | 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
- Access Context Manager
- 
  accesscontextmanager.googleapis.com/AccessLevel
- 
  accesscontextmanager.googleapis.com/AccessPolicy
- 
  accesscontextmanager.googleapis.com/ServicePerimeter
- 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
- Api Keys
- 
  apikeys.googleapis.com/Key
- 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 Model
- bigquery.googleapis.com/Model
- BigQuery Table
- bigquery.googleapis.com/Table
- Bucket
- 
  storage.googleapis.com/Bucket
- Cloud Billing Project Billing Info
- 
  cloudbilling.googleapis.com/ProjectBillingInfo
- 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 Autoscaling Policy
- 
  dataproc.googleapis.com/AutoscalingPolicy
- Dataproc Batch
- 
  dataproc.googleapis.com/Batch
- Dataproc Cluster
- 
  dataproc.googleapis.com/Cluster
- Dataproc Job
- 
  dataproc.googleapis.com/Job
- 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
- Dialogflow CX
- 
  dialogflow.googleapis.com/Agent
- Disk
- 
  compute.googleapis.com/Disk
- DLP Deidentify Template
- 
  dlp.googleapis.com/DeidentifyTemplate
- DLP Inspect Template
- 
  dlp.googleapis.com/InspectTemplate
- DLP Job
- 
  dlp.googleapis.com/DlpJob
- DLP Job Trigger
- 
  dlp.googleapis.com/JobTrigger
- DLP Stored Info Type
- 
  dlp.googleapis.com/StoredInfoType
- 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
- Monitoring Notification Channel
- 
  monitoring.googleapis.com/NotificationChannel
- Namespace
- 
  k8s.io/Namespace
- NetApp Snapshot
- 
  netapp.googleapis.com/Snapshot
- NetApp Volume
- 
  netapp.googleapis.com/Volume
- 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
- Private CA Certificate Revocation List
- 
  privateca.googleapis.com/CertificateRevocationList
- Project
- 
  cloudresourcemanager.googleapis.com/Project
- Pubsub Snapshot
- 
  pubsub.googleapis.com/Snapshot
- Pubsub Subscription
- 
  pubsub.googleapis.com/Subscription
- Pubsub Topic
- 
  pubsub.googleapis.com/Topic
- Redis Cluster
- 
  redis.googleapis.com/Cluster
- Redis Instance
- 
  redis.googleapis.com/Instance
- 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 Backup
- 
  spanner.googleapis.com/Backup
- Spanner Database
- 
  spanner.googleapis.com/Database
- Spanner Instance
- 
  spanner.googleapis.com/Instance
- SQL Backup Run
- 
  sqladmin.googleapis.com/BackupRun
- 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/Featurestore
- 
  aiplatform.googleapis.com/HyperparameterTuningJob
- 
  aiplatform.googleapis.com/Index
- 
  aiplatform.googleapis.com/MetadataStore
- 
  aiplatform.googleapis.com/Model
- 
  aiplatform.googleapis.com/SpecialistPool
- 
  aiplatform.googleapis.com/Tensorboard
- 
  aiplatform.googleapis.com/TrainingPipeline
- 
  aiplatform.googleapis.com/NotebookRuntimeTemplate
- Vertex AI Workbench
- 
  notebooks.googleapis.com/Instance
- VMware Engine
- 
  vmwareengine.googleapis.com/Cluster
- 
  vmwareengine.googleapis.com/ExternalAccessRule
- 
  vmwareengine.googleapis.com/ExternalAddress
- 
  vmwareengine.googleapis.com/VmwareEngineNetwork
- 
  vmwareengine.googleapis.com/NetworkPeering
- 
  vmwareengine.googleapis.com/NetworkPolicy
- 
  vmwareengine.googleapis.com/PrivateCloud
- 
  vmwareengine.googleapis.com/PrivateConnection
- VPC Connector
- 
  vpcaccess.googleapis.com/Connector
- VPN Gateway
- 
  compute.googleapis.com/VpnGateway
- VPN Tunnel
- 
  compute.googleapis.com/VpnTunnel
- Workstations
- 
  workstations.googleapis.com/Workstation
- 
  workstations.googleapis.com/WorkstationConfig
Nächste Schritte
- Weitere Informationen zum Arbeiten 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 codieren.
- Informationen zum Testen benutzerdefinierter Module finden Sie unter Benutzerdefinierte Module für Security Health Analytics testen.