Auf dieser Seite finden Sie eine Übersicht über benutzerdefinierte Module für Security Health Analytics. Informationen zu integrierten Modulen finden Sie unter Integrierte Detektoren von Security Health Analytics.
Mit benutzerdefinierten Modulen können Sie die Erkennungsfunktionen von Security Health Analytics erweitern, indem Sie benutzerdefinierte Detektoren erstellen, die die von Ihnen angegebenen Google Cloud-Ressourcen und ‑Richtlinien anhand von Regeln prüfen, die Sie definieren, um nach Sicherheitslücken, Fehlkonfigurationen oder Compliance-Verstößen zu suchen.
Die Konfiguration oder Definition eines benutzerdefinierten Moduls, unabhängig davon, ob Sie es in derGoogle Cloud -Konsole erstellen oder selbst codieren, bestimmt die Ressourcen, die der Detektor prüft, die Eigenschaften, die der Detektor auswertet, und die Informationen, die der Detektor zurückgibt, wenn eine Sicherheitslücke oder Fehlkonfiguration erkannt wird.
Sie können benutzerdefinierte Module für jede Ressource oder jedes Asset erstellen, die von Security Command Center unterstützt werden.
Wenn Sie benutzerdefinierte Moduldefinitionen selbst codieren, verwenden Sie YAML- und CEL-Ausdrücke (Common Expression Language). Wenn Sie dieGoogle Cloud -Konsole zum Erstellen Ihrer benutzerdefinierten Module verwenden, wird der Großteil des Codes für Sie erstellt. Sie müssen jedoch die CEL-Ausdrücke codieren.
Ein Beispiel für die Definition eines benutzerdefinierten Moduls in einer YAML-Datei finden Sie unter Beispiel für die Definition eines benutzerdefinierten Moduls.
Benutzerdefinierte Module werden neben integrierten Detektoren von Security Health Analytics sowohl in Echtzeit- als auch in Batchscans ausgeführt. Im Echtzeitmodus werden Scans ausgelöst, wenn sich die Konfiguration eines Assets ändert. Batch-Scans werden einmal täglich mit allen Detektoren für registrierte Organisationen oder Projekte ausgeführt.
Während eines Scans wird jeder benutzerdefinierte Detektor auf alle übereinstimmenden Assets in jeder Organisation, jedem Ordner oder jedem Projekt angewendet, für die er aktiviert ist.
Ergebnisse von benutzerdefinierten Detektoren werden in Security Command Center geschrieben.
Hier finden Sie weitere Informationen:
- Benutzerdefinierte Module erstellen
- Security Health Analytics-Scantypen
- Unterstützte Ressourcentypen
- YAML
- Einführung in CEL
Integrierte Detektoren und benutzerdefinierte Module vergleichen
Mit benutzerdefinierten Modulen können Sie Dinge erkennen, die mit den integrierten Security Health Analytics-Detektoren nicht erkannt werden können. Integrierte Detektoren unterstützen jedoch bestimmte Security Command Center-Funktionen, die von benutzerdefinierten Modulen nicht unterstützt werden.
Funktionsunterstützung
Benutzerdefinierte Module von Security Health Analytics werden nicht von Angriffspfadsimulationen unterstützt. Daher werden für Ergebnisse, die von benutzerdefinierten Modulen generiert werden, keine Angriffsexpositionswerte oder Angriffspfade erstellt.
Erkennungslogik vergleichen
Ein Beispiel für die Möglichkeiten eines benutzerdefinierten Moduls: Vergleichen Sie, was der integrierte Detektor PUBLIC_SQL_INSTANCE prüft, mit dem, was Sie mit einem benutzerdefinierten Modul tun können.
Der integrierte Detektor PUBLIC_SQL_INSTANCE prüft, ob das Attribut authorizedNetworks von Cloud SQL-Instanzen auf 0.0.0.0/0 gesetzt ist.
Wenn dies der Fall ist, wird ein Ergebnis generiert, das besagt, dass die Cloud SQL-Instanz öffentlich zugänglich ist, da sie Verbindungen von allen IP-Adressen akzeptiert.
Mit einem benutzerdefinierten Modul können Sie komplexere Erkennungslogik implementieren, um Cloud SQL-Instanzen auf Folgendes zu prüfen:
- IP-Adressen mit bestimmten Präfixen mithilfe von Platzhaltern.
- Der Wert der Property
state, mit der Sie Instanzen ignorieren können, wenn der Wert aufMAINTENANCEfestgelegt ist, oder Ergebnisse auslösen können, wenn der Wert etwas anderes ist. - Der Wert der Property
region, mit der Sie Ergebnisse nur für Instanzen mit öffentlichen IP-Adressen in bestimmten Regionen auslösen können.
Erforderliche IAM-Rollen und ‑Berechtigungen
IAM-Rollen bestimmen die Aktionen, die Sie mit benutzerdefinierten Modulen für Security Health Analytics ausführen können.
In der folgenden Tabelle sind die erforderlichen Berechtigungen für benutzerdefinierte Module von Security Health Analytics sowie die vordefinierten IAM-Rollen aufgeführt, die diese Berechtigungen enthalten.
Sie können die Google Cloud -Konsole oder die Security Command Center API verwenden, um diese Rollen auf Organisations-, Ordner- oder Projektebene anzuwenden.
| Erforderliche Berechtigungen | Rollen |
|---|---|
securitycentermanagement.securityHealthAnalyticsCustomModules.create
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
Weitere Informationen zu IAM-Berechtigungen und -Rollen sowie zum Zuweisen von Berechtigungen finden Sie unter IAM-Rolle über die Google Cloud Console zuweisen.
Kontingente für benutzerdefinierte Module
Für benutzerdefinierte Module von Security Health Analytics gelten Kontingentlimits.
Das Standardkontingentlimit für das Erstellen benutzerdefinierter Module beträgt 100. Sie können jedoch bei Bedarf eine Kontingenterhöhung anfordern.
Für API-Aufrufe von benutzerdefinierten Modulmethoden gelten ebenfalls Kontingentlimits. In der folgenden Tabelle sind die Standardkontingentlimits für API-Aufrufe für benutzerdefinierte Module aufgeführt.
| API-Aufruftyp | Limit |
|---|---|
| CustomModules Read Requests (Get, List) | 1.000 API-Aufrufe pro Minute pro Organisation |
| CustomModules Write Requests (Create, Update, Delete) | 60 API-Aufrufe pro Minute pro Organisation |
| Testanfragen für benutzerdefinierte Module | 12 API-Aufrufe pro Minute pro Organisation |
Senden Sie für Kontingenterhöhungen eine Anfrage in der Google Cloud Console auf der Seite Kontingente.
Weitere Informationen zu Security Command Center-Kontingenten finden Sie unter Kontingente und Limits.
Unterstützte Ressourcentypen
Access Context Manager-
accesscontextmanager.googleapis.com/AccessLevel -
accesscontextmanager.googleapis.com/AccessPolicy -
accesscontextmanager.googleapis.com/ServicePerimeter Address-
compute.googleapis.com/Address Alert Policymonitoring.googleapis.com/AlertPolicyAlloyDB 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 Modelbigquery.googleapis.com/ModelBigQuery Tablebigquery.googleapis.com/TableBucket-
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 Profiledatastream.googleapis.com/ConnectionProfileDatastream Private Connectiondatastream.googleapis.com/PrivateConnectionDatastream Streamdatastream.googleapis.com/StreamDialogflow 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 Nodepoolcontainer.googleapis.com/NodePoolOrganization-
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
Nächste Schritte
- Weitere Informationen zum Arbeiten mit benutzerdefinierten Modulen finden Sie unter Benutzerdefinierte Module für Security Health Analytics verwenden.
- Wenn Sie benutzerdefinierte Moduldefinitionen selbst codieren möchten, lesen Sie den Abschnitt Benutzerdefinierte Module für Security Health Analytics codieren.
- Informationen zum Testen benutzerdefinierter Module finden Sie unter Benutzerdefinierte Module für Security Health Analytics testen.