Questa pagina fornisce una panoramica dei moduli personalizzati di Security Health Analytics.
Con i moduli personalizzati, è possibile estendere le funzionalità di rilevamento di Security Health Analytics creando rilevatori personalizzati che analizzano le risorse e i criteri Google Cloud da te specificati utilizzando regole da te definite per verificare la presenza di vulnerabilità, configurazioni errate o violazioni della conformità.
La configurazione o la definizione di un modulo personalizzato, a prescindere dal fatto che lo crei nella console Google Cloud o che lo codifichi autonomamente, determina le risorse controllate dal rilevatore, le proprietà valutate da quest'ultimo e le informazioni che il rilevatore 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 di moduli personalizzati, utilizzerai le espressioni YAML e CEL (Common Expression Language). Se utilizzi la console Google Cloud per creare moduli personalizzati, la maggior parte delle operazioni di codifica viene eseguita automaticamente, anche se devi codificare le espressioni CEL.
Per un esempio di definizione di moduli personalizzati in un file YAML, consulta 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 analisi vengono attivate ogni volta che cambia la configurazione di un asset. Le scansioni in modalità batch vengono eseguite una volta al giorno con tutti i rilevatori per organizzazioni o progetti registrati.
Durante un'analisi, 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:
- Creazione di moduli personalizzati
- Tipi di analisi di Security Health Analytics
- Tipi di risorse supportati
- YAML
- Introduzione al CEL
Confronto tra rilevatori integrati e moduli personalizzati
Puoi rilevare elementi con moduli personalizzati che non puoi rilevare con i rilevatori integrati Security Health Analytics. Tuttavia, i rilevatori integrati supportano alcune funzionalità di Security Command Center diverse dai moduli personalizzati.
Supporto delle funzionalità
I moduli personalizzati di Security Health Analytics non sono supportati dalle simulazioni di percorsi di attacco, pertanto i risultati prodotti da moduli personalizzati non ricevono punteggi di esposizione agli attacchi o percorsi di attacco.
Confronto tra la logica di rilevamento
Per avere un esempio di alcune delle cose che puoi fare con un
modulo personalizzato, confronta ciò che il rilevatore integrato PUBLIC_SQL_INSTANCE
controlla con ciò che puoi fare 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 verificare le istanze Cloud SQL per verificare, tra l'altro, aspetti 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 suMAINTENANCE
o attivare i risultati se il valore è qualcos'altro. - Il valore della proprietà
region
, che puoi utilizzare per attivare i risultati solo per le istanze con indirizzi IP pubblici in regioni specifiche.
Autorizzazioni e ruoli IAM richiesti
I ruoli IAM determinano le azioni che puoi eseguire con i moduli personalizzati di Security Health Analytics.
La seguente tabella contiene un elenco delle autorizzazioni del modulo personalizzato di Security Health Analytics e dei ruoli IAM predefiniti che le includono. Queste autorizzazioni sono valide almeno fino al 22 gennaio 2024. Dopo questa data, saranno necessarie le autorizzazioni elencate nella seconda tabella seguente.
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 |
roles/securitycenter.settingsEditor |
securitycenter.securityhealthanalyticscustommodules.get |
roles/securitycenter.settingsViewer |
securitycenter.securityhealthanalyticscustommodules.test |
roles/securitycenter.securityHealthAnalyticsCustomModulesTester |
La tabella seguente contiene un elenco delle autorizzazioni del modulo personalizzato di Security Health Analytics che saranno necessarie 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 obbligatorie a partire dal 22 gennaio 2024 | Ruoli |
---|---|
securitycentermanagement.securityHealthAnalyticsCustomModules.create
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
Per ulteriori informazioni sulle autorizzazioni e sui ruoli IAM e su come concederli, vedi 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 di moduli personalizzati sono soggette a limiti di quota. La seguente tabella mostra i limiti di quota predefiniti per le chiamate API di moduli personalizzati.
Tipo di chiamata API | Limite |
---|---|
CustomModules Read Request (Recupero, elenco) | 1000 chiamate API al minuto per organizzazione |
CustomModules (Richieste di scrittura) (Create, Update, Delete) | 60 chiamate API al minuto per organizzazione |
Richieste di test CustomModules | 12 chiamate API al minuto, per organizzazione |
Per aumentare la quota, invia una richiesta nella pagina Quote della console Google Cloud.
Per maggiori 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 Service
-
compute.googleapis.com/BackendService
BigQuery Table
bigquery.googleapis.com/Table
Bucket
-
storage.googleapis.com/Bucket
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
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
Passaggi successivi
- Per lavorare con i moduli personalizzati, consulta Utilizzo di moduli personalizzati per Security Health Analytics.
- Per codificare le definizioni dei moduli personalizzati, consulta Codificare moduli personalizzati per Security Health Analytics.
- Per testare i tuoi moduli personalizzati, consulta Testare moduli personalizzati per Security Health Analytics.