Coletar registros do VMware vRealize
Este documento explica como ingerir registros do VMware Aria Suite (antes conhecido como VMware vRealize) no Google Security Operations usando o Bindplane. O analisador extrai campos das mensagens do syslog usando padrões grok com base no campo msg_type
. Em seguida, ele mapeia esses campos extraídos para a UDM, processando vários formatos de registro e enriquecendo os dados com contexto adicional, como informações de rede, detalhes do usuário e atributos de recursos.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Windows 2016 ou mais recente ou um host Linux com
systemd
- Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Acesso privilegiado ao software do VMware Aria Suite
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.
Receber o ID do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Outros recursos de instalação
Para mais opções de instalação, consulte o guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele fica no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yaml
da seguinte forma:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'VMWARE_VREALIZE' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<customer_id>
pelo ID do cliente real. - Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog para o VMware Aria Suite
- Faça login na UI da Web do VMware Aria Suite.
- Acesse Gerenciamento > Encaminhamento de eventos.
- Clique em Novo destino.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome exclusivo para identificar o servidor.
- Host: insira o endereço IP do agente do Bindplane.
- Protocolo: selecione Syslog.
- Transporte: selecione UDP ou TCP, dependendo da configuração real do agente do Bindplane.
- Porta: digite o número da porta do agente do Bindplane.
- Clique em Testar.
- Clique em Salvar.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
actorDomain |
principal.hostname |
O valor de actorDomain do registro bruto é mapeado para o campo da UDM. |
actorId |
principal.resource.attribute.labels.key |
A string "actorId" é atribuída à chave. |
actorId |
principal.resource.attribute.labels.value |
O valor de actorId do registro bruto é atribuído ao valor. |
actorId |
additional.fields.key |
A string "actorId" é atribuída à chave. |
actorId |
additional.fields.value.string_value |
O valor de actorId do registro bruto é atribuído ao valor. |
actorUserName |
principal.user.userid |
O valor de actorUserName do registro bruto é mapeado para o campo da UDM. |
actorUuid |
principal.resource.attribute.labels.key |
A string "actorUuid" é atribuída à chave. |
actorUuid |
principal.resource.attribute.labels.value |
O valor de actorUuid do registro bruto é atribuído ao valor. |
actorUuid |
additional.fields.key |
A string "actorUuid" é atribuída à chave. |
actorUuid |
additional.fields.value.string_value |
O valor de actorUuid do registro bruto é atribuído ao valor. |
all_request_headers.sec-ch-ua-platform |
principal.platform |
O valor é derivado de all_request_headers.sec-ch-ua-platform . Se ele contiver "win" ou "windows" (sem diferenciar maiúsculas e minúsculas), o valor será "WINDOWS". Se ele contiver "Mac" (sem diferenciar maiúsculas e minúsculas), o valor será "MAC". Se ele contiver "lin" ou "linux" (sem diferenciar maiúsculas e minúsculas), o valor será "LINUX". |
all_request_headers.X-Requested-With |
network.application_protocol |
Se o valor contiver "http" (sem diferenciar maiúsculas de minúsculas), ele será definido como "HTTP". |
automation_tag |
metadata.product_event_type |
O valor de automation_tag do registro bruto é mapeado para o campo da UDM. |
client_ip |
principal.ip |
O valor de client_ip do registro bruto é mapeado para o campo da UDM. |
client_src_port |
principal.port |
O valor de client_src_port do registro bruto é mapeado para o campo da UDM. |
comp |
about.resource.attribute.labels.key |
A string "Component" é atribuída à chave. |
comp |
about.resource.attribute.labels.value |
O valor de comp do registro bruto é atribuído ao valor. |
compression |
additional.fields.key |
A string "compression" é atribuída à chave. |
compression |
additional.fields.value.string_value |
O valor de compression do registro bruto é atribuído ao valor. |
data |
about.resource.attribute.labels.key |
A lógica depende de msg_type . Se msg_type for "Vpxa", "Hostd" ou "VSANMGMTSVC", o campo data será analisado usando pares de chave-valor, e chaves específicas (como opID , sub ) serão mapeadas para about.resource.attribute.labels . Se msg_type for "SWITCHING", "FABRIC", "MONITORING", "SYSTEM", "ROUTING", "LOAD", "nsx", "nestdb", "cfgAgent", "NSX" ou "NSXV", o campo data será analisado em busca de chaves como comp , subcomp e s2comp , que serão mapeadas para about.resource.attribute.labels . |
data |
about.resource.attribute.labels.value |
Consulte a lógica de about.resource.attribute.labels.key . |
data |
security_result.description |
Se msg_type for "Vpxa", "Hostd" ou "VSANMGMTSVC", e depois de analisar data para pares de chave-valor, se um campo msg existir, o valor dele será atribuído a security_result.description . |
description |
security_result.description |
Se o campo description existir no registro bruto, o valor dele será mapeado para o campo da UDM. |
deviceId |
principal.resource.attribute.labels.key |
A string "deviceType" é atribuída à chave. |
deviceId |
principal.resource.attribute.labels.value |
O valor de values.deviceType do registro bruto é atribuído ao valor. |
deviceId |
additional.fields.key |
A string "deviceType" é atribuída à chave. |
deviceId |
additional.fields.value.string_value |
O valor de values.deviceType do registro bruto é atribuído ao valor. |
direction |
network.direction |
Se o valor for "OUT", ele será mapeado como "OUTBOUND". Se for "IN", será mapeado como "INBOUND". |
dst_ip |
target.ip |
O valor de dst_ip do registro bruto é mapeado para o campo da UDM. |
dst_port |
target.port |
O valor de dst_port do registro bruto é mapeado para o campo da UDM. |
event_source |
principal.url |
O valor de event_source do registro bruto é mapeado para o campo da UDM. |
headers_received_from_server.Access-Control-Allow-Origin |
target.resource.attribute.labels.key |
A string "headers_received_from_server.Access-Control-Allow-Origin" é atribuída à chave. |
headers_received_from_server.Access-Control-Allow-Origin |
target.resource.attribute.labels.value |
O valor de headers_received_from_server.Access-Control-Allow-Origin do registro bruto é atribuído ao valor. |
headers_received_from_server.Content-Security-Policy |
principal.resource.attribute.labels.key |
A string "headers_received_from_server.Content-Security-Policy" é atribuída à chave. |
headers_received_from_server.Content-Security-Policy |
principal.resource.attribute.labels.value |
O valor de headers_received_from_server.Content-Security-Policy do registro bruto é atribuído ao valor. |
headers_received_from_server.Cookie |
target.resource.attribute.labels.key |
A string "headers_received_from_server.Cookie" é atribuída à chave. |
headers_received_from_server.Cookie |
target.resource.attribute.labels.value |
O valor de headers_sent_to_server.Cookie do registro bruto é atribuído ao valor. |
headers_received_from_server.set-cookie |
target.resource.attribute.labels.key |
A string "headers_received_from_server.set-cookie" é atribuída à chave. |
headers_received_from_server.set-cookie |
target.resource.attribute.labels.value |
O valor de headers_received_from_server.set-cookie do registro bruto é atribuído ao valor. |
headers_sent_to_server.sec-ch-ua |
principal.resource.attribute.labels.key |
A string "headers_sent_to_server.sec-ch-ua" é atribuída à chave. |
headers_sent_to_server.sec-ch-ua |
principal.resource.attribute.labels.value |
O valor de headers_sent_to_server.sec-ch-ua do registro bruto é atribuído ao valor. |
headers_sent_to_server.X-CSRF-TOKEN |
principal.resource.attribute.labels.key |
A string "headers_sent_to_server.X-CSRF-TOKEN" é atribuída à chave. |
headers_sent_to_server.X-CSRF-TOKEN |
principal.resource.attribute.labels.value |
O valor de headers_sent_to_server.X-CSRF-TOKEN do registro bruto é atribuído ao valor. |
hostname |
principal.hostname |
O valor de hostname do registro bruto é mapeado para o campo da UDM. |
hostname |
intermediary.hostname |
O valor de hostname do registro bruto é mapeado para o campo da UDM. |
host |
principal.hostname |
O valor de host do registro bruto é mapeado para o campo da UDM. |
isLocal |
additional.fields.key |
A string "isLocal" é atribuída à chave. |
isLocal |
additional.fields.value.string_value |
O valor de isLocal do registro bruto é atribuído ao valor. |
json_data |
Vários campos em principal , target , additional e security_result |
O campo json_data do registro bruto é analisado como JSON, e os campos extraídos são mapeados para vários campos do UDM com base nos nomes e na lógica do analisador. Isso inclui campos como uuid , tenantId , actorId , actorUserName , actorDomain , sourceIp , objectName , objectType , objectId , values.resourceType , values.success e outros. |
kv_data |
Vários campos | O campo kv_data é analisado como pares de chave-valor, e os campos extraídos são mapeados para vários campos da UDM com base nos nomes e na lógica do analisador. |
level |
security_result.severity |
Se o valor for "info" (sem diferenciar maiúsculas de minúsculas), ele será mapeado para "INFORMATIONAL". |
log_id |
metadata.product_log_id |
O valor de log_id do registro bruto é mapeado para o campo da UDM. |
message |
Vários campos | O campo message é a principal fonte de dados e é analisado extensivamente usando padrões grok para extrair vários campos, como ts , hostname , msg_type , sub_msg e outros. Esses campos extraídos são usados para preencher diferentes campos da UDM com base na lógica do analisador. |
method |
network.http.method |
O valor de method do registro bruto é mapeado para o campo da UDM. |
msg |
security_result.description |
Se msg_type for "Vpxa", "Hostd", "VSANMGMTSVC", "SWITCHING", "FABRIC", "ROUTING", "LOAD-BALANCER", "nsx", "nestdb", "cfgAgent", "NSX", "NSXV" ou "Rhttpproxy", e depois de qualquer análise relevante de grok , se o campo msg existir, o valor dele será atribuído a security_result.description . Há casos especiais nessa lógica para conteúdo de mensagens específicas, como "conexão keepalive". |
msg_type |
metadata.product_event_type |
Se msg_type for "FIREWALL_PKTLOG" ou "FIREWALL-PKTLOG", o valor será mapeado para o campo da UDM. |
msg_type |
event_type |
O valor de event_type é determinado com base no msg_type . Se msg_type for "FIREWALL_PKTLOG" ou "FIREWALL-PKTLOG", o event_type será "NETWORK_CONNECTION". Se msg_type for "Vpxa", "Hostd", "VSANMGMTSVC", "nsx", "LOAD", "ROUTING", "SWITCHING", "FABRIC", "MONITORING", "SYSTEM", "nestdb", "cfgAgent", "NSX", "NSXV", "Rhttpproxy", "audispd" ou "vsantraceUrgent", o event_type será "GENERIC_EVENT". Se msg_type for "queries" ou "responses", event_type será "NETWORK_DNS". Se msg_type for "sudo", event_type será "STATUS_UPDATE". Se o campo description contiver "cmmdsTimeMachineDump", o event_type será "GENERIC_EVENT". Se o campo description contiver "prodjbossapp", o event_type será "GENERIC_EVENT". Se o campo description contiver "liagent@6876", o event_type será "GENERIC_EVENT". Se nenhuma das condições acima for atendida e o campo description não estiver vazio, o event_type será "GENERIC_EVENT". Se src_ip e dst_ip estiverem presentes, o event_type será "NETWORK_CONNECTION". Se src_ip , dst_ip ou hostname estiver presente, o event_type será "STATUS_UPDATE". Se has_principal_ip for verdadeiro e has_target_ip for verdadeiro, event_type será "SCAN_UNCATEGORIZED". Se has_principal_ip ou has_principal_host for verdadeiro, event_type será "STATUS_UPDATE". Se nenhuma das condições acima for atendida, o event_type será "GENERIC_EVENT". |
objectName |
target.resource.attribute.labels.key |
A string "objectName" é atribuída à chave. |
objectName |
target.resource.attribute.labels.value |
O valor de objectName do registro bruto é atribuído ao valor. |
objectName |
additional.fields.key |
A string "objectName" é atribuída à chave. |
objectName |
additional.fields.value.string_value |
O valor de objectName do registro bruto é atribuído ao valor. |
objectId |
target.resource.attribute.labels.key |
A string "objectId" é atribuída à chave. |
objectId |
target.resource.attribute.labels.value |
O valor de objectId do registro bruto é atribuído ao valor. |
objectId |
additional.fields.key |
A string "objectId" é atribuída à chave. |
objectId |
additional.fields.value.string_value |
O valor de objectId do registro bruto é atribuído ao valor. |
objectType |
target.resource.attribute.labels.key |
A string "objectType" é atribuída à chave. |
objectType |
target.resource.attribute.labels.value |
O valor de objectType do registro bruto é atribuído ao valor. |
objectType |
additional.fields.key |
A string "objectType" é atribuída à chave. |
objectType |
additional.fields.value.string_value |
O valor de objectType do registro bruto é atribuído ao valor. |
objectType |
security_result.description |
Se objectType for "LAUNCH" e success não for "true", a descrição será "a tentativa de inicialização do aplicativo foi bem-sucedida". Se objectType for "LAUNCH_ERROR" e success não for "true", a descrição será "O usuário iniciou um aplicativo com uma solicitação inválida". |
opID |
about.resource.attribute.labels.key |
A string "opId" é atribuída à chave. |
opID |
about.resource.attribute.labels.value |
O valor de opID do registro bruto é atribuído ao valor. |
pool |
additional.fields.key |
A string "pool" é atribuída à chave. |
pool |
additional.fields.value.string_value |
O valor de pool do registro bruto é atribuído ao valor. |
pool_name |
additional.fields.key |
A string "pool_name" é atribuída à chave. |
pool_name |
additional.fields.value.string_value |
O valor de pool_name do registro bruto é atribuído ao valor. |
protocol |
network.ip_protocol |
O valor de protocol do registro bruto é convertido para maiúsculas e mapeado para o campo da UDM. Se o valor for "PROTO", ele não será mapeado. |
protocol |
additional.fields.key |
Se o valor de protocol for "PROTO", a string "ip_protocol" será atribuída à chave. |
protocol |
additional.fields.value.string_value |
Se o valor de protocol for "PROTO", o valor de protocol do registro bruto será atribuído ao valor. |
query_data |
network.dns.questions.name |
O campo query_data é analisado para extrair o question_name , que é mapeado para o campo do UDM. |
query_data |
network.dns.questions.type |
O campo query_data é analisado para extrair o query_type , que é mapeado para o campo UDM usando uma pesquisa incluída em "dns_record_type.include". |
query_data |
network.dns.questions.class |
O campo query_data é analisado para extrair o dns_class , que é mapeado para o campo da UDM usando uma pesquisa incluída em "dns_query_class_mapping.include". |
referer |
principal.url |
O valor de referer do registro bruto é mapeado para o campo da UDM. |
request_content_type |
additional.fields.key |
A string "request_content_type" é atribuída à chave. |
request_content_type |
additional.fields.value.string_value |
O valor de request_content_type do registro bruto é atribuído ao valor. |
request_state |
additional.fields.key |
A string "request_state" é atribuída à chave. |
request_state |
additional.fields.value.string_value |
O valor de request_state do registro bruto é atribuído ao valor. |
response_code |
network.http.response_code |
O valor de response_code ou server_response_code do registro bruto é mapeado para o campo do UDM. |
response_content_type |
additional.fields.key |
A string "response_content_type" é atribuída à chave. |
response_content_type |
additional.fields.value.string_value |
O valor de response_content_type do registro bruto é atribuído ao valor. |
rule_id |
security_result.rule_id |
O valor de rule_id do registro bruto é mapeado para o campo da UDM. |
s2comp |
about.resource.attribute.labels.key |
A string "S2-Component" é atribuída à chave. |
s2comp |
about.resource.attribute.labels.value |
O valor de s2comp do registro bruto é atribuído ao valor. |
server_ip |
target.ip |
O valor de server_ip do registro bruto é mapeado para o campo da UDM. |
server_name |
target.hostname |
O valor de server_name do registro bruto é mapeado para o campo da UDM. |
server_response_code |
network.http.response_code |
Consulte a lógica de response_code . |
server_src_port |
target.port |
O valor de server_src_port do registro bruto é mapeado para o campo da UDM. |
service_engine |
additional.fields.key |
A string "service_engine" é atribuída à chave. |
service_engine |
additional.fields.value.string_value |
O valor de service_engine do registro bruto é atribuído ao valor. |
sourceIp |
principal.ip |
O valor de sourceIp do registro bruto é mapeado para o campo da UDM. |
ssl_cipher |
network.tls.cipher |
O valor de ssl_cipher do registro bruto é mapeado para o campo da UDM. |
ssl_session_id |
network.session_id |
O valor de ssl_session_id do registro bruto é mapeado para o campo da UDM. |
ssl_version |
network.tls.version_protocol |
O valor de ssl_version do registro bruto é mapeado para o campo da UDM. |
sub |
about.resource.attribute.labels.key |
A string "Sub Component" é atribuída à chave. |
sub |
about.resource.attribute.labels.value |
O valor de sub do registro bruto é atribuído ao valor. |
subClusterUuid |
additional.fields.key |
A string "subClusterUuid" é atribuída à chave. |
subClusterUuid |
additional.fields.value.string_value |
O valor de subClusterUuid do registro bruto é atribuído ao valor. |
sub_msg |
Vários campos em principal , target , network , security_result e about |
O campo sub_msg é analisado de maneira diferente com base no msg_type . Ele pode ser analisado como JSON, usando padrões grok ou pares de chave-valor. Os campos extraídos são mapeados para vários campos da UDM com base nos nomes e na lógica do analisador. Isso inclui campos como ip_type , action , rule_id , direction , protocol , tcp_flag , src_ip , src_port , dst_ip , dst_port , data , msg e outros. |
subcomp |
about.resource.attribute.labels.key |
A string "Sub Component" é atribuída à chave. |
subcomp |
about.resource.attribute.labels.value |
O valor de subcomp do registro bruto é atribuído ao valor. |
tenantId |
principal.resource.attribute.labels.key |
A string "tenantId" é atribuída à chave. |
tenantId |
principal.resource.attribute.labels.value |
O valor de tenantId do registro bruto é atribuído ao valor. |
tenantId |
additional.fields.key |
A string "tenantId" é atribuída à chave. |
tenantId |
additional.fields.value.string_value |
O valor de tenantId do registro bruto é atribuído ao valor. |
ts |
metadata.event_timestamp |
O valor de ts do registro bruto é analisado como um carimbo de data/hora e mapeado para o campo da UDM. |
ts |
timestamp |
O valor de ts do registro bruto é analisado como um carimbo de data/hora e mapeado para o campo da UDM. |
updateType |
additional.fields.key |
A string "updateType" é atribuída à chave. |
updateType |
additional.fields.value.string_value |
O valor de updateType do registro bruto é atribuído ao valor. |
uri_path |
network.http.referral_url |
O valor de uri_path do registro bruto é mapeado para o campo da UDM. |
user_agent |
network.http.user_agent |
O valor de user_agent do registro bruto é mapeado para o campo da UDM. |
user_agent |
network.http.parsed_user_agent |
O valor de user_agent do registro bruto é analisado como uma string de user agent e mapeado para o campo da UDM. |
USER |
principal.user.user_display_name |
O valor de USER do registro bruto é mapeado para o campo da UDM. |
values.actorExternalId |
principal.resource.attribute.labels.key |
A string "actorExternalId" é atribuída à chave. |
values.actorExternalId |
principal.resource.attribute.labels.value |
O valor de values.actorExternalId do registro bruto é atribuído ao valor. |
values.actorExternalId |
additional.fields.key |
A string "actorExternalId" é atribuída à chave. |
values.actorExternalId |
additional.fields.value.string_value |
O valor de values.actorExternalId do registro bruto é atribuído ao valor. |
values.deviceType |
principal.resource.attribute.labels.key |
A string "deviceType" é atribuída à chave. |
values.deviceType |
principal.resource.attribute.labels.value |
O valor de values.deviceType do registro bruto é atribuído ao valor. |
values.deviceType |
additional.fields.key |
A string "deviceType" é atribuída à chave. |
values.deviceType |
additional.fields.value.string_value |
O valor de values.deviceType do registro bruto é atribuído ao valor. |
values.resourceType |
principal.resource.resource_subtype |
O valor de values.resourceType do registro bruto é mapeado para o campo da UDM. O principal.resource.type é definido como "VIRTUAL_MACHINE". |
values.success |
security_result.action |
Se o valor for "true" (sem diferenciar maiúsculas e minúsculas), ele será mapeado como "ALLOW". Se for "false" (sem diferenciar maiúsculas e minúsculas), será mapeado como "BLOCK". |
virtualservice |
additional.fields.key |
A string "virtualservice" é atribuída à chave. |
virtualservice |
additional.fields.value.string_value |
O valor de virtualservice do registro bruto é atribuído ao valor. |
vmw_vr_ops_appname |
about.resource.attribute.labels.key |
A string "Ops AppName" é atribuída à chave. |
vmw_vr_ops_appname |
about.resource.attribute.labels.value |
O valor de vmw_vr_ops_appname do registro bruto é atribuído ao valor. |
vmw_vr_ops_clustername |
about.resource.attribute.labels.key |
A string "Ops ClusterName" é atribuída à chave. |
vmw_vr_ops_clustername |
about.resource.attribute.labels.value |
O valor de vmw_vr_ops_clustername do registro bruto é atribuído ao valor. |
vmw_vr_ops_logtype |
about.resource.attribute.labels.key |
A string "Ops Logtype" é atribuída à chave. |
vmw_vr_ops_logtype |
about.resource.attribute.labels.value |
O valor de vmw_vr_ops_logtype do registro bruto é atribuído ao valor. |
vmw_vr_ops_nodename |
about.resource.attribute.labels.key |
A string "Ops NodeName" é atribuída à chave. |
vmw_vr_ops_nodename |
about.resource.attribute.labels.value |
O valor de vmw_vr_ops_nodename do registro bruto é atribuído ao valor. |
vs_name |
additional.fields.key |
A string "vs_name" é atribuída à chave. |
vs_name |
additional.fields.value.string_value |
O valor de vs_name do registro bruto é atribuído ao valor. A string "VMWARE" é atribuída. A string "VMWARE_VREALIZE" é atribuída. A string "VMWARE_VREALIZE" é atribuída. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.