Raccogli i log di gestione delle API di Azure
Parser Version: 1.0
Questo documento spiega come creare un feed di Azure Event Hub per importare i log di gestione delle API di Azure in Google Security Operations.
Azure API Management è una piattaforma di gestione delle API ibrida e multi-cloud per le API in tutti gli ambienti. Aiuta le organizzazioni a pubblicare API per sviluppatori esterni, partner e interni per sbloccare il potenziale dei loro dati e servizi. La gestione delle API fornisce strumenti per il rilevamento delle API, la funzionalità gateway, i criteri di sicurezza, l'analisi e il 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 di Microsoft Azure con le autorizzazioni per:
- Crea spazi dei nomi degli hub di eventi
- Crea hub di eventi
- Configura le impostazioni di diagnostica per la gestione delle API di Azure
- Gestisci policy di accesso
Un'istanza del servizio Azure API Management esistente
Crea spazio dei nomi dell'hub di eventi
Uno spazio dei nomi degli hub di eventi è un container di gestione per uno o più hub di eventi.
- Nel portale Azure, cerca Hub eventi.
- Fai clic su + Crea.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Abbonamento Seleziona il tuo abbonamento Azure Gruppo di risorse Seleziona un elemento esistente o creane uno 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 l'espansione automatica (consigliato) Fai clic su Review + create (Rivedi e crea).
Esamina la panoramica e fai clic su Crea.
Attendi il completamento del deployment (1-2 minuti).
Crea hub di eventi
- Dopo aver eseguito il deployment dello spazio dei nomi, vai allo spazio dei nomi dell'hub di eventi.
- Nel pannello di navigazione a sinistra, seleziona Hub eventi in Entità.
- Fai clic su + Event Hub.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Nome Inserisci un nome univoco (ad esempio apim-logs)Conteggio partizioni 40 (consigliato per una scalabilità ottimale di Google SecOps) Conservazione dei messaggi 7 giorni (minimo consigliato) Acquisisci Disattivato (non necessario per Google SecOps) Fai clic su Crea.
Ottieni la stringa di connessione dell'hub di eventi
Google SecOps richiede una stringa di connessione per l'autenticazione nell'hub eventi.
Opzione A: stringa di connessione a livello di spazio dei nomi (consigliata)
- Vai allo spazio dei nomi dell'hub di eventi.
- Nel menu di navigazione a sinistra, seleziona Criteri di accesso condiviso in Impostazioni.
- Fai clic sulla policy predefinita RootManageSharedAccessKey.
- Copia la stringa di connessione-chiave primaria.
- 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
- Vai all'hub di eventi (non allo spazio dei nomi).
- Nel menu di navigazione a sinistra, seleziona Criteri di accesso condiviso in Impostazioni.
- Fai clic su + Aggiungi per creare una nuova policy.
- Fornisci i seguenti dettagli di configurazione:
- Nome della policy: inserisci un nome descrittivo (ad esempio
chronicle-read) - Autorizzazioni: seleziona solo Ascolta (accesso di sola lettura)
- Nome della policy: inserisci un nome descrittivo (ad esempio
- Fai clic su Crea.
- Fai clic sulla policy appena creata.
- Copia la stringa di connessione-chiave primaria.
Salva questa stringa di connessione in modo sicuro.
Configura Azure API Management per lo streaming su Event Hub
- Nel portale Azure, cerca Servizi di gestione delle API.
- Seleziona l'istanza del servizio Gestione API.
- Nel menu di navigazione a sinistra, seleziona Impostazioni di diagnostica in Monitoraggio.
- Fai clic su + Add diagnostic setting (+ Aggiungi impostazione di diagnostica).
- Fornisci i seguenti dettagli di configurazione:
- Nome impostazione di diagnostica: inserisci un nome descrittivo (ad esempio
apim-to-secops). - Nella sezione Log, seleziona le seguenti categorie:
- GatewayLogs: Log delle richieste e delle risposte di API Gateway
- WebSocketConnectionLogs: log delle connessioni WebSocket (se applicabile)
- DeveloperPortalAuditLogs: audit log del portale per sviluppatori (se applicabile)
- GatewayLlmLogs: log del gateway dell'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 di Event Hubs.
- Spazio dei nomi degli hub di eventi: seleziona lo spazio dei nomi che hai creato in precedenza (ad esempio,
secops-apim-eventhub). - Nome hub di eventi: seleziona l'hub di eventi che hai creato (ad esempio
apim-logs). - Nome della policy dell'hub eventi: seleziona RootManageSharedAccessKey o una policy personalizzata con autorizzazioni di invio.
- Nome impostazione di diagnostica: inserisci un nome descrittivo (ad esempio
Fai clic su Salva.
(Facoltativo) Configura Azure Blob Storage per il checkpoint
Google SecOps può utilizzare Archiviazione BLOB di Azure per archiviare i checkpoint di Event Hubs, che monitorano gli eventi elaborati. In questo modo si evita l'importazione di duplicati se il feed viene temporaneamente interrotto.
Crea un account di archiviazione per il checkpoint
- Nel portale Azure, cerca Account di archiviazione.
- Fai clic su + Crea.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Abbonamento Seleziona il tuo abbonamento Azure Gruppo di risorse Utilizza lo stesso gruppo di risorse dell'hub di eventi Nome account di archiviazione Inserisci un nome univoco (ad esempio secopsapimcheckpoint)Regione Stessa regione dell'hub di eventi Prestazioni Standard Ridondanza LRS (archiviazione con ridondanza locale) Fai clic su Review + create (Rivedi e crea).
Fai clic su Crea.
Crea container blob
- Vai all'account di archiviazione che hai appena creato.
- Nel menu di navigazione a sinistra, seleziona Container in Datastore.
- Fai clic su + Container.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci
checkpoints
- Nome: inserisci
- Fai clic su Crea.
Ottieni le credenziali dell'account di archiviazione
- Nell'account di archiviazione, seleziona Chiavi di accesso in Sicurezza + networking.
- Fai clic su Mostra chiavi.
- 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 di Google SecOps.
(Facoltativo) Crea un gruppo di consumer dedicato
Per impostazione predefinita, l'hub di eventi fornisce un gruppo di consumer denominato $Default. Per gli ambienti di produzione, è consigliabile creare un gruppo di consumer dedicato per Google SecOps.
- Vai all'hub di eventi (non allo spazio dei nomi).
- Nel menu di navigazione a sinistra, seleziona Gruppi di consumer in Entità.
- Fai clic su + Gruppo di consumer.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci un nome descrittivo (ad esempio
chronicle)
- Nome: inserisci un nome descrittivo (ad esempio
Fai clic su Crea.
Configura un feed in Google SecOps per importare i log di gestione delle API di Azure
- Vai a Impostazioni > Gestione dei dati > Feed. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad es.
Azure API Management Logs). - Seleziona Microsoft Azure Event Hub come Tipo di origine.
- Seleziona Azure gestione delle API come Log type (Tipo di log).
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
Stringa di connessione dell'hub di eventi: inserisci la stringa di connessione dell'hub di eventi acquisita 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 di eventi nel campo successivo
- Assicurati di aver rimosso il parametro
Se utilizzi la stringa di connessione a livello di hub eventi:
- Utilizza la stringa di connessione così com'è (include
EntityPath) - Il campo Nome hub di eventi può essere lasciato vuoto
- Utilizza la stringa di connessione così com'è (include
Nome hub di eventi: inserisci il nome dell'hub di eventi (ad esempio
apim-logs)- Obbligatorio se utilizzi una stringa di connessione a livello di spazio dei nomi.
- Facoltativo se utilizzi la stringa di connessione a livello di hub eventi.
Gruppo di consumer (facoltativo): inserisci il nome del gruppo di consumer
- Lascia vuoto per utilizzare il gruppo di consumer
$Defaultpredefinito - Se hai creato un gruppo di consumer dedicato, inserisci il suo nome (ad esempio,
chronicle)
- Lascia vuoto per utilizzare il gruppo di consumer
Nome container di archiviazione blob (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 account Azure Storage: 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.
Fai clic su Avanti.
Controlla la nuova configurazione del feed di notizie nella schermata Finalizza e poi fai clic su Invia.
Per ulteriori informazioni sui feed di Google SecOps, consulta la documentazione sui feed di 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 |
Mappatura diretta |
time |
metadata.event_timestamp |
Analizzato come ISO8601 |
has_principal |
metadata.event_type |
Mappatura: true → STATUS_UPDATE |
operationName |
metadata.product_event_type |
Mappatura diretta |
DeploymentVersion |
metadata.product_version |
Mappatura diretta |
properties.method |
network.http.method |
Mappatura diretta |
properties.responseCode |
network.http.response_code |
Mappatura diretta |
properties.responseSize |
network.received_bytes |
Mappatura diretta |
properties.requestSize |
network.sent_bytes |
Mappatura diretta |
correlationId |
network.session_id |
Mappatura diretta |
properties.clientTlsCipherSuite |
network.tls.cipher |
Mappatura diretta |
properties.clientTlsVersion |
network.tls.version |
Mappatura diretta |
callerIpAddress |
principal.asset.ip |
Unita |
callerIpAddress |
principal.ip |
Unita |
location |
principal.location.name |
Mappatura diretta |
properties.url |
principal.url |
Mappatura diretta |
properties.userId |
principal.user.userid |
Mappatura diretta |
action |
security_result.action |
Unita |
resultType |
security_result.action |
Mappatura: Succeeded → action |
category |
security_result.category_details |
Unita |
properties.category |
security_result.category_details |
Unita |
level |
security_result.severity |
Mappatura diretta |
resultType |
security_result.summary |
Mappatura diretta |
properties.appName |
target.application |
Mappatura diretta |
properties.processId |
target.process.pid |
Mappatura diretta |
roleInstance_label |
target.resource.attribute.labels |
Unita |
resourceId |
target.resource.product_object_id |
Mappatura diretta |
properties.backendUrl |
target.url |
Mappatura diretta |
| 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.