Nesta página, você terá uma visão geral dos módulos personalizados do Security Health Analytics. Para informações sobre módulos integrados, consulte Detectores integrados da Análise de integridade da segurança.
Com os módulos personalizados, é possível ampliar os recursos de detecção do Security Health Analytics criando detectores personalizados que verificam os recursos e as políticas do Google Cloud especificados usando regras que você define para verificar vulnerabilidades, configurações incorretas ou conformidade. violações.
A configuração ou definição de um módulo personalizado, seja ele criado no console do Google Cloud ou codificado por conta própria, determina os recursos verificados pelo detector, as propriedades que o detector avalia e as informações que o detector retorna quando uma vulnerabilidade ou configuração incorreta é detectada.
É possível criar módulos personalizados para qualquer recurso que seja compatível com o Security Command Center.
Se você codificar definições de módulo personalizadas, poderá usar expressões YAML e Common Expression Language (CEL). Se você usar o console do Google Cloud para criar seus módulos personalizados, a maior parte da programação será feita para você, embora seja necessário codificar as expressões CEL.
Para ver um exemplo de definição de módulo personalizado em um arquivo YAML, consulte Exemplo de definição de módulo personalizado.
Os módulos personalizados são executados com os detectores integrados do Security Health Analytics em verificações em tempo real e em lote. No modo em tempo real, as verificações são acionadas sempre que a configuração de um recurso é alterada. As verificações em lote são executadas com todos os detectores para organizações ou projetos registrados uma vez por dia.
Durante uma verificação, cada detector personalizado é aplicado a todos os recursos correspondentes em cada organização, pasta ou projeto em que está ativado.
As descobertas dos detectores personalizados são gravadas no Security Command Center.
Para ver mais informações, consulte os seguintes tópicos:
- Como criar módulos personalizados
- Tipos de verificações da Análise de integridade da segurança
- Tipos de recursos compatíveis
- YAML
- Introdução a CEL
Comparação de detectores integrados e módulos personalizados
Você pode detectar itens com módulos personalizados que não podem ser detectados com os detectores integrados da Análise de integridade da segurança. No entanto, os detectores integrados são compatíveis com determinados recursos do Security Command Center que não são compatíveis com os módulos personalizados.
Suporte a recursos
Os módulos personalizados da Análise de integridade da segurança não são compatíveis com simulações de caminho de ataque. Portanto, as descobertas produzidas por módulos personalizados não recebem pontuações de exposição a ataques ou caminhos de ataque.
Como comparar a lógica de detecção
Como exemplo de algumas das coisas que você pode fazer com um
módulo personalizado, compare o que o detector integrado PUBLIC_SQL_INSTANCE
verifica com o que você pode fazer com um módulo personalizado.
O detector integrado 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 detector emitirá uma descoberta que declara que a instância do Cloud SQL está aberta ao público, porque aceita conexões de todos os endereços IP.
Com um módulo personalizado, é possível implementar uma lógica de detecção mais complexa para verificar instâncias do Cloud SQL para coisas como:
- Endereços IP com prefixos específicos, usando caracteres curinga.
- O valor da propriedade
state
, que pode ser usado para ignorar instâncias se o valor for definido comoMAINTENANCE
ou acionar descobertas se o valor for outro. - O valor da propriedade
region
, que pode ser usado para acionar descobertas apenas para instâncias com endereços IP públicos em regiões específicas.
Permissões e papéis do IAM necessários
Os papéis do IAM determinam as ações que podem ser realizadas com os módulos personalizados do Security Health Analytics.
A tabela a seguir contém uma lista de permissões personalizadas do módulo Security Health Analytics e os papéis predefinidos do IAM que as incluem. Essas permissões são válidas até pelo menos 22 de janeiro de 2024. Depois dessa data, as permissões listadas na segunda tabela a seguir serão necessárias.
É possível usar o console do Google Cloud ou a API Security Command Center para aplicar esses papéis no nível da organização, da pasta ou do projeto.
Permissões necessárias antes de 22 de janeiro de 2024 | Papéis |
---|---|
securitycenter.securityhealthanalyticscustommodules.create |
roles/securitycenter.settingsEditor |
securitycenter.securityhealthanalyticscustommodules.get |
roles/securitycenter.settingsViewer |
securitycenter.securityhealthanalyticscustommodules.test |
roles/securitycenter.securityHealthAnalyticsCustomModulesTester |
A tabela a seguir contém uma lista de permissões personalizadas do módulo Security Health Analytics que serão necessárias a partir de 22 de janeiro de 2024, bem como os papéis predefinidos do IAM que as incluem.
É possível usar o console do Google Cloud ou a API Security Command Center para aplicar esses papéis no nível da organização, da pasta ou do projeto.
Permissões necessárias a partir de 22 de janeiro de 2024 | Papéis |
---|---|
securitycentermanagement.securityHealthAnalyticsCustomModules.create
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
Para mais informações sobre permissões e papéis do IAM e como concedê-los, consulte Conceder um papel do IAM usando o console do Google Cloud.
Cotas do módulo personalizado
Os módulos personalizados do Security Health Analytics estão sujeitos a limites de cota.
O limite de cota padrão para a criação de módulos personalizados é de 100, mas você pode solicitar um aumento de cota, se necessário.
As chamadas de API para métodos de módulo personalizados também estão sujeitas a limites de cota. A tabela a seguir mostra os limites de cota padrão para chamadas de API do módulo personalizado.
Tipo de chamada de API | Limite |
---|---|
Solicitações de leitura de CustomModules (encontrar, listar) | 1.000 chamadas de API por minuto e organização. |
Solicitações de gravação de CustomModules (criar, atualizar e excluir) | 60 chamadas de API por minuto e organização. |
Solicitações de teste de CustomModules | 12 chamadas de API por minuto e organização. |
Para aumentar a cota, envie uma solicitação no console do Google Cloud na página Cotas.
Para mais informações sobre as cotas do Security Command Center, consulte Cotas e limites.
Tipos de recursos compatíveis
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
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
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
Private CA Certificate
-
privateca.googleapis.com/Certificate
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
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 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
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/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
A seguir
- Para trabalhar com módulos personalizados, consulte Como usar módulos personalizados para o Security Health Analytics.
- Para codificar definições de módulo personalizadas, consulte Códigos de módulos personalizados para o Security Health Analytics.
- Para testar os módulos personalizados, consulte Testar módulos personalizados para o Security Health Analytics.