Carregue registos de atividade do Microsoft Azure

Compatível com:

Este documento descreve os passos necessários para carregar registos de atividade do Microsoft Azure (AZURE_ACTIVITY) para o Google Security Operations.

Configure uma conta de armazenamento

Conclua os passos seguintes para configurar uma conta de armazenamento:

  1. Na consola do Azure, pesquise Contas de armazenamento.
  2. Clique em Criar.
  3. Selecione a subscrição, o grupo de recursos, a região, o desempenho (recomendamos o Standard) e a redundância (recomendamos o GRS ou o LRS) necessários para a conta e introduza um nome para a nova conta de armazenamento.
  4. Clique em Rever + criar, reveja a vista geral da conta e clique em Criar.
  5. Na página Vista geral da conta de armazenamento, selecione Chaves de acesso na navegação do lado esquerdo da janela.
  6. Clique em Mostrar chaves e tome nota da chave partilhada da conta de armazenamento.
  7. Selecione Endpoints na navegação do lado esquerdo da janela.
  8. Tome nota do ponto final do serviço Blob. (https://<storageaccountname>.blob.core.windows.net/)

Configure o registo de atividade do Azure

Conclua os passos seguintes para configurar o registo de atividade do Azure:

  1. Na consola do Azure, pesquise Monitor.
  2. Clique no link Registo de atividade na navegação do lado esquerdo da página.
  3. Clique em Exportar registos de atividade na parte superior da janela.
  4. Clique em Adicionar definição de diagnóstico.
  5. Selecione todas as categorias que quer exportar para o Google SecOps.
  6. Em Detalhes do destino, selecione Arquivar numa conta de armazenamento.
  7. Selecione a subscrição e a conta de armazenamento que criou no passo anterior.
  8. Clique em Guardar.

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 atividade do Microsoft Azure

  1. Clique no pacote Plataforma Azure.
  2. Localize o Feed de atividade do Microsoft Azure.
  3. Especifique valores para os seguintes campos:

    • Source Type: Microsoft Azure Blob Storage V2
    • URI do Azure: introduza o valor do ponto final do serviço de blobs que registou anteriormente, com o sufixo insights-activity-logs (por exemplo, https://acme-azure-chronicle.blob.core.windows.net/insights-activity-logs)
    • Opção de eliminação da origem: especifique se pretende eliminar ficheiros e diretórios após a transferência.
    • Idade máxima do ficheiro: inclui ficheiros modificados no último número de dias. A predefinição é 180 dias.
    • Chave partilhada: introduza o valor da chave partilhada que capturou anteriormente.

    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.

Referência de mapeamento de campos

Este código do analisador inicializa primeiro um grande número de campos para strings vazias e, em seguida, executa uma série de manipulações de strings e operações de análise JSON para extrair informações relevantes da mensagem do registo de atividade do Azure. Por último, mapeia os dados extraídos para os campos do modelo de dados unificado (UDM), categorizando o tipo de evento e enriquecendo-o com detalhes adicionais, como a gravidade, as informações principais e os dados de rede.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
categoria read_only_udm.security_result.category_details Mapeado diretamente a partir do campo "category" no registo não processado.
callerIpAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Mapeado diretamente a partir do campo "callerIpAddress" no registo não processado.
correlationId read_only_udm.security_result.detection_fields.correlationId Mapeado diretamente a partir do campo "correlationId" no registo não processado.
data.callerIpAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Mapeado diretamente a partir do campo "callerIpAddress" no objeto "data" no registo não processado.
data.correlationId read_only_udm.security_result.detection_fields.correlationId Mapeado diretamente a partir do campo "correlationId" no objeto "data" no registo não processado.
data.DeploymentUnit read_only_udm.target.resource.name Mapeado diretamente a partir do campo "DeploymentUnit" no objeto "data" no registo não processado.
data.details read_only_udm.metadata.description Mapeado diretamente a partir do campo "details" no objeto "data" no registo não processado, apenas se o campo "details" não for "Unknown".
data.entity read_only_udm.additional.fields.entity Mapeado diretamente a partir do campo "entity" no objeto "data" no registo não processado.
data.EventName read_only_udm.metadata.product_event_type Mapeado diretamente a partir do campo "EventName" no objeto "data" no registo não processado.
data.hierarchy read_only_udm.additional.fields.hierarchy Mapeado diretamente a partir do campo "hierarchy" no objeto "data" no registo não processado.
data.identity.authorization.action read_only_udm.security_result.detection_fields.action Mapeado diretamente a partir do campo "action" no objeto "authorization" do objeto "identity" no registo não processado.
data.identity.authorization.evidence.principalId read_only_udm.principal.user.product_object_id, read_only_udm.principal.resource.product_object_id, read_only_udm.principal.group.product_object_id Mapeado diretamente a partir do campo "principalId" no objeto "evidence" do objeto "authorization" do objeto "identity" no registo não processado. O campo UDM específico ao qual é mapeado depende do valor do campo "principalType". Se "principalType" for "User" ou "ServicePrincipal", é mapeado para principal.user.product_object_id. Se "principalType" for "Group", é mapeado para principal.group.product_object_id. Se "principalType" for "ServicePrincipal", é mapeado para principal.resource.product_object_id.
data.identity.authorization.evidence.principalType read_only_udm.principal.resource.resource_subtype Mapeado diretamente a partir do campo "principalType" no objeto "evidence" do objeto "authorization" do objeto "identity" no registo não processado.
data.identity.authorization.evidence.role read_only_udm.principal.user.role_name Mapeado diretamente a partir do campo "role" no objeto "evidence" do objeto "authorization" do objeto "identity" no registo não processado.
data.identity.authorization.evidence.roleAssignmentId read_only_udm.principal.resource.attribute.labels.roleAssignmentId Mapeado diretamente a partir do campo "roleAssignmentId" no objeto "evidence" do objeto "authorization" do objeto "identity" no registo não processado.
data.identity.authorization.evidence.roleAssignmentScope read_only_udm.principal.resource.attribute.labels.roleAssignmentScope Mapeado diretamente a partir do campo "roleAssignmentScope" no objeto "evidence" do objeto "authorization" do objeto "identity" no registo não processado.
data.identity.authorization.evidence.roleDefinitionId read_only_udm.principal.resource.attribute.labels.roleDefinitionId Mapeado diretamente a partir do campo "roleDefinitionId" no objeto "evidence" do objeto "authorization" do objeto "identity" no registo não processado.
data.identity.authorization.scope read_only_udm.security_result.detection_fields.scope Mapeado diretamente a partir do campo "scope" no objeto "authorization" do objeto "identity" no registo não processado.
data.identity.claims.aio read_only_udm.security_result.detection_fields.aio Mapeado diretamente a partir do campo "aio" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.appid read_only_udm.security_result.detection_fields.appid Mapeado diretamente a partir do campo "appid" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.appidacr read_only_udm.security_result.detection_fields.appidacr Mapeado diretamente a partir do campo "appidacr" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.aud read_only_udm.security_result.detection_fields.aud Mapeado diretamente a partir do campo "aud" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.exp read_only_udm.security_result.detection_fields.exp Mapeado diretamente a partir do campo "exp" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.http://schemas.microsoft.com/identity/claims/identityprovider read_only_udm.security_result.detection_fields.identityprovider Mapeado diretamente a partir do campo "http://schemas.microsoft.com/identity/claims/identityprovider" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.http://schemas.microsoft.com/identity/claims/objectidentifier read_only_udm.security_result.detection_fields.objectidentifier Mapeado diretamente a partir do campo "http://schemas.microsoft.com/identity/claims/objectidentifier" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.http://schemas.microsoft.com/identity/claims/tenantid read_only_udm.security_result.detection_fields.tenantid Mapeado diretamente a partir do campo "http://schemas.microsoft.com/identity/claims/tenantid" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier read_only_udm.security_result.detection_fields.nameidentifier Mapeado diretamente do campo "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.iat read_only_udm.security_result.detection_fields.iat Mapeado diretamente a partir do campo "iat" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.iss read_only_udm.security_result.detection_fields.iss Mapeado diretamente a partir do campo "iss" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.nbf read_only_udm.security_result.detection_fields.nbf Mapeado diretamente a partir do campo "nbf" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.rh read_only_udm.security_result.detection_fields.rh Mapeado diretamente a partir do campo "rh" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.uti read_only_udm.security_result.detection_fields.uti Mapeado diretamente a partir do campo "uti" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.ver read_only_udm.security_result.detection_fields.ver Mapeado diretamente a partir do campo "ver" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.claims.xms_tcdt read_only_udm.security_result.detection_fields.xms_tcdt Mapeado diretamente a partir do campo "xms_tcdt" no objeto "claims" do objeto "identity" no registo não processado.
data.identity.UserName read_only_udm.principal.user.user_display_name Mapeado diretamente a partir do campo "UserName" no objeto "identity" no registo não processado.
data.level read_only_udm.security_result.severity, read_only_udm.security_result.severity_details Mapeado diretamente a partir do campo "level" no objeto "data" no registo não processado. O campo "level" também é usado para determinar o valor do campo severity. Se o "nível" for "Informações" ou "Informativo", severity é definido como "INFORMATIONAL". Se "level" for "Warning", severity é definido como "MEDIUM". Se "level" for "Error", severity é definido como "ERROR". Se "level" for "Critical", severity é definido como "CRITICAL".
data.location read_only_udm.target.location.name Mapeado diretamente a partir do campo "location" no objeto "data" no registo não processado.
data.operationName read_only_udm.metadata.product_event_type Mapeado diretamente a partir do campo "operationName" no objeto "data" no registo não processado.
data.properties.EventChannel read_only_udm.additional.fields.properties EventChannel Mapeado diretamente a partir do campo "EventChannel" no objeto "properties" do objeto "data" no registo não processado.
data.properties.EventSource read_only_udm.additional.fields.properties EventSource Mapeado diretamente a partir do campo "EventSource" no objeto "properties" do objeto "data" no registo não processado.
data.properties.EventId read_only_udm.metadata.product_log_id Mapeado diretamente a partir do campo "EventId" no objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.cause read_only_udm.security_result.detection_fields.cause Mapeado diretamente a partir do campo "cause" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.clientIPAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Mapeado diretamente a partir do campo "clientIPAddress" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.compromisedHost read_only_udm.principal.asset.hostname, read_only_udm.principal.hostname Mapeado diretamente a partir do campo "compromisedHost" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.currentHealthStatus read_only_udm.security_result.detection_fields.currentHealthStatus Mapeado diretamente a partir do campo "currentHealthStatus" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.previousHealthStatus read_only_udm.security_result.detection_fields.previousHealthStatus Mapeado diretamente a partir do campo "previousHealthStatus" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.type read_only_udm.security_result.detection_fields.type Mapeado diretamente a partir do campo "type" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.User read_only_udm.principal.user.userid Mapeado diretamente a partir do campo "User" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado.
data.properties.eventProperties.userName read_only_udm.principal.user.user_display_name Mapeado diretamente a partir do campo "userName" no objeto "eventProperties" do objeto "properties" do objeto "data" no registo não processado, após remover o prefixo "SECURE\".
data.properties.ipAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Mapeado diretamente a partir do campo "ipAddress" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacyChannels read_only_udm.security_result.detection_fields.legacyChannels Mapeado diretamente a partir do campo "legacyChannels" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacyEventDataId read_only_udm.security_result.detection_fields.legacyEventDataId Mapeado diretamente a partir do campo "legacyEventDataId" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacyResourceId read_only_udm.security_result.detection_fields.legacyResourceId Mapeado diretamente a partir do campo "legacyResourceId" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacyResourceGroup read_only_udm.security_result.detection_fields.legacyResourceGroup Mapeado diretamente a partir do campo "legacyResourceGroup" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacyResourceProviderName read_only_udm.security_result.detection_fields.legacyResourceProviderName Mapeado diretamente a partir do campo "legacyResourceProviderName" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacyResourceType read_only_udm.security_result.detection_fields.legacyResourceType Mapeado diretamente a partir do campo "legacyResourceType" no objeto "properties" do objeto "data" no registo não processado.
data.properties.legacySubscriptionId read_only_udm.security_result.detection_fields.legacySubscriptionId Mapeado diretamente a partir do campo "legacySubscriptionId" no objeto "properties" do objeto "data" no registo não processado.
data.properties.operationId read_only_udm.security_result.detection_fields.operationId Mapeado diretamente a partir do campo "operationId" no objeto "properties" do objeto "data" no registo não processado.
data.properties.result read_only_udm.security_result.action_details Mapeado diretamente a partir do campo "result" no objeto "properties" do objeto "data" no registo não processado.
data.properties.statusCode read_only_udm.network.http.response_code Mapeado diretamente a partir do campo "statusCode" no objeto "properties" do objeto "data" no registo não processado.
data.properties.suspiciousCommandLine read_only_udm.target.process.command_line Mapeado diretamente a partir do campo "suspiciousCommandLine" no objeto "properties" do objeto "data" no registo não processado.
data.properties.suspiciousProcess read_only_udm.target.process.file.full_path Mapeado diretamente a partir do campo "suspiciousProcess" no objeto "properties" do objeto "data" no registo não processado.
data.properties.suspiciousProcessId read_only_udm.target.process.pid Mapeado diretamente a partir do campo "suspiciousProcessId" no objeto "properties" do objeto "data" no registo não processado.
data.properties.tlsVersion read_only_udm.network.tls.version Mapeado diretamente a partir do campo "tlsVersion" no objeto "properties" do objeto "data" no registo não processado.
data.properties.userAgent read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent Mapeado diretamente a partir do campo "userAgent" no objeto "properties" do objeto "data" no registo não processado.
data.properties.userAgentHeader read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent Mapeado diretamente a partir do campo "userAgentHeader" no objeto "properties" do objeto "data" no registo não processado.
data.properties.userId read_only_udm.target.user.product_object_id Mapeado diretamente a partir do campo "userId" no objeto "properties" do objeto "data" no registo não processado.
data.ReleaseVersion read_only_udm.metadata.product_version Mapeado diretamente a partir do campo "ReleaseVersion" no objeto "data" no registo não processado.
data.resourceId read_only_udm.target.resource.name Mapeado diretamente a partir do campo "resourceId" no objeto "data" no registo não processado.
data.resourceType read_only_udm.additional.fields.resourceType Mapeado diretamente a partir do campo "resourceType" no objeto "data" no registo não processado.
data.resultDescription read_only_udm.metadata.description Mapeado diretamente a partir do campo "resultDescription" no objeto "data" no registo não processado.
data.resultSignature read_only_udm.additional.fields.resultSignature Mapeado diretamente a partir do campo "resultSignature" no objeto "data" no registo não processado.
data.resultType read_only_udm.security_result.action_details, read_only_udm.additional.fields.resultType Mapeado diretamente a partir do campo "resultType" no objeto "data" no registo não processado.
data.RoleLocation read_only_udm.target.location.name Mapeado diretamente a partir do campo "RoleLocation" no objeto "data" no registo não processado.
data.time read_only_udm.metadata.event_timestamp O campo "time" no objeto "data" no registo não processado é analisado para extrair a indicação de tempo, que é, em seguida, mapeada para event_timestamp.
data.uri read_only_udm.network.http.referral_url Mapeado diretamente a partir do campo "uri" no objeto "data" no registo não processado.
read_only_udm.extensions.auth.mechanism INTERACTIVE Definido como "INTERACTIVE" se o campo "isInteractive" no objeto "properties" do objeto "data" no registo não processado for "true". Caso contrário, é definido como "MECHANISM_OTHER".
read_only_udm.extensions.auth.type MACHINE Definido como "MACHINE" se o campo "category" no registo não processado for "NonInteractiveUserSignInLogs", "ManagedIdentitySignInLogs" ou "ServicePrincipalSignInLogs".
read_only_udm.metadata.log_type AZURE_ACTIVITY Codificado de forma rígida como "AZURE_ACTIVITY".
read_only_udm.metadata.vendor_name Microsoft Codificado de forma rígida para "Microsoft".
read_only_udm.principal.platform WINDOWS, MAC, LINUX, ANDROID Determinado com base no valor do campo "properties.test.deviceDetail.operatingSystem". Se contiver "Win", platform é definido como "WINDOWS". Se contiver "Mac", platform é definido como "MAC". Se contiver "Lin", platform é definido como "LINUX". Se contiver "Android", platform é definido como "ANDROID".
read_only_udm.principal.resource.type SERVICE_ACCOUNT, UNSPECIFIED Determinado com base no valor do campo "identity.authorization.evidence.principalType". Se for "ServicePrincipal", type é definido como "SERVICE_ACCOUNT". Caso contrário, é definido como "UNSPECIFIED".
read_only_udm.security_result.action ALLOW, BLOCK, UNKNOWN_ACTION Determinado com base nos valores dos campos "resultType", "status_errorcode" e "statusText". Se "resultType" for um de "Success", "success", "Succeeded", "Started", "Resolved", "Active", "Updated", "Start", "Accept", "Accepted", "0", ou se "status_errorcode" for 0, ou se "statusText" for "Success", action é definido como "ALLOW". Se "resultType" for "Failure", "Failed", se "status_errorcode" não estiver vazio ou se "resultType" não estiver vazio, action é definido como "BLOCK". Caso contrário, é definido como "UNKNOWN_ACTION".
read_only_udm.target.cloud.environment MICROSOFT_AZURE Codificado de forma rígida como "MICROSOFT_AZURE".