Recolha registos de início de sessão do Azure AD

Compatível com:

Este documento explica como exportar registos de início de sessão do Azure AD para o Google Security Operations através de uma conta de armazenamento do Azure. O analisador sintático usa registos não processados no formato JSON e transforma-os num formato estruturado em conformidade com o modelo de dados unificado (UDM). Extrai campos relevantes, normaliza valores, processa diferentes datas/horas e enriquece os dados com contexto relacionado com a segurança, como informações do utilizador, endereços IP e políticas de acesso condicional.

Antes de começar

Certifique-se de que cumpre os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Um inquilino do Azure ativo
  • Acesso privilegiado ao Azure

Configure a conta de armazenamento do Azure

  1. Na consola do Azure, pesquise Contas de armazenamento.
  2. Clique em + Criar.
  3. Especifique valores para os seguintes parâmetros de entrada:
    • Subscrição: selecione a subscrição.
    • Grupo de recursos: selecione o grupo de recursos.
    • Região: selecione a região.
    • Desempenho: selecione o desempenho (padrão recomendado).
    • Redundância: selecione a redundância (GRS ou LRS recomendado).
    • Nome da conta de armazenamento: introduza um nome para a nova conta de armazenamento.
  4. Clique em Rever + criar.
  5. Reveja a vista geral da conta e clique em Criar.
  6. Na página Vista geral da conta de armazenamento, selecione o submenu Chaves de acesso em Segurança + rede.
  7. Clique em Mostrar junto a key1 ou key2.
  8. Clique em Copiar para a área de transferência para copiar a chave.
  9. Guarde a chave num local seguro para utilização posterior.
  10. Na página Vista geral da conta de armazenamento, selecione o submenu Pontos finais em Definições.
  11. Clique em Copiar para a área de transferência para copiar o URL do ponto final do serviço Blob; por exemplo, https://<storageaccountname>.blob.core.windows.net.
  12. Guarde o URL do ponto final numa localização segura para utilização posterior.

Como configurar a exportação de registos para registos de início de sessão do Azure AD

  1. Inicie sessão no Portal do Azure com a sua conta privilegiada.
  2. Aceda a Microsoft Entra ID > Monitorização > Definições de diagnóstico.
  3. Clique em Adicionar definição de diagnóstico.
    • Introduza um nome descritivo para a definição de diagnóstico.
  4. Selecione Registos de início de sessão.
  5. Selecione a caixa de verificação Arquivar numa conta de armazenamento como destino.
    • Especifique a Subscrição e a Conta de armazenamento.

Configure feeds

Existem dois pontos de entrada diferentes para configurar feeds na plataforma Google SecOps:

  • Definições do SIEM > Feeds > Adicionar novo
  • Content Hub > Pacotes de conteúdo > Começar

Como configurar o feed de início de sessão do Azure AD

  1. Clique no pacote Plataforma Azure.
  2. Localize o tipo de registo Início de sessão do Azure AD.
  3. Especifique valores para os seguintes campos:

    • Source Type: Microsoft Azure Blob Storage V2.
    • URI do Azure: o URL do ponto final do blob.
      • ENDPOINT_URL/BLOB_NAME
        • Substitua o seguinte:
          • ENDPOINT_URL: o URL do ponto final do blob (https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME: o nome do blob (por exemplo, insights-logs-<logname>)
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com as suas preferências de carregamento.

    • Idade máxima do ficheiro: ficheiros modificados no último número de dias. A predefinição é 180 dias.

    • Chave partilhada: a chave de acesso ao armazenamento de blobs do Azure.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Espaço de nomes do recurso: espaço de nomes associado ao feed.
    • Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
  4. Clique em Criar feed.

Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do UDM Lógica
AppDisplayName read_only_udm.target.application Mapeado diretamente a partir do campo AppDisplayName no registo não processado.
AppId read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo AppId no registo não processado. A tecla está definida como appId.
Categoria read_only_udm.security_result.category_details Mapeado diretamente a partir do campo Category no registo não processado.
ConditionalAccessPolicies[].displayName read_only_udm.security_result.rule_name Mapeado diretamente a partir do campo displayName na matriz ConditionalAccessPolicies no registo não processado.
ConditionalAccessPolicies[].enforcedGrantControls[] read_only_udm.security_result.rule_labels.value Mapeado diretamente a partir da matriz enforcedGrantControls na matriz ConditionalAccessPolicies no registo não processado. A tecla está definida como applied_conditional_access_policies_enforced_grant_controls.
ConditionalAccessPolicies[].enforcedSessionControls[] read_only_udm.security_result.rule_labels.value Mapeado diretamente a partir da matriz enforcedSessionControls na matriz ConditionalAccessPolicies no registo não processado. A tecla está definida como applied_conditional_access_policies_enforced_session_controls.
ConditionalAccessPolicies[].id read_only_udm.security_result.rule_id Mapeado diretamente a partir do campo id na matriz ConditionalAccessPolicies no registo não processado.
ConditionalAccessPolicies[].Result read_only_udm.security_result.rule_labels.value Mapeado diretamente a partir do campo Result na matriz ConditionalAccessPolicies no registo não processado. A tecla está definida como applied_conditional_access_policies_result.
ConditionalAccessStatus read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo ConditionalAccessStatus no registo não processado. A tecla está definida como conditionalAccessStatus.
CorrelationId read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo CorrelationId no registo não processado. A tecla está definida como correlationId.
DurationMs read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo DurationMs no registo não processado. A tecla está definida como durationMs.
HomeTenantId read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo HomeTenantId no registo não processado. A tecla está definida como HomeTenantId.
IPAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Mapeado diretamente a partir do campo IPAddress no registo não processado.
ID read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo Id no registo não processado. A tecla está definida como id.
Identidade read_only_udm.target.resource.attribute.labels.value Mapeado diretamente a partir do campo Identity no registo não processado. A tecla está definida como identity.
Nível read_only_udm.security_result.severity, read_only_udm.security_result.severity_details Mapeado diretamente a partir do campo Level no registo não processado. A gravidade é determinada com base no valor de Level: Information, Informational, 0 ou 4 é mapeado para INFORMATIONAL; Warning, 1 ou 3 é mapeado para MEDIUM; Error ou 2 é mapeado para ERROR; Critical é mapeado para CRITICAL.
OperationName read_only_udm.metadata.product_event_type Mapeado diretamente a partir do campo OperationName no registo não processado.
ResourceGroup read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo ResourceGroup no registo não processado. A tecla está definida como ResourceGroup.
ResultSignature read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo ResultSignature no registo não processado. A tecla está definida como resultSignature.
ResultType read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo ResultType no registo não processado. A tecla está definida como resultType.
TenantId read_only_udm.metadata.product_deployment_id Mapeado diretamente a partir do campo TenantId no registo não processado.
TimeGenerated read_only_udm.metadata.event_timestamp.seconds, read_only_udm.metadata.event_timestamp.nanos Mapeado diretamente a partir do campo TimeGenerated no registo não processado. O campo é analisado como uma data/hora e usado para preencher os campos seconds e nanos.
TokenIssuerType read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo TokenIssuerType no registo não processado. A tecla está definida como TokenIssuerType.
UniqueTokenIdentifier read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo UniqueTokenIdentifier no registo não processado. A tecla está definida como UniqueTokenIdentifier.
UserAgent read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent Mapeado diretamente a partir do campo UserAgent no registo não processado. O campo é analisado como uma string de agente do utilizador e usado para preencher o objeto parsed_user_agent.
UserDisplayName read_only_udm.target.user.user_display_name Mapeado diretamente a partir do campo UserDisplayName no registo não processado.
Id do utilizador read_only_udm.target.user.userid Mapeado diretamente a partir do campo UserId no registo não processado.
UserPrincipalName read_only_udm.target.user.email_addresses Mapeado diretamente a partir do campo UserPrincipalName no registo não processado, mas apenas se corresponder ao padrão de endereço de email.
UserType read_only_udm.target.user.attribute.roles.name Mapeado diretamente a partir do campo UserType no registo não processado.
_Internal_WorkspaceResourceId read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo _Internal_WorkspaceResourceId no registo não processado. A tecla está definida como Internal_WorkspaceResourceId.
_ItemId read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo _ItemId no registo não processado. A tecla está definida como ItemId.
properties.appId read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo appId no objeto properties no registo não processado. A tecla está definida como appId.
properties.authenticationDetails[].authenticationMethod read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo authenticationMethod na matriz authenticationDetails no registo não processado. A tecla está definida como authenticationMethod.
properties.authenticationDetails[].authenticationMethodDetail read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo authenticationMethodDetail na matriz authenticationDetails no registo não processado. A tecla está definida como authenticationMethodDetail.
properties.authenticationDetails[].authenticationStepDateTime read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo authenticationStepDateTime na matriz authenticationDetails no registo não processado. A tecla está definida como authenticationStepDateTime.
properties.authenticationDetails[].authenticationStepRequirement read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo authenticationStepRequirement na matriz authenticationDetails no registo não processado. A tecla está definida como authenticationStepRequirement.
properties.authenticationDetails[].authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo authenticationStepResultDetail na matriz authenticationDetails no registo não processado. A tecla está definida como authenticationStepResultDetail.
properties.authenticationDetails[].succeeded read_only_udm.security_result.action, read_only_udm.security_result.action_details Mapeado diretamente a partir do campo succeeded na matriz authenticationDetails no registo não processado. Se o valor for true, a ação é definida como ALLOW; caso contrário, é definida como BLOCK.
properties.conditionalAccessStatus read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo conditionalAccessStatus no objeto properties no registo não processado. A tecla está definida como conditionalAccessStatus.
properties.id read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo id no objeto properties no registo não processado. A tecla está definida como id.
properties.status.errorCode read_only_udm.security_result.action Se o valor for 0, a ação é definida como ALLOW; caso contrário, é definida como BLOCK.
properties.userId read_only_udm.target.user.userid Mapeado diretamente a partir do campo userId no objeto properties no registo não processado.
properties.userPrincipalName read_only_udm.target.user.email_addresses Mapeado diretamente a partir do campo userPrincipalName no objeto properties no registo não processado, mas apenas se corresponder ao padrão de endereço de email.
resourceId read_only_udm.target.resource.name Mapeado diretamente a partir do campo resourceId no registo não processado.
tempo read_only_udm.metadata.event_timestamp.seconds, read_only_udm.metadata.event_timestamp.nanos Mapeado diretamente a partir do campo time no registo não processado. O campo é analisado como uma data/hora e usado para preencher os campos seconds e nanos.
read_only_udm.extensions.auth.type O valor é definido como AUTHTYPE_UNSPECIFIED.
read_only_udm.metadata.event_type O valor é determinado com base na presença dos campos principal.ip e target.user.userid: se ambos estiverem presentes, o tipo é definido como USER_LOGIN; se apenas principal.ip estiver presente, o tipo é definido como STATUS_UPDATE; caso contrário, é definido como GENERIC_EVENT.

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