Questa pagina fornisce una panoramica dei moduli personalizzati di Security Health Analytics. Per informazioni sui moduli integrati, consulta Rilevatori integrati di Security Health Analytics.
Con i moduli personalizzati, puoi estendere le funzionalità di rilevamento di Security Health Analytics creando rilevatori personalizzati che eseguono la scansione delle risorse e delle policy che specifichi utilizzando regole che definisci per verificare la presenza di vulnerabilità, configurazioni errate o violazioni della conformità. Google Cloud
La configurazione o la definizione di un modulo personalizzato, che tu lo crei nella consoleGoogle Cloud o lo codifichi autonomamente, determina le risorse che il rilevatore controlla, le proprietà che valuta e le informazioni che restituisce quando viene rilevata una vulnerabilità o una configurazione errata.
Puoi creare moduli personalizzati per qualsiasi risorsa o asset supportato da Security Command Center.
Se codifichi personalmente le definizioni dei moduli personalizzati, utilizzi YAML e le espressioni Common Expression Language (CEL). Se utilizzi la console Google Cloud per creare i tuoi moduli personalizzati, la maggior parte della codifica viene eseguita automaticamente, anche se devi codificare le espressioni CEL.
Per un esempio di definizione di modulo personalizzato in un file YAML, vedi Esempio di definizione di modulo personalizzato.
I moduli personalizzati vengono eseguiti insieme ai rilevatori integrati di Security Health Analytics nelle scansioni in tempo reale e batch. In modalità in tempo reale, le scansioni vengono attivate ogni volta che la configurazione di un asset cambia. Le scansioni in modalità batch vengono eseguite una volta al giorno con tutti i rilevatori per le organizzazioni o i progetti registrati.
Durante una scansione, ogni rilevatore personalizzato viene applicato a tutte le risorse corrispondenti in ogni organizzazione, cartella o progetto per cui è abilitato.
I risultati dei rilevatori personalizzati vengono scritti in Security Command Center.
Per ulteriori informazioni, consulta le seguenti risorse:
- Creare moduli personalizzati
- Tipi di scansione di Security Health Analytics
- Tipi di risorse supportati
- YAML
- Introduzione a CEL
Confronto tra rilevatori integrati e moduli personalizzati
Con i moduli personalizzati puoi rilevare elementi che non puoi rilevare con i rilevatori di Security Health Analytics integrati. Tuttavia, i rilevatori integrati supportano determinate funzionalità di Security Command Center che i moduli personalizzati non supportano.
Funzionalità supportate
I moduli personalizzati di Security Health Analytics non sono supportati dalle simulazioni del percorso di attacco, pertanto i risultati prodotti dai moduli personalizzati non ottengono punteggi di esposizione agli attacchi o percorsi di attacco.
Confronto della logica di rilevamento
Per farti un'idea di cosa puoi fare con un modulo personalizzato, confronta i controlli eseguiti dal rilevatore integrato PUBLIC_SQL_INSTANCE con quelli che puoi eseguire con un modulo personalizzato.
Il rilevatore integrato PUBLIC_SQL_INSTANCE verifica se la proprietà
authorizedNetworks delle istanze Cloud SQL è impostata su 0.0.0.0/0.
In questo caso, il rilevatore genera un risultato che indica che l'istanza Cloud SQL è aperta al pubblico, perché accetta connessioni da tutti gli indirizzi IP.
Con un modulo personalizzato, puoi implementare una logica di rilevamento più complessa per controllare le istanze Cloud SQL per elementi quali:
- Indirizzi IP con prefissi specifici, utilizzando caratteri jolly.
- Il valore della proprietà state, che puoi utilizzare per ignorare le istanze se il valore è impostato suMAINTENANCEo per attivare i risultati se il valore è diverso.
- Il valore della proprietà region, che puoi utilizzare per attivare risultati solo per le istanze con indirizzi IP pubblici in regioni specifiche.
Ruoli e autorizzazioni IAM richiesti
I ruoli IAM determinano le azioni che puoi eseguire con i moduli personalizzati di Security Health Analytics.
La tabella seguente contiene un elenco delle autorizzazioni dei moduli personalizzati di Security Health Analytics richieste, nonché i ruoli IAM predefiniti che le includono.
Puoi utilizzare la console Google Cloud o l'API Security Command Center per applicare questi ruoli a livello di organizzazione, cartella o progetto.
| Autorizzazioni obbligatorie | Ruoli | 
|---|---|
| securitycentermanagement.securityHealthAnalyticsCustomModules.create | roles/securitycentermanagement.shaCustomModulesEditor | 
| securitycentermanagement.securityHealthAnalyticsCustomModules.list | roles/securitycentermanagement.shaCustomModulesViewer
       | 
Per saperne di più su ruoli e autorizzazioni IAM e su come concederli, consulta Concedi un ruolo IAM utilizzando la console Google Cloud .
Quote dei moduli personalizzati
I moduli personalizzati di Security Health Analytics sono soggetti a limiti di quota.
Il limite di quota predefinito per la creazione di moduli personalizzati è 100, ma puoi richiedere un aumento della quota, se necessario.
Anche le chiamate API ai metodi dei moduli personalizzati sono soggette a limiti di quota. La tabella seguente mostra i limiti di quota predefiniti per le chiamate API dei moduli personalizzati.
| Tipo di chiamata API | Limite | 
|---|---|
| CustomModules Read Requests (Get, List) | 1000 chiamate API al minuto per organizzazione | 
| CustomModules Write Requests (Create, Update, Delete) | 60 chiamate API al minuto per organizzazione | 
| CustomModules Test Requests | 12 chiamate API al minuto per organizzazione | 
Per gli aumenti di quota, invia una richiesta nella console Google Cloud nella pagina Quote.
Per ulteriori informazioni sulle quote di Security Command Center, consulta Quote e limiti.
Tipi di risorse supportati
- 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
Passaggi successivi
- Per lavorare con i moduli personalizzati, consulta Utilizzo dei moduli personalizzati per Security Health Analytics.
- Per codificare autonomamente le definizioni dei moduli personalizzati, consulta Codificare moduli personalizzati per Security Health Analytics.
- Per testare i moduli personalizzati, consulta Testare i moduli personalizzati per Security Health Analytics.