Coletar registros do Gerenciamento de APIs do Azure

Versão do analisador:1.0

Compatível com:

Este documento explica como criar um feed do Hub de Eventos do Azure para ingerir registros do Azure API Management no Google Security Operations.

O Azure API Management é uma plataforma de gerenciamento híbrida e multicloud para APIs em todos os ambientes. Ela ajuda as organizações a publicar APIs para desenvolvedores externos, parceiros e internos, liberando o potencial dos dados e serviços. O gerenciamento de API oferece ferramentas para descoberta de API, funcionalidade de gateway, políticas de segurança, análise e engajamento de desenvolvedores. Os registros de diagnóstico capturam informações detalhadas sobre as operações do gateway de API, incluindo solicitações, respostas e erros.

Antes de começar

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

  • Uma instância do Google SecOps
  • Acesso privilegiado ao portal do Microsoft Azure com permissões para:
    • Criar namespaces dos Hubs de Eventos
    • Criar hubs de eventos
    • Configurar as configurações de diagnóstico para o gerenciamento de APIs do Azure
    • Gerenciar políticas de acesso
  • Uma instância do serviço de gerenciamento de APIs do Azure

Criar namespace do Hub de Eventos

Um namespace dos Hubs de Eventos é um contêiner de gerenciamento para um ou mais Hubs de Eventos.

  1. No portal do Azure, pesquise Hubs de Eventos.
  2. Clique em Criar.
  3. Informe os seguintes detalhes de configuração:

    Configuração Valor
    Assinatura Selecione sua assinatura do Azure
    Grupo de recursos Selecionar ou criar
    Nome do namespace Insira um nome exclusivo (por exemplo, secops-apim-eventhub).
    Local Selecione a região (por exemplo, East US).
    Nível de preços Padrão (recomendado para produção)
    Unidades de capacidade de processamento Comece com 1 e ative o recurso de expansão automática (recomendado)
  4. Clique em Revisar + criar.

  5. Revise a visão geral e clique em Criar.

  6. Aguarde a conclusão da implantação (1 a 2 minutos).

Criar Hub de Eventos

  1. Depois que o namespace for implantado, acesse o namespace do Hub de Eventos.
  2. Na navegação à esquerda, selecione Hubs de eventos em Entidades.
  3. Clique em + Hub de eventos.
  4. Informe os seguintes detalhes de configuração:

    Configuração Valor
    Nome Insira um nome exclusivo (por exemplo, apim-logs).
    Contagem de partições 40 (recomendado para escalonamento ideal do Google SecOps)
    Retenção de mensagens 7 dias (mínimo recomendado)
    Capturar Desativado (não é necessário para o Google SecOps)
  5. Clique em Criar.

Receber a string de conexão do Hub de Eventos

O Google SecOps exige uma string de conexão para autenticar o Hub de eventos.

  1. Acesse o namespace do Hub de Eventos.
  2. Na navegação à esquerda, selecione Políticas de acesso compartilhado em Configurações.
  3. Clique na política padrão RootManageSharedAccessKey.
  4. Copie a String de conexão – chave primária.
  5. Salve essa string de conexão com segurança.
  • Exemplo:

    Original: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==;EntityPath=apim-logs
    
    Remove EntityPath: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==
    

Opção B: string de conexão no nível do Hub de Eventos

  1. Acesse o Hub de Eventos (não o namespace).
  2. Na navegação à esquerda, selecione Políticas de acesso compartilhado em Configurações.
  3. Clique em + Adicionar para criar uma política.
  4. Informe os seguintes detalhes de configuração:
    • Nome da política: insira um nome descritivo (por exemplo, chronicle-read).
    • Permissões: selecione Ouvir somente (acesso somente leitura).
  5. Clique em Criar.
  6. Clique na política recém-criada.
  7. Copie a String de conexão – chave primária.
  8. Salve essa string de conexão com segurança.

Configurar o gerenciamento de APIs do Azure para transmitir para o Hub de Eventos

  1. No portal do Azure, pesquise Serviços de gerenciamento de API.
  2. Selecione a instância do serviço de gerenciamento de API.
  3. Na navegação à esquerda, selecione Configurações de diagnóstico em Monitoring.
  4. Clique em + Adicionar configuração de diagnóstico.
  5. Informe os seguintes detalhes de configuração:
    • Nome da configuração de diagnóstico: insira um nome descritivo (por exemplo, apim-to-secops).
    • Na seção Registros, selecione as seguintes categorias:
      • GatewayLogs: registros de solicitação e resposta do gateway de API.
      • WebSocketConnectionLogs: registros de conexão WebSocket (se aplicável)
      • DeveloperPortalAuditLogs: registros de auditoria do portal do desenvolvedor (se aplicável)
      • GatewayLlmLogs: registros do gateway de IA generativa (se aplicável)
      • GatewayMCPLogs: registros do servidor do Protocolo de Contexto de Modelo (MCP), se aplicável.
    • Na seção Detalhes do destino, marque a caixa de seleção Transmitir para um hub de eventos.
    • Assinatura: selecione a assinatura que contém o namespace do Hub de Eventos.
    • Namespace do hub de eventos: selecione o namespace que você criou anteriormente (por exemplo, secops-apim-eventhub).
    • Nome do hub de eventos: selecione o hub de eventos que você criou (por exemplo, apim-logs).
    • Nome da política do hub de eventos: selecione RootManageSharedAccessKey ou uma política personalizada com permissões de envio.
  6. Clique em Salvar.

(Opcional) Configurar o Azure Blob Storage para criação de pontos de verificação

O Google SecOps pode usar o Armazenamento de Blobs do Azure para armazenar pontos de verificação do Hub de Eventos, que rastreiam quais eventos foram processados. Isso evita a ingestão duplicada se o feed for interrompido temporariamente.

Criar uma conta de armazenamento para checkpointing

  1. No portal do Azure, pesquise Contas de armazenamento.
  2. Clique em Criar.
  3. Informe os seguintes detalhes de configuração:

    Configuração Valor
    Assinatura Selecione sua assinatura do Azure
    Grupo de recursos Use o mesmo grupo de recursos que o Hub de Eventos
    Nome da conta de armazenamento Insira um nome exclusivo (por exemplo, secopsapimcheckpoint).
    Região A mesma região do Hub de Eventos
    Desempenho Padrão
    Redundância LRS (armazenamento com redundância local)
  4. Clique em Revisar + criar.

  5. Clique em Criar.

Criar contêiner de blob

  1. Acesse a conta de armazenamento que você acabou de criar.
  2. Na navegação à esquerda, selecione Contêineres em Armazenamento de dados.
  3. Clique em + Contêiner.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira checkpoints.
    • Nível de acesso público: particular (sem acesso anônimo)
  5. Clique em Criar.

Receber credenciais da conta de armazenamento

  1. Na conta de armazenamento, selecione Chaves de acesso em Segurança + rede.
  2. Clique em Mostrar chaves.
  3. Copie e salve:
    • Nome da conta de armazenamento: o nome da sua conta de armazenamento.
    • Chave 1: o valor da chave de acesso

Você vai fornecer esses valores ao criar o feed do Google SecOps.

(Opcional) Criar um grupo de consumidores dedicado

Por padrão, o Hub de Eventos fornece um grupo de consumidores chamado $Default. Para ambientes de produção, recomendamos criar um grupo de consumidores dedicado para o Google SecOps.

  1. Acesse o Hub de Eventos (não o namespace).
  2. Na navegação à esquerda, selecione Grupos de consumidores em Entidades.
  3. Clique em + Grupo de consumidores.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo, por exemplo, chronicle.
  5. Clique em Criar.

Configurar um feed no Google SecOps para ingerir registros do Azure API Management

  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, Azure API Management Logs).
  5. Selecione Hub de eventos do Microsoft Azure como o Tipo de origem.
  6. Selecione Gerenciamento de APIs do Azure como o Tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • String de conexão do hub de eventos: insira a string de conexão do hub de eventos que você capturou anteriormente.

    • Se você estiver usando uma string de conexão no nível do namespace:

      • Remova o parâmetro EntityPath.
      • Você também precisa fornecer o Nome do hub de eventos no próximo campo.
    • Se estiver usando uma string de conexão no nível do hub de eventos:

      • Use a string de conexão como está (inclui EntityPath)
      • O campo Nome do hub de eventos pode ser deixado em branco.
    • Nome do hub de eventos: insira o nome do hub de eventos (por exemplo, apim-logs).

      • Obrigatório se você estiver usando uma string de conexão no nível do namespace.
      • Opcional se você estiver usando uma string de conexão no nível do hub de eventos.
    • Grupo de consumidores (opcional): insira o nome do grupo.

      • Deixe em branco para usar o grupo de consumidores padrão $Default.
      • Se você criou um grupo de consumidores dedicado, insira o nome dele (por exemplo, chronicle).
    • Nome do contêiner do Armazenamento de Blobs (opcional): para fazer checkpointing, insira o nome do contêiner (por exemplo, checkpoints).

    Se você estiver fornecendo armazenamento de blobs para checkpointing:

    • Nome da conta de armazenamento do Azure: insira o nome da conta de armazenamento da configuração de checkpoint.
    • Chave da conta de armazenamento do Azure: insira a chave de acesso da configuração de checkpoint.

    • Namespace do recurso: o namespace do recurso

    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed

  9. Clique em Próxima.

  10. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Para mais informações sobre feeds do Google SecOps, consulte a documentação de feeds do Google SecOps.

Tabela de mapeamento de UDM

Campo de registro Mapeamento do UDM Lógica
Level_label additional.fields Mesclado
Sku_label additional.fields Mesclado
apiId_label additional.fields Mesclado
apiRevision_label additional.fields Mesclado
apimSubscriptionId_label additional.fields Mesclado
backendMethod_label additional.fields Mesclado
backendProtocol_label additional.fields Mesclado
backendResponseCode_label additional.fields Mesclado
backendTime_label additional.fields Mesclado
cache_label additional.fields Mesclado
clientProtocol_label additional.fields Mesclado
durationMs_label additional.fields Mesclado
eventName_label additional.fields Mesclado
eventid_label additional.fields Mesclado
functionInvocationId_label additional.fields Mesclado
functionName_label additional.fields Mesclado
hostInstanceId_label additional.fields Mesclado
hostVersion_label additional.fields Mesclado
isRequestSuccess_label additional.fields Mesclado
operationId_label additional.fields Mesclado
productId_label additional.fields Mesclado
properties.message metadata.description Mapeado diretamente
time metadata.event_timestamp Analisado como ISO8601
has_principal metadata.event_type Mapeado: trueSTATUS_UPDATE
operationName metadata.product_event_type Mapeado diretamente
DeploymentVersion metadata.product_version Mapeado diretamente
properties.method network.http.method Mapeado diretamente
properties.responseCode network.http.response_code Mapeado diretamente
properties.responseSize network.received_bytes Mapeado diretamente
properties.requestSize network.sent_bytes Mapeado diretamente
correlationId network.session_id Mapeado diretamente
properties.clientTlsCipherSuite network.tls.cipher Mapeado diretamente
properties.clientTlsVersion network.tls.version Mapeado diretamente
callerIpAddress principal.asset.ip Mesclado
callerIpAddress principal.ip Mesclado
location principal.location.name Mapeado diretamente
properties.url principal.url Mapeado diretamente
properties.userId principal.user.userid Mapeado diretamente
action security_result.action Mesclado
resultType security_result.action Mapeado: Succeededaction
category security_result.category_details Mesclado
properties.category security_result.category_details Mesclado
level security_result.severity Mapeado diretamente
resultType security_result.summary Mapeado diretamente
properties.appName target.application Mapeado diretamente
properties.processId target.process.pid Mapeado diretamente
roleInstance_label target.resource.attribute.labels Mesclado
resourceId target.resource.product_object_id Mapeado diretamente
properties.backendUrl target.url Mapeado diretamente
N/A metadata.event_type Constante: GENERIC_EVENT
N/A metadata.product_name Constante: AZURE API MANAGEMENT
N/A metadata.vendor_name Constante: AZURE_API_MANAGEMENT
N/A network.tls.version_protocol Constante: HTTP

Registro de alterações

Ver o registro de alterações deste analisador

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