Coletar registros do Workday HCM

Compatível com:

Este documento explica como ingerir registros do Workday no Google Security Operations usando a API. O analisador extrai dados de usuários do Workday HCM de registros formatados em JSON. Ele processa várias transformações de dados, incluindo renomeação de campos, fusão de objetos aninhados, análise de datas e preenchimento de campos da UDM para atributos do usuário, detalhes de emprego e estrutura organizacional. Além disso, ele inclui tratamento de erros para JSON malformado e campos críticos ausentes.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google SecOps.
  • Acesso privilegiado ao Workday.

Configurar a autenticação da API do Workday

Criar um usuário do sistema de integração (ISU, na sigla em inglês) no Workday

  1. Faça login no Workday com privilégios de administrador.
  2. Digite Create Integration System User na barra de pesquisa e selecione a tarefa nos resultados.
  3. Digite um Nome de usuário.
  4. Defina uma senha.
  5. Defina Minutos de tempo limite da sessão como 0 para evitar que o ISU atinja o tempo limite.
  6. Ative a opção Não permitir sessões da interface para aumentar a segurança restringindo os logins da UI.
  7. Acesse a tarefa Manter regras de senha.
  8. Adicione o usuário do sistema de integração ao campo Usuários do sistema isentos de expiração de senha.

Criar um grupo de segurança de integração no Workday

  1. Digite Create Security Group na barra de pesquisa e selecione a tarefa nos resultados.
  2. Localize o campo Tipo de grupo de segurança locatário e selecione Grupo de segurança do sistema de integração (sem restrições).
  3. Forneça um Nome para o grupo de segurança.
  4. Clique em OK.
  5. Clique em Editar no grupo de segurança recém-criado.
  6. Atribua o usuário do sistema de integração da etapa anterior ao grupo de segurança.
  7. Clique em Concluído.

Conceder acesso ao domínio para o grupo de segurança no Workday

  1. Digite Manter permissões para grupo de segurança na barra de pesquisa e selecione a tarefa nos resultados.
  2. Escolha o grupo de segurança que você criou na lista Grupo de segurança de origem para modificar as permissões.
  3. Clique em OK.
  4. Acesse Manter permissões para grupo de segurança > Permissões da política de segurança do domínio.
  5. Atribua as permissões necessárias para cada domínio, como operações GET.
  6. Clique em OK.
  7. Clique em Concluído para salvar as mudanças.

Ativar mudanças na política de segurança no Workday

  1. Digite Activate Pending Security Policy Changes na barra de pesquisa e selecione a tarefa nos resultados.
  2. Inicie a tarefa Ativar mudanças pendentes na política de segurança inserindo um motivo para sua auditoria no campo de comentários e clique em OK.
  3. Conclua a tarefa na próxima tela selecionando Confirmar e clique em OK.

Configurar o cliente de API para integrações

  1. Na barra de pesquisa, digite Register API Client for Integrations e selecione essa opção.
  2. Clique em Criar.
  3. Forneça os seguintes detalhes de configuração:
    • Nome do cliente: insira um nome para o cliente da API (por exemplo, Google SecOps Client).
    • Usuário do sistema: selecione o Usuário do sistema de integração que você criou na etapa anterior.
    • Escopo: selecione a API HCM ou o escopo relevante que inclui os dados do trabalhador e outras áreas que você está acessando.
  4. Selecione Salvar.
  5. Clique em OK para criar o cliente de API.
  6. Depois de criar o cliente de API, salve a chave secreta do cliente. Ele não será exibido novamente depois que você sair da página.

Gerar token de atualização do OAuth 2.0

  1. Na barra de pesquisa do Workday, digite Manage Refresh Tokens for Integrations e selecione essa opção.
  2. Clique em Gerar novo token de atualização.
  3. No campo Conta do Workday, pesquise e selecione o Usuário do sistema de integração que você criou.
  4. Selecione o usuário e clique em OK.
  5. Copie e salve o token de atualização mostrado.

Receber URLs de endpoint da API

  1. Na barra de pesquisa do Workday, digite View API Clients e selecione essa opção.
  2. Em Clientes da API para integrações, localize o Google SecOps Client que você criou.
  3. Copie e salve os seguintes detalhes:
    • Endpoint do token: o URL para onde você vai enviar uma solicitação para receber um token de acesso.
    • Ponto de extremidade da API REST do Workday: o URL que você vai usar para configurar a integração com o Google SecOps.

Gerar token de acesso do OAuth

  1. Use curl ou um cliente HTTP semelhante para enviar uma solicitação POST ao endpoint de token:

    curl -X POST "https://{hostname}/ccx/oauth2/token" \
        -d "grant_type=refresh_token" \
        -d "client_id={your_client_id}" \
        -d "client_secret={your_client_secret}" \
        -d "refresh_token={your_refresh_token}"
    
  2. Isso vai retornar um token de acesso (por exemplo, "access_token": "abcd1234").

  3. Copie e salve o token de acesso.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em "Configurações do SIEM" > "Feeds".

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, Workday Logs).
  5. Selecione API de terceiros como o Tipo de origem.
  6. Selecione o tipo de registro Workday.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:
    • Nome do host da API: o URL do endpoint da API REST do Workday.
    • Locatário: o último elemento do caminho do endpoint de API do Workday que identifica sua instância.
    • Token de acesso: token de acesso do OAuth.
  9. Clique em Próxima.
  10. Revise a configuração do feed na tela Finalizar e clique em Enviar.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Nome do host da API: o FQDN do endpoint de API REST do Workday.
  • Locatário: o último elemento do caminho do endpoint de API do Workday que identifica sua instância.
  • Token de acesso: token de acesso do OAuth.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
@timestamp read_only_udm.metadata.event_timestamp.seconds O campo @timestamp do registro bruto é renomeado para timestamp e analisado como um carimbo de data/hora em segundos desde o período.
businessTitle read_only_udm.entity.entity.user.title Mapeado diretamente do campo businessTitle no registro bruto.
descriptor read_only_udm.entity.entity.user.user_display_name Mapeado diretamente do campo descriptor no registro bruto.
Employee_ID read_only_udm.entity.entity.user.employee_id Mapeado diretamente do campo Employee_ID no registro bruto.
Employee_ID read_only_udm.entity.metadata.product_entity_id Mapeado diretamente do campo Employee_ID no registro bruto quando id não está presente.
gopher-supervisor.descriptor read_only_udm.entity.entity.user.managers.user_display_name Mapeado diretamente do campo gopher-supervisor.descriptor no registro bruto, renomeado como empmanager.user_display_name e mesclado em managers.
gopher-supervisor.id read_only_udm.entity.entity.user.managers.product_object_id Mapeado diretamente do campo gopher-supervisor.id no registro bruto, renomeado como empmanager.product_object_id e mesclado em managers.
gopher-supervisor.primaryWorkEmail read_only_udm.entity.entity.user.managers.email_addresses Mapeado diretamente do campo gopher-supervisor.primaryWorkEmail no registro bruto e mesclado em managers.
gopher-time-off.date read_only_udm.entity.entity.user.time_off.interval.start_time Analisado como uma data do campo gopher-time-off.date na matriz gopher-time-off no registro bruto.
gopher-time-off.descriptor read_only_udm.entity.entity.user.time_off.description Mapeado diretamente do campo gopher-time-off.descriptor na matriz gopher-time-off no registro bruto.
Hire_Date read_only_udm.entity.entity.user.hire_date Analisado como uma data do campo Hire_Date no registro bruto.
id read_only_udm.entity.metadata.product_entity_id Mapeado diretamente do campo id no registro bruto, quando presente.
Job_Profile read_only_udm.entity.entity.user.title Mapeado diretamente do campo Job_Profile no registro bruto quando businessTitle não está presente.
Legal_Name_First_Name read_only_udm.entity.entity.user.first_name Mapeado diretamente do campo Legal_Name_First_Name no registro bruto.
Legal_Name_Last_Name read_only_udm.entity.entity.user.last_name Mapeado diretamente do campo Legal_Name_Last_Name no registro bruto.
location.descriptor read_only_udm.entity.entity.location.city Mapeado diretamente do campo location.descriptor no registro bruto, renomeado para _location.city e depois para entity.entity.location.city.
primarySupervisoryOrganization.descriptor read_only_udm.entity.entity.user.department Mapeado diretamente do campo primarySupervisoryOrganization.descriptor no registro bruto.
primaryWorkEmail read_only_udm.entity.entity.user.email_addresses Mapeado diretamente do campo primaryWorkEmail no registro bruto.
primaryWorkPhone read_only_udm.entity.entity.user.phone_numbers Mapeado diretamente do campo primaryWorkPhone no registro bruto.
Termination_Date read_only_udm.entity.entity.user.termination_date Analisado como uma data do campo Termination_Date no registro bruto.
Work_Email read_only_udm.entity.entity.user.email_addresses Mapeado diretamente do campo Work_Email no registro bruto quando primaryWorkEmail não está presente.
collection_time read_only_udm.metadata.event_timestamp.collected_timestamp O collection_time do registro é mapeado para collected_timestamp.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.