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 analizzano le risorse e i criteri di Google Cloud 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 analisi 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:
- Creare moduli personalizzati
- Tipi di analisi di Security Health Analytics
- Tipi di risorse supportati
- YAML
- Introduzione a CEL
Confronto tra i rilevatori integrati e i 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 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 i caratteri jolly.
- Il valore della proprietà
state
, che puoi utilizzare per ignorare le istanze se il valore è impostato suMAINTENANCE
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 |
roles/securitycenter.settingsEditor |
securitycenter.securityhealthanalyticscustommodules.get |
roles/securitycenter.settingsViewer |
securitycenter.securityhealthanalyticscustommodules.test |
roles/securitycenter.securityHealthAnalyticsCustomModulesTester |
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
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
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 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
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 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
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
Secret Manager
-
secretmanager.googleapis.com/Secret
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/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 utilizzare i moduli personalizzati, consulta Utilizzare i moduli personalizzati per Security Health Analytics.
- Per codificare le definizioni dei moduli personalizzati, consulta Codificare i moduli personalizzati per Security Health Analytics.
- Per testare i moduli personalizzati, consulta Testare i moduli personalizzati per Security Health Analytics.