Coletar registros de dispositivos do Cloud Identity
Este documento explica como coletar registros do Cloud Identity Devices no Google SecOps usando o método API de terceiros, que é a abordagem recomendada. O analisador extrai campos de registros JSON, transforma campos específicos, como deviceType e datas, e os mapeia para a UDM, criando um asset_entity que representa o dispositivo e o enriquece com informações de hardware e metadados.
Antes de começar
Verifique se você atende os seguintes pré-requisitos:
- Uma instância do Google SecOps
- Configuração da delegação em todo o domínio para uma conta de serviço. A conta de serviço precisa estar autorizada para o seguinte escopo:
https://www.googleapis.com/auth/cloud-identity.devices.readonly
- As seguintes APIs estão ativadas no seu projeto Google Cloud :
- API Cloud Identity
- SDK Admin do Google Workspace
- API Alert Center
Recomendado: configurar feeds de API de terceiros
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações do SIEM > Feeds > Adicionar novo feed
- Hub de conteúdo > Pacotes de conteúdo > Comece já
Como configurar o feed Google Cloud Dispositivos de identidade
- Clique no pacote Plataforma de computação do Google Cloud.
- Localize o tipo de registro Google Cloud Dispositivos de identidade e clique em Adicionar novo feed.
- Especifique valores para os seguintes campos:
- Tipo de origem: selecione API de terceiros.
- Endpoint JWT do OAuth: insira o endpoint do token OAuth:
https://oauth2.googleapis.com/token - Emissor de declarações JWT: insira o endereço de e-mail da conta de serviço, que está no arquivo de chave JSON da conta.
- Assunto das declarações JWT: insira o endereço de e-mail do usuário que recebeu a função de administrador de serviços ou superadministrador no console do Workspace (o usuário que está sendo representado por delegação em todo o domínio).
- Público das declarações do JWT: insira o endpoint novamente:
https://oauth2.googleapis.com/token - Chave privada RSA: cole todo o conteúdo da chave privada do arquivo de chave JSON da conta de serviço, incluindo as linhas
-----BEGIN PRIVATE KEY-----e-----END PRIVATE KEY-----.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
- Clique em Criar feed.
Para mais informações sobre como configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.
Método alternativo: ingestão via Cloud Storage
- Faça login no console doGoogle Cloud .
Acesse a página Buckets do Cloud Storage.
Clique em Criar.
Na página Criar um bucket, insira as informações do seu bucket. Após cada uma das etapas a seguir, clique em Continuar para prosseguir para a próxima etapa:
Na seção Começar, faça o seguinte:
- Insira um nome exclusivo que atenda aos requisitos de nome de bucket. Por exemplo, gcp-cloudidentity-devices-logs.
Para ativar o namespace hierárquico, clique na seta de expansão para abrir a seção Otimizar para cargas de trabalho orientadas a arquivos e com uso intensivo de dados e selecione Ativar namespace hierárquico neste bucket.
Para adicionar um rótulo de bucket, clique na seta de expansão para abrir a seção Rótulos.
Clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.
Na seção Escolha onde armazenar seus dados, faça o seguinte:
- Selecione um tipo de local.
Use o menu do tipo de local para selecionar um Local em que os dados de objetos no bucket serão armazenados permanentemente.
Para configurar a replicação entre buckets, abra a seção Configurar a replicação entre buckets.
Na seção Escolha uma classe de armazenamento para seus dados, selecione uma classe de armazenamento padrão para o bucket ou escolha Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.
Na seção Escolha como controlar o acesso a objetos, desmarque Aplicar prevenção de acesso público e selecione um modelo de Controle de acesso para os objetos do bucket.
Na seção Escolha como proteger os dados do objeto, faça o seguinte:
- Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
- Para escolher como os dados dos objetos serão criptografados, clique na seta de expansão identificada como Criptografia de dados e selecione um método de criptografia de dados.
Clique em Criar.
Configurar a exportação de registros de dispositivos do Cloud Identity
- Faça login no console doGoogle Cloud .
- Acesse Logging > Roteador de registros.
- Clique em Criar coletor.
Forneça os seguintes parâmetros de configuração:
- Nome do coletor: insira um nome significativo, por exemplo,
cloud-identity-devices-logs-sink. - Destino do coletor: selecione Cloud Storage e insira o URI do bucket. Por exemplo,
gs://gcp-cloudidentity-devices-logs/. Filtro de registros:
logName="projects/<your-project-id>/logs/cloudaudit.googleapis.com%2Factivity" resource.type="cloud_identity_device"Definir opções de exportação: inclua todas as entradas de registro.
- Nome do coletor: insira um nome significativo, por exemplo,
Clique em Criar.
Configurar permissões do Cloud Storage
- Acesse IAM e administrador > IAM.
- Localize a conta de serviço do Cloud Logging.
- Conceda o papel roles/storage.admin no bucket.
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
createTime |
entity.metadata.creation_timestamp |
O valor de createTime é analisado como um carimbo de data/hora e mapeado. |
deviceId |
entity.entity.asset.asset_id |
Mapeado diretamente. |
deviceType |
entity.entity.asset.platform_software.platform |
Mapeado para MAC se o valor original for MAC_OS ou IOS. Mapeado para WINDOWS, MAC ou LINUX se o valor original corresponder. Caso contrário, defina como UNKNOWN_PLATFORM. |
encryptionState |
entity.entity.asset.attribute.labels.key |
O valor é definido como encryptionState. Usado como parte de um rótulo. |
encryptionState |
entity.entity.asset.attribute.labels.value |
Mapeado diretamente. Usado como parte de um rótulo. |
lastSyncTime |
entity.entity.asset.system_last_update_time |
O valor de lastSyncTime é analisado como um carimbo de data/hora e mapeado. |
managementState |
entity.entity.asset.attribute.labels.key |
O valor é definido como managementState. Usado como parte de um rótulo. |
managementState |
entity.entity.asset.attribute.labels.value |
Mapeado diretamente. Usado como parte de um rótulo. |
model |
entity.entity.asset.hardware.model |
Mapeado diretamente. |
name |
entity.entity.asset.product_object_id |
A parte depois de devices/ é extraída e mapeada. |
name |
entity.entity.resource.name |
Mapeado diretamente. |
osVersion |
entity.entity.asset.platform_software.platform_version |
Mapeado diretamente. |
securityPatchTime |
entity.entity.asset.attribute.labels.key |
O valor é definido como securityPatchTime. Usado como parte de um rótulo. |
securityPatchTime |
entity.entity.asset.attribute.labels.value |
Mapeado diretamente. Usado como parte de um rótulo. |
serialNumber |
entity.entity.asset.hardware.serial_number |
Mapeado diretamente. Copiado do campo create_time de nível superior no registro bruto. O valor é definido como ASSET. O valor é definido como GCP Cloud Identity Devices. O valor é definido como Google Cloud Platform. Copiado do campo create_time de nível superior no registro bruto. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.