Coletar registros de 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 Gerenciamento de APIs do Azure no Google Security Operations.

O Gerenciamento de APIs do Azure é uma plataforma de gerenciamento híbrida e multicloud para APIs em todos os ambientes. Ele ajuda as organizações a publicar APIs para desenvolvedores externos, parceiros e internos, liberando o potencial dos dados e serviços. O gerenciamento de APIs oferece ferramentas para descoberta de APIs, 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 de Hubs de Eventos
    • Criar hubs de eventos
    • Definir as configurações de diagnóstico para o gerenciamento de APIs do Azure
    • Gerenciar políticas de acesso
  • Uma instância de serviço de gerenciamento de APIs do Azure

Criar namespace do Hub de Eventos

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

  1. No portal do Azure, pesquise por 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 uma existente ou criar uma nova
    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ço Standard (recomendado para produção)
    Unidades de capacidade de processamento Comece com 1 e ative o inflamento automático (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. No menu de navegação à esquerda, selecione Hubs de eventos em Entidades.
  3. Clique em + Event Hub.
  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 o escalonamento ideal do Google SecOps)
    Retenção de mensagens 7 dias (mínimo recomendado)
    Captura 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 requer uma string de conexão para autenticar no 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 chave primária da string de conexão.
  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 nova 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 Somente ouvir (acesso somente leitura).
  5. Clique em Criar.
  6. Clique na política recém-criada.
  7. Copie a chave primária da string de conexão.
  8. Salve essa string de conexão com segurança.

Configurar o gerenciamento de APIs do Azure para fazer streaming para o Hub de Eventos

  1. No portal do Azure, pesquise Serviços de gerenciamento de APIs.
  2. Selecione a instância do serviço de gerenciamento de APIs.
  3. No menu de navegação à esquerda, selecione Configurações de diagnóstico em Monitoramento.
  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 do 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 checkpoints

O Google SecOps pode usar o Armazenamento de Blobs do Azure para armazenar checkpoints 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 checkpoints

  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 do hub de eventos.
    Nome da conta de armazenamento Insira um nome exclusivo (por exemplo, secopsapimcheckpoint).
    Região 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. No menu de navegação à esquerda, selecione Contêineres em Repositório 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 Gerenciamento de APIs do Azure

  1. Acesse Configurações > Gerenciamento de dados > Feeds. Se você estiver em uma plataforma somente SIEM, acesse Configurações > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na página seguinte, 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:

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

      • Usar 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 de consumidores.

      • 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 de armazenamento de blobs (opcional): para o checkpoint, insira o nome do contêiner (por exemplo, checkpoints)

    Se você fornecer armazenamento de blobs para checkpoints:

    • 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 que será aplicado aos eventos desse feed.

  9. Clique em Próxima.

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

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

Tabela de mapeamento de UDM

Campo de registro Mapeamento de 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: true → STATUS_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: Succeeded → action
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

Confira o registro de alterações deste analisador

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