Esta página oferece uma vista geral dos módulos personalizados do Security Health Analytics. Para ver informações sobre os módulos incorporados, consulte o artigo Detetores incorporados do Security Health Analytics.
Com os módulos personalizados, pode expandir as capacidades de deteção do Security Health Analytics criando detetores personalizados que analisam os recursos e as políticas que especifica através de regras que define para verificar vulnerabilidades, configurações incorretas ou violações de conformidade. Google Cloud
A configuração ou a definição de um módulo personalizado, quer o crie na Google Cloud consola ou o codifique, determina os recursos que o detetor verifica, as propriedades que o detetor avalia e as informações que o detetor devolve quando é detetada uma vulnerabilidade ou uma configuração incorreta.
Pode criar módulos personalizados para qualquer recurso ou recurso que o Security Command Center suporte.
Se codificar as definições de módulos personalizados, usa expressões YAML e do Idioma de expressão comum (IEC). Se usar a Google Cloud consola para criar os seus módulos personalizados, a maior parte da programação é feita por si, embora tenha de programar as expressões CEL.
Para ver um exemplo de definição de módulo personalizado num ficheiro YAML, consulte o artigo Exemplo de definição de módulo personalizado.
Os módulos personalizados são executados juntamente com os detetores incorporados do Security Health Analytics em análises em tempo real e em lote. No modo em tempo real, as análises são acionadas sempre que a configuração de um recurso é alterada. As análises no modo de lote são executadas com todos os detetores para organizações ou projetos inscritos uma vez por dia.
Durante uma análise, cada detetor personalizado é aplicado a todos os recursos correspondentes em cada organização, pasta ou projeto para o qual está ativado.
As conclusões dos detetores personalizados são escritas no Security Command Center.
Para mais informações, consulte o seguinte:
- Criar módulos personalizados
- Tipos de análises do Security Health Analytics
- Tipos de recursos suportados
- YAML
- Introdução ao CEL
Comparar detetores incorporados e módulos personalizados
Pode detetar elementos com módulos personalizados que não consegue detetar com os detetores do Security Health Analytics integrados. No entanto, os detetores integrados suportam determinadas funcionalidades do Security Command Center que os módulos personalizados não suportam.
Suporte de funcionalidades
Os módulos personalizados do Security Health Analytics não são suportados por simulações de caminhos de ataque, pelo que as conclusões produzidas por módulos personalizados não recebem pontuações de exposição a ataques nem caminhos de ataque.
Comparar a lógica de deteção
Como exemplo de algumas das ações que pode realizar com um módulo personalizado, compare o que o detetor incorporado PUBLIC_SQL_INSTANCE verifica com o que pode fazer com um módulo personalizado.
O detetor incorporado PUBLIC_SQL_INSTANCE verifica se a propriedade authorizedNetworks das instâncias do Cloud SQL está definida como 0.0.0.0/0.
Se for, o detetor gera uma descoberta que indica que a instância do Cloud SQL está aberta ao público, porque aceita ligações de todos os endereços IP.
Com um módulo personalizado, pode implementar uma lógica de deteção mais complexa para verificar as instâncias do Cloud SQL em relação a aspetos como:
- Endereços IP com prefixos específicos, através de carateres universais.
- O valor da propriedade state, que pode usar para ignorar instâncias se o valor estiver definido comoMAINTENANCEou acionar resultados se o valor for algo mais.
- O valor da propriedade region, que pode usar para acionar resultados apenas para instâncias com endereços IP públicos em regiões específicas.
Funções e autorizações de IAM necessárias
As funções da IAM determinam as ações que pode realizar com os módulos personalizados do Security Health Analytics.
A tabela seguinte contém uma lista das autorizações de módulos personalizados do Security Health Analytics necessárias, bem como as funções predefinidas da IAM que as incluem.
Pode usar a Google Cloud consola ou a API Security Command Center para aplicar estas funções ao nível da organização, da pasta ou do projeto.
| Autorizações necessárias | Funções | 
|---|---|
| securitycentermanagement.securityHealthAnalyticsCustomModules.create | roles/securitycentermanagement.shaCustomModulesEditor | 
| securitycentermanagement.securityHealthAnalyticsCustomModules.list | roles/securitycentermanagement.shaCustomModulesViewer
       | 
Para mais informações sobre as autorizações e as funções de IAM e como as conceder, consulte o artigo Conceda uma função de IAM através da Google Cloud consola.
Quotas de módulos personalizados
Os módulos personalizados do Security Health Analytics estão sujeitos a limites de quota.
O limite de quota predefinido para a criação de módulos personalizados é de 100, mas pode pedir um aumento da quota, se necessário.
As chamadas de API para métodos de módulos personalizados também estão sujeitas a limites de quota. A tabela seguinte mostra os limites de quota predefinidos para chamadas da API de módulos personalizados.
| Tipo de chamada API | Limite | 
|---|---|
| CustomModules Read Requests (Get, List) | 1000 chamadas API por minuto, por organização | 
| CustomModules Write Requests (criação, atualização e eliminação) | 60 chamadas de API por minuto, por organização | 
| Pedidos de teste de módulos personalizados | 12 chamadas API por minuto, por organização | 
Para aumentos de quotas, envie um pedido na Google Cloud consola na página Quotas.
Para mais informações sobre as quotas do Security Command Center, consulte o artigo Quotas e limites.
Tipos de recursos suportados
- 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
O que se segue?
- Para trabalhar com módulos personalizados, consulte o artigo Usar módulos personalizados para o Security Health Analytics.
- Para codificar as definições de módulos personalizados, consulte o artigo Codifique módulos personalizados para o Security Health Analytics.
- Para testar os seus módulos personalizados, consulte o artigo Teste módulos personalizados para o Security Health Analytics.