Présentation des modules personnalisés pour Security Health Analytics

Cette page présente les modules personnalisés de Security Health Analytics. Pour des informations sur les modules intégrés, consultez Security Health Analytics et des détecteurs de fumée.

Grâce aux modules personnalisés, vous pouvez étendre la détection de Security Health Analytics en créant des détecteurs personnalisés qui analysent aux ressources et aux stratégies que vous spécifiez et recherchez les failles, les erreurs de configuration ou les cas de non-conformité.

Configuration ou définition d'un module personnalisé, que vous le créiez dans le la console Google Cloud ou codez-le vous-même, détermine les ressources le détecteur vérifie, les propriétés qu'il évalue et informations renvoyées par le détecteur lorsqu'une faille est détectée.

Vous pouvez créer des modules personnalisés pour toute ressource ou tout élément que Security Command Center compatibles.

Si vous codez vous-même des définitions de module personnalisé, vous utilisez YAML et les expressions CEL (Common Expression Language). Si vous utilisez les console Google Cloud pour créer vos modules personnalisés, la plupart des tâches de est fait pour vous, même si vous devez coder les expressions CEL.

Pour obtenir un exemple de définition de module personnalisé dans un fichier YAML, consultez Exemple de définition de module personnalisé

Les modules personnalisés s'exécutent parallèlement aux détecteurs intégrés de Security Health Analytics. pour les analyses en temps réel et par lot. En mode temps réel, les analyses sont déclenchés chaque fois que la configuration d'un élément est modifiée. Mode de traitement par lot Analyses exécutées avec tous les détecteurs pour les organisations ou les projets enregistrés une fois par jour.

Lors d'une analyse, chaque détecteur personnalisé est appliqué à tous les éléments correspondants dans chaque l'organisation, le dossier ou le projet pour lequel il est activé.

Les résultats des détecteurs personnalisés sont écrits dans Security Command Center.

Pour en savoir plus, consultez les ressources suivantes :

Comparer les détecteurs intégrés et les modules personnalisés

Grâce aux modules personnalisés, vous pouvez détecter des éléments que vous ne pouvez pas détecter avec le des détecteurs Security Health Analytics intégrés ; mais les détecteurs intégrés prennent en charge certaines fonctionnalités de Security Command Center, contrairement aux modules personnalisés.

Compatibilité des caractéristiques

Les modules personnalisés Security Health Analytics ne sont pas compatibles avec le chemin d'attaque des simulations, de sorte que les résultats produits par des modules personnalisés n'obtiennent pas des scores d'exposition aux attaques ou des chemins d'attaque.

Comparer la logique de détection

Voici un exemple de ce que vous pouvez faire module personnalisé, comparez ce que le détecteur intégré PUBLIC_SQL_INSTANCE ce que vous pouvez faire avec un module personnalisé.

Le détecteur intégré PUBLIC_SQL_INSTANCE vérifie si le La propriété authorizedNetworks des instances Cloud SQL est définie sur 0.0.0.0/0 Si c'est le cas, le détecteur émet un résultat indiquant que L'instance Cloud SQL est ouverte au public, car elle accepte les connexions de toutes les adresses IP.

Un module personnalisé permet d'implémenter une détection plus complexe pour vérifier les éléments suivants des instances Cloud SQL:

  • les adresses IP avec des préfixes spécifiques, à l'aide de caractères génériques.
  • La valeur de la propriété state, que vous pouvez utiliser pour ignorer les instances si la valeur est définie sur MAINTENANCE ou déclenche des résultats si la valeur est autre chose.
  • La valeur de la propriété region, que vous pouvez utiliser pour déclencher des résultats uniquement pour les instances ayant des adresses IP publiques dans des régions spécifiques.

Rôles et autorisations IAM requis

Les rôles IAM déterminent les actions que vous pouvez effectuer avec les modules personnalisés Security Health Analytics.

Le tableau suivant contient une liste des modules personnalisés Security Health Analytics les autorisations et les rôles IAM prédéfinis qui incluent de l'IA générative. Ces autorisations sont valides au moins jusqu'au 22 janvier 2024. Après à cette date, les autorisations répertoriées dans le deuxième tableau suivant seront nécessaires.

Vous pouvez utiliser la console Google Cloud ou l'API Security Command Center pour appliquer ces rôles au niveau de l'organisation, du dossier ou du projet.

Autorisations requises avant le 22 janvier 2024 Rôles
securitycenter.securityhealthanalyticscustommodules.create
securitycenter.securityhealthanalyticscustommodules.update
securitycenter.securityhealthanalyticscustommodules.delete
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.get
securitycenter.securityhealthanalyticscustommodules.list
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.test roles/securitycenter.securityHealthAnalyticsCustomModulesTester
roles/securitycenter.adminViewer
roles/securitycenter.adminEditor
roles/securitycenter.admin

Le tableau suivant contient une liste des métriques personnalisées de Security Health Analytics les autorisations de module qui seront requises à compter du 22 janvier 2024, ainsi que les rôles IAM prédéfinis qui les incluent.

Vous pouvez utiliser la console Google Cloud ou l'API Security Command Center pour appliquer ces rôles au niveau de l'organisation, du dossier ou du projet.

Autorisations requises à compter du 22 janvier 2024 Rôles
securitycentermanagement.securityHealthAnalyticsCustomModules.create
securitycentermanagement.securityHealthAnalyticsCustomModules.update
securitycentermanagement.securityHealthAnalyticsCustomModules.delete
securitycentermanagement.securityHealthAnalyticsCustomModules.list
securitycentermanagement.securityHealthAnalyticsCustomModules.get
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.list
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.get
securitycentermanagement.securityHealthAnalyticsCustomModules.simulate
securitycentermanagement.securityHealthAnalyticsCustomModules.test
roles/securitycentermanagement.shaCustomModulesEditor
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycentermanagement.securityHealthAnalyticsCustomModules.list
securitycentermanagement.securityHealthAnalyticsCustomModules.get
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.list
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.get
securitycentermanagement.securityHealthAnalyticsCustomModules.simulate
securitycentermanagement.securityHealthAnalyticsCustomModules.test
roles/securitycentermanagement.shaCustomModulesViewer
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin

Pour en savoir plus sur les autorisations et les rôles IAM, et sur la façon de les attribuer, consultez Attribuer un rôle IAM à l'aide de la console Google Cloud.

Quotas de modules personnalisés

Les modules personnalisés Security Health Analytics sont soumis à des limites de quota.

La limite de quota par défaut pour la création de modules personnalisés est de 100, mais vous peuvent demander une augmentation de quota, si nécessaire.

Les appels d'API vers des méthodes de module personnalisé sont également soumis à des limites de quota. La Le tableau suivant indique les limites de quota par défaut pour les appels d'API de modules personnalisés.

Type d'appel d'API Limite
Requêtes de lecture CustomModules (Get, List) 1 000 appels d'API par minute et par organisation
Requêtes d'écriture CustomModules (création, mise à jour, suppression) 60 appels d'API par minute et par organisation
Requêtes de test CustomModules 12 appels d'API par minute et par organisation

Pour demander une augmentation de quota, envoyez une demande dans la console Google Cloud sur le page Quotas.

Pour en savoir plus sur les quotas de Security Command Center, consultez Quotas et limites.

Types de ressources acceptés

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 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
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/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

Étape suivante