Raccogli i log di Azure API Management

Parser Version: 1.0

Supportato in:

Questo documento spiega come creare un feed Azure Event Hub per importare i log di Azure API Management in Google Security Operations.

Azure API Management è una piattaforma di gestione ibrida e multi-cloud per le API in tutti gli ambienti. Aiuta le organizzazioni a pubblicare API per sviluppatori esterni, partner e interni per sfruttare il potenziale dei propri dati e servizi. API Management fornisce strumenti per l'individuazione delle API, funzionalità di gateway, criteri di sicurezza, analisi e coinvolgimento degli sviluppatori. I log di diagnostica acquisiscono informazioni dettagliate sulle operazioni di API Gateway, tra cui richieste, risposte ed errori.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Accesso con privilegi al portale Microsoft Azure con autorizzazioni per:
    • Crea spazi dei nomi degli hub di evento
    • Crea hub degli eventi
    • Configurare le impostazioni di diagnostica per Azure API Management
    • Gestisci policy di accesso
  • Un'istanza del servizio Azure API Management esistente

Crea spazio dei nomi dell'hub eventi

Uno spazio dei nomi degli hub di evento è un contenitore di gestione per uno o più hub di evento.

  1. Nel portale Azure, cerca Event Hubs.
  2. Fai clic su + Crea.
  3. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Abbonamento Seleziona il tuo abbonamento Azure
    Gruppo di risorse Seleziona esistente o crea nuovo
    Nome dello spazio dei nomi Inserisci un nome univoco (ad esempio, secops-apim-eventhub).
    Località Seleziona la regione (ad esempio, East US)
    Livello di prezzo Standard (consigliato per la produzione)
    Unità di throughput Inizia con 1, attiva il gonfiaggio automatico (opzione consigliata)
  4. Fai clic su Review + create (Rivedi e crea).

  5. Rivedi la panoramica e fai clic su Crea.

  6. Attendi il completamento del deployment (1-2 minuti).

Crea hub eventi

  1. Dopo il deployment dello spazio dei nomi, vai allo spazio dei nomi dell'hub di evento.
  2. Nel menu di navigazione a sinistra, seleziona Hub eventi in Entità.
  3. Fai clic su + Event Hub.
  4. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Nome Inserisci un nome univoco (ad esempio, apim-logs).
    Conteggio partizioni 40 (consigliato per uno scaling ottimale di Google SecOps)
    Conservazione dei messaggi 7 giorni (minimo consigliato)
    Acquisizione Disattivato (non necessario per Google SecOps)
  5. Fai clic su Crea.

Recupera la stringa di connessione dell'hub di eventi

Google SecOps richiede una stringa di connessione per l'autenticazione a Event Hub.

  1. Vai allo spazio dei nomi dell'hub di evento.
  2. Nel menu di navigazione a sinistra, seleziona Criteri di accesso condiviso in Impostazioni.
  3. Fai clic sulla policy predefinita RootManageSharedAccessKey.
  4. Copia la stringa di connessione - chiave primaria.
  5. Salva questa stringa di connessione in modo sicuro.
  • Esempio:

    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==
    

Opzione B: stringa di connessione a livello di hub eventi

  1. Vai all'hub di evento (non allo spazio dei nomi).
  2. Nel menu di navigazione a sinistra, seleziona Criteri di accesso condiviso in Impostazioni.
  3. Fai clic su + Aggiungi per creare una nuova policy.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome criterio: inserisci un nome descrittivo (ad esempio chronicle-read).
    • Autorizzazioni: seleziona Ascolta (accesso di sola lettura)
  5. Fai clic su Crea.
  6. Fai clic sulla policy appena creata.
  7. Copia la stringa di connessione - chiave primaria.
  8. Salva questa stringa di connessione in modo sicuro.

Configura Azure API Management per lo streaming a Event Hub

  1. Nel portale Azure, cerca Servizi di gestione API.
  2. Seleziona l'istanza del servizio API Management.
  3. Nel menu di navigazione a sinistra, seleziona Impostazioni di diagnostica in Monitoraggio.
  4. Fai clic su + Aggiungi impostazione di diagnostica.
  5. Fornisci i seguenti dettagli di configurazione:
    • Nome impostazione diagnostica: inserisci un nome descrittivo (ad esempio apim-to-secops).
    • Nella sezione Log, seleziona le seguenti categorie:
      • GatewayLogs: log di richieste e risposte del gateway API
      • WebSocketConnectionLogs: log delle connessioni WebSocket (se applicabile)
      • DeveloperPortalAuditLogs: log di controllo del Developer Portal (se applicabile)
      • GatewayLlmLogs: log del gateway AI generativa (se applicabile)
      • GatewayMCPLogs: log del server Model Context Protocol (MCP), se applicabile
    • Nella sezione Dettagli destinazione, seleziona la casella di controllo Trasmetti in streaming a un hub eventi.
    • Abbonamento: seleziona l'abbonamento contenente lo spazio dei nomi dell'hub eventi.
    • Spazio dei nomi dell'hub eventi: seleziona lo spazio dei nomi creato in precedenza, ad esempio secops-apim-eventhub.
    • Nome dell'hub eventi: seleziona l'hub eventi che hai creato (ad esempio, apim-logs).
    • Nome policy dell'hub eventi: seleziona RootManageSharedAccessKey o una policy personalizzata con autorizzazioni di invio.
  6. Fai clic su Salva.

(Facoltativo) Configura Azure Blob Storage per il checkpoint

Google SecOps può utilizzare l'archiviazione BLOB di Azure per archiviare i checkpoint di Event Hub, che tengono traccia degli eventi elaborati. In questo modo si evita l'importazione duplicata se il feed viene temporaneamente interrotto.

Crea un account di archiviazione per il checkpoint

  1. Nel portale Azure, cerca Account di archiviazione.
  2. Fai clic su + Crea.
  3. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Abbonamento Seleziona il tuo abbonamento Azure
    Gruppo di risorse Utilizza lo stesso gruppo di risorse di Event Hub
    Nome account di archiviazione Inserisci un nome univoco (ad esempio, secopsapimcheckpoint).
    Regione Stessa regione dell'hub di eventi
    Prestazioni Standard
    Ridondanza Archiviazione con ridondanza locale (LRS)
  4. Fai clic su Review + create (Rivedi e crea).

  5. Fai clic su Crea.

Crea contenitore blob

  1. Vai all'account di archiviazione che hai appena creato.
  2. Nel riquadro di navigazione a sinistra, seleziona Container nella sezione Archiviazione dati.
  3. Fai clic su + Contenitore.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci checkpoints
    • Livello di accesso pubblico: privato (nessun accesso anonimo)
  5. Fai clic su Crea.

Recuperare le credenziali dell'account di archiviazione

  1. Nell'account di archiviazione, seleziona Chiavi di accesso in Sicurezza e networking.
  2. Fai clic su Mostra chiavi.
  3. Copia e salva:
    • Nome account di archiviazione: il nome del tuo account di archiviazione
    • Chiave 1: il valore della chiave di accesso

Fornirai questi valori durante la creazione del feed Google SecOps.

(Facoltativo) Creare un gruppo di consumer dedicato

Per impostazione predefinita, Event Hub fornisce un gruppo di consumer denominato $Default. Per gli ambienti di produzione, ti consigliamo di creare un gruppo di consumatori dedicato per Google SecOps.

  1. Vai all'hub di evento (non allo spazio dei nomi).
  2. Nel menu di navigazione a sinistra, seleziona Gruppi di consumatori in Entità.
  3. Fai clic su + Gruppo di consumatori.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome descrittivo (ad esempio, chronicle)
  5. Fai clic su Crea.

Configura un feed in Google SecOps per importare i log di Azure API Management

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Azure API Management Logs).
  5. Seleziona Microsoft Azure Event Hub come Tipo di origine.
  6. Seleziona Azure API Management come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:

    • Stringa di connessione dell'hub eventi: inserisci la stringa di connessione dell'hub eventi che hai acquisito in precedenza.

    • Se utilizzi la stringa di connessione a livello di spazio dei nomi:

      • Assicurati di aver rimosso il parametro EntityPath
      • Devi anche fornire il Nome dell'hub eventi nel campo successivo.
    • Se utilizzi la stringa di connessione a livello di hub eventi:

      • Utilizza la stringa di connessione così com'è (incluso EntityPath)
      • Il campo Nome hub eventi può essere lasciato vuoto
    • Nome dell'hub di eventi: inserisci il nome dell'hub di eventi (ad esempio, apim-logs)

      • Obbligatorio se utilizzi la stringa di connessione a livello di spazio dei nomi.
      • Facoltativo se utilizzi la stringa di connessione a livello di hub eventi.
    • Gruppo di consumatori (facoltativo): inserisci il nome del gruppo di consumatori.

      • Lascia vuoto per utilizzare il gruppo di consumatori $Default predefinito
      • Se hai creato un gruppo di consumatori dedicato, inseriscine il nome (ad esempio chronicle).
    • Nome container Blob Storage (facoltativo): per il checkpoint, inserisci il nome del container (ad esempio checkpoints).

    Se fornisci l'archiviazione blob per il checkpoint:

    • Nome account Azure Storage: inserisci il nome dell'account di archiviazione dalla configurazione del checkpoint
    • Chiave dell'account di archiviazione Azure: inserisci la chiave di accesso dalla configurazione del checkpoint

    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset

    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed

  9. Fai clic su Avanti.

  10. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Per saperne di più sui feed Google SecOps, consulta la documentazione sui feed Google SecOps.

Tabella di mappatura UDM

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

Log delle modifiche

Visualizza il log delle modifiche per questo parser

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.