Halaman ini memberikan ringkasan tentang modul kustom Security Health Analytics. Untuk informasi tentang modul bawaan, lihat Detektor bawaan Security Health Analytics.
Dengan modul kustom, Anda dapat memperluas kemampuan deteksi Security Health Analytics dengan membuat detektor kustom yang memindai resource dan kebijakan Google Cloudyang Anda tentukan menggunakan aturan yang Anda tetapkan untuk memeriksa kerentanan, kesalahan konfigurasi, atau pelanggaran kepatuhan.
Konfigurasi atau definisi modul kustom, baik Anda membuatnya di konsolGoogle Cloud atau membuat kodenya sendiri, menentukan resource yang diperiksa detektor, properti yang dievaluasi detektor, dan informasi yang ditampilkan detektor saat kerentanan atau kesalahan konfigurasi terdeteksi.
Anda dapat membuat modul kustom untuk resource atau aset apa pun yang didukung Security Command Center.
Jika Anda membuat kode definisi modul kustom sendiri, Anda menggunakan YAML dan ekspresi Common Expression Language (CEL). Jika Anda menggunakan konsolGoogle Cloud untuk membuat modul kustom, sebagian besar pengodean dilakukan untuk Anda, meskipun Anda perlu mengodekan ekspresi CEL.
Untuk contoh definisi modul kustom dalam file YAML, lihat Contoh definisi modul kustom.
Modul kustom berjalan bersama detektor bawaan Security Health Analytics dalam pemindaian real-time dan batch. Dalam mode real-time, pemindaian dipicu setiap kali konfigurasi aset berubah. Pemindaian mode batch dijalankan dengan semua detektor untuk organisasi atau project yang terdaftar sekali sehari.
Selama pemindaian, setiap detektor kustom diterapkan ke semua aset yang cocok di setiap organisasi, folder, atau project yang mengaktifkannya.
Temuan dari detektor kustom ditulis ke Security Command Center.
Untuk informasi selengkapnya, lihat referensi berikut:
- Membuat modul kustom
- Jenis pemindaian Security Health Analytics
- Jenis resource yang didukung
- YAML
- Pengantar CEL
Membandingkan pendeteksi bawaan dan modul kustom
Anda dapat mendeteksi hal-hal dengan modul kustom yang tidak dapat dideteksi dengan detektor Security Health Analytics bawaan; namun, detektor bawaan mendukung fitur Security Command Center tertentu yang tidak didukung oleh modul kustom.
Dukungan fitur
Modul kustom Security Health Analytics tidak didukung oleh simulasi jalur serangan, sehingga temuan yang dihasilkan oleh modul kustom tidak mendapatkan skor eksposur serangan atau jalur serangan.
Membandingkan logika deteksi
Sebagai contoh beberapa hal yang dapat Anda lakukan dengan
modul kustom, bandingkan apa yang diperiksa oleh detektor bawaan PUBLIC_SQL_INSTANCE
dengan apa yang dapat Anda lakukan dengan modul kustom.
Detektor bawaan PUBLIC_SQL_INSTANCE memeriksa apakah properti
authorizedNetworks instance Cloud SQL disetel ke 0.0.0.0/0.
Jika ya, detektor akan membuat temuan yang menyatakan bahwa instance Cloud SQL terbuka untuk publik, karena menerima koneksi dari semua alamat IP.
Dengan modul kustom, Anda dapat menerapkan logika deteksi yang lebih kompleks untuk memeriksa instance Cloud SQL terkait hal-hal seperti:
- Alamat IP dengan awalan tertentu, menggunakan karakter pengganti.
- Nilai properti state, yang dapat Anda gunakan untuk mengabaikan instance jika nilainya ditetapkan keMAINTENANCEatau memicu temuan jika nilainya adalah sesuatu yang lain.
- Nilai properti region, yang dapat Anda gunakan untuk memicu temuan hanya untuk instance dengan alamat IP publik di wilayah tertentu.
Peran dan izin IAM yang diperlukan
Peran IAM menentukan tindakan yang dapat Anda lakukan dengan modul kustom Security Health Analytics.
Tabel berikut berisi daftar izin modul kustom Security Health Analytics yang diperlukan serta peran IAM bawaan yang menyertakannya.
Anda dapat menggunakan konsol Google Cloud atau Security Command Center API untuk menerapkan peran ini di tingkat organisasi, folder, atau project.
| Izin diperlukan | Peran | 
|---|---|
| securitycentermanagement.securityHealthAnalyticsCustomModules.create | roles/securitycentermanagement.shaCustomModulesEditor | 
| securitycentermanagement.securityHealthAnalyticsCustomModules.list | roles/securitycentermanagement.shaCustomModulesViewer
       | 
Untuk mengetahui informasi selengkapnya tentang izin dan peran IAM serta cara memberikannya, lihat Memberikan peran IAM dengan menggunakan Google Cloud konsol.
Kuota modul kustom
Modul kustom Security Health Analytics tunduk pada batas kuota.
Batas kuota default untuk pembuatan modul kustom adalah 100, tetapi Anda dapat meminta penambahan kuota jika perlu.
Panggilan API ke metode modul kustom juga tunduk pada batas kuota. Tabel berikut menunjukkan batas kuota default untuk panggilan API modul kustom.
| Jenis Panggilan API | Batas | 
|---|---|
| Permintaan Baca CustomModules (Get, List) | 1.000 panggilan API per menit, per organisasi | 
| Permintaan Penulisan CustomModules (Buat, Perbarui, Hapus) | 60 panggilan API per menit, per organisasi | 
| Permintaan Pengujian CustomModules | 12 panggilan API per menit, per organisasi | 
Untuk penambahan kuota, kirimkan permintaan di konsol pada halaman Google Cloud Kuota.
Untuk mengetahui informasi selengkapnya tentang kuota Security Command Center, lihat Kuota dan batas.
Jenis resource yang didukung
- 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
Langkah berikutnya
- Untuk menggunakan modul kustom, lihat Menggunakan modul kustom untuk Security Health Analytics.
- Untuk membuat kode definisi modul kustom sendiri, lihat Membuat kode modul kustom untuk Security Health Analytics.
- Untuk menguji modul kustom, lihat Menguji modul kustom untuk Security Health Analytics.