Coletar registros do Workday HCM
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
- Faça login no Workday com privilégios de administrador.
- Digite
Create Integration System User
na barra de pesquisa e selecione a tarefa nos resultados. - Digite um Nome de usuário.
- Defina uma senha.
- Defina Minutos de tempo limite da sessão como
0
para evitar que o ISU atinja o tempo limite. - Ative a opção Não permitir sessões da interface para aumentar a segurança restringindo os logins da UI.
- Acesse a tarefa Manter regras de senha.
- 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
- Digite
Create Security Group
na barra de pesquisa e selecione a tarefa nos resultados. - 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).
- Forneça um Nome para o grupo de segurança.
- Clique em OK.
- Clique em Editar no grupo de segurança recém-criado.
- Atribua o usuário do sistema de integração da etapa anterior ao grupo de segurança.
- Clique em Concluído.
Conceder acesso ao domínio para o grupo de segurança no Workday
- Digite Manter permissões para grupo de segurança na barra de pesquisa e selecione a tarefa nos resultados.
- Escolha o grupo de segurança que você criou na lista Grupo de segurança de origem para modificar as permissões.
- Clique em OK.
- Acesse Manter permissões para grupo de segurança > Permissões da política de segurança do domínio.
- Atribua as permissões necessárias para cada domínio, como operações GET.
- Clique em OK.
- Clique em Concluído para salvar as mudanças.
Ativar mudanças na política de segurança no Workday
- Digite
Activate Pending Security Policy Changes
na barra de pesquisa e selecione a tarefa nos resultados. - 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.
- Conclua a tarefa na próxima tela selecionando Confirmar e clique em OK.
Configurar o cliente de API para integrações
- Na barra de pesquisa, digite
Register API Client for Integrations
e selecione essa opção. - Clique em Criar.
- 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.
- Nome do cliente: insira um nome para o cliente da API (por exemplo,
- Selecione Salvar.
- Clique em OK para criar o cliente de API.
- 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
- Na barra de pesquisa do Workday, digite
Manage Refresh Tokens for Integrations
e selecione essa opção. - Clique em Gerar novo token de atualização.
- No campo Conta do Workday, pesquise e selecione o Usuário do sistema de integração que você criou.
- Selecione o usuário e clique em OK.
- Copie e salve o token de atualização mostrado.
Receber URLs de endpoint da API
- Na barra de pesquisa do Workday, digite
View API Clients
e selecione essa opção. - Em Clientes da API para integrações, localize o
Google SecOps Client
que você criou. - 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
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}"
Isso vai retornar um token de acesso (por exemplo,
"access_token": "abcd1234"
).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:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed (por exemplo,
Workday Logs
). - Selecione API de terceiros como o Tipo de origem.
- Selecione o tipo de registro Workday.
- Clique em Próxima.
- 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.
- Clique em Próxima.
- 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.