Panoramica dei moduli personalizzati per Security Health Analytics

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 Google Cloud risorse e dei criteri specificati utilizzando regole che definisci per verificare la presenza di vulnerabilità, configurazioni errate o violazioni della conformità.

La configurazione o la definizione di un modulo personalizzato, che tu lo crei nella console Google 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 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 del codice viene generata automaticamente, anche se devi codificare le espressioni CEL.

Per un esempio di definizione di modulo personalizzato in un file YAML, consulta Esempio di definizione di modulo personalizzato.

I moduli personalizzati vengono eseguiti insieme ai rilevatori integrati di Security Health Analytics sia nelle scansioni in tempo reale che in quelle batch. In modalità in tempo reale, le analisi vengono attivate ogni volta che la configurazione di un asset cambia. Le ricerche in batch vengono eseguite con tutti i rilevatori per le organizzazioni o i progetti registrati una volta al giorno.

Durante una scansione, ogni rilevatore personalizzato viene applicato a tutti gli asset 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:

Confronto tra i rilevatori integrati e i moduli personalizzati

Puoi rilevare elementi con i moduli personalizzati che non puoi rilevare con i rilevatori di Security Health Analytics integrati. Tuttavia, i rilevatori integrati supportano determinate funzionalità di Security Command Center che non sono disponibili nei moduli personalizzati.

Funzionalità supportate

I moduli personalizzati di Security Health Analytics non sono supportati dalle simulazioni dei percorsi di attacco, pertanto i risultati prodotti dai moduli personalizzati non ricevono punteggi di esposizione agli attacchi o percorsi di attacco.

Confronto della logica di rilevamento

Come esempio di alcune cose che puoi fare con un modulo personalizzato, confronta ciò che viene controllato dal rilevatore integrato PUBLIC_SQL_INSTANCE con ciò che puoi fare con un modulo personalizzato.

Il rilevatore integrato PUBLIC_SQL_INSTANCE controlla se la proprietà authorizedNetworks delle istanze Cloud SQL è impostata su 0.0.0.0/0. In questo caso, il rilevatore genera un rilevamento 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 verificare 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 su MAINTENANCE o per attivare i risultati se il valore è diverso.
  • Il valore della proprietà region, che puoi utilizzare per attivare i 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 e i ruoli IAM predefiniti che le includono. Queste autorizzazioni sono valide fino al 22 gennaio 2024. Dopo questa data, saranno richieste le autorizzazioni elencate nella seconda tabella di seguito.

Puoi utilizzare la console Google Cloud o l'API Security Command Center per applicare questi ruoli a livello di organizzazione, cartella o progetto.

Autorizzazioni richieste prima del 22 gennaio 2024 Ruoli
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

La tabella seguente contiene un elenco delle autorizzazioni dei moduli personalizzati di Security Health Analytics che saranno richieste a partire dal 22 gennaio 2024, 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 richieste a partire dal 22 gennaio 2024 Ruoli
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

Per saperne di più sui ruoli e sulle autorizzazioni IAM e su come concederli, consulta Concedere 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 se necessario puoi richiedere un aumento della quota.

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 all'API del modulo personalizzato.

Tipo di chiamata API Limite
Richieste di lettura di CustomModules (Get, List) 1000 chiamate API al minuto per organizzazione
Richieste di scrittura di CustomModules (creazione, aggiornamento, eliminazione) 60 chiamate API al minuto per organizzazione
Richieste di test di CustomModules 12 chiamate API al minuto per organizzazione

Per gli aumenti delle quote, invia una richiesta nella pagina Quote della console Google Cloud.

Per ulteriori informazioni sulle quote di Security Command Center, consulta Quote e limiti.

Tipi di risorse supportati

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 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/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