Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se hai configurato la registrazione degli eventi operativi per Azure Cloud HSM, hai già un'impostazione diagnostica funzionante nel tuo cluster Cloud HSM che instrada i log HsmServiceOperations ad Archiviazione e Log Analytics. Per aggiungere Hub eventi come destinazione, aggiungere una terza destinazione alla stessa impostazione di diagnostica o crearne una nuova destinata a Hub eventi.
Monitoraggio di Azure impostazioni di diagnostica supportano più destinazioni contemporaneamente. Poiché la pipeline di Log Analytics dimostra già che le emissioni di log da Cloud HSM funzionano, Hub Eventi diventa un'altra destinazione che riceve la stessa HsmServiceOperations categoria.
In questa esercitazione, farai:
- Creare un namespace dell'hub eventi e un hub eventi per i log di Cloud HSM.
- Configurare le regole di autorizzazione con autorizzazioni con privilegi minimi.
- Aggiornare le impostazioni di diagnostica per trasmettere i log a Hub eventi.
- Verificare che Event Hubs riceva gli eventi delle operazioni di Cloud HSM.
Prerequisiti
- Risorsa HSM cloud distribuita e attivata Azure. Per ulteriori informazioni, vedere la guida per l'onboarding Azure Cloud HSM.
- Impostazioni di diagnostica che inviano registri degli eventi operativi ad Archiviazione e Log Analytics. Per altre informazioni, vedere Configurare e interrogare la registrazione degli eventi delle operazioni per Azure Cloud HSM.
-
ContributoroMonitoring Contributorruolo nel gruppo di risorse Cloud HSM.
Verificare che il gruppo di risorse dei log esista
Hub Eventi dovrebbe essere distribuito nello stesso gruppo di risorse che contiene l'account di archiviazione e l'area di lavoro di Log Analytics per registrare gli eventi operativi. Se non è stata configurata la registrazione eventi operativa, seguire prima di tutto le indicazioni riportate in Configurare ed eseguire query sulla registrazione degli eventi delle operazioni per Azure Cloud HSM.
Verificare che il gruppo di risorse di destinazione esista:
az group show --name "<resource-group>" --query "{name:name, location:location}" --output table
Creare uno spazio dei nomi di Event Hubs
Lo spazio dei nomi è il contenitore che contiene uno o più hub di eventi. Usare il livello Standard , necessario per l'integrazione delle impostazioni di diagnostica.
az eventhubs namespace create \
--name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--location "<location>" \
--sku Standard \
--capacity 1 \
--enable-auto-inflate false
Opzione principali:
- SKU Standard: il livello Basic non supporta le impostazioni di diagnostica come destinazione.
- Capacità 1: un'unità di throughput (1 MB/s in ingresso, 2 MB/s in uscita) è sufficiente per i log di controllo di HSM.
- Autoinflate disabilitato: il volume del log del modulo di protezione hardware è basso, quindi l'autoinflate non è necessario.
Creare un hub di eventi all'interno dello spazio dei nomi
Per ricevere i log di Cloud HSM, creare un hub di eventi all'interno dello spazio dei nomi.
az eventhubs eventhub create \
--name "cloudhsm-logs" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--partition-count 2 \
--retention-time-in-hours 168 \
--cleanup-policy Delete
Opzione principali:
- Numero di partizioni 2: due partizioni sono sufficienti per la capacità del log di controllo dell'HSM.
- Tempo di conservazione 168 ore: mantenere i messaggi per sette giorni (il massimo per il livello Standard).
- Criteri di pulizia Elimina: elimina i messaggi dopo la scadenza del periodo di conservazione.
Creare un gruppo di consumatori
Creare un gruppo di consumer dedicato per l'elaborazione downstream. Riservare il gruppo predefinito $Default per altri usi.
az eventhubs eventhub consumer-group create \
--name "azure-cloud-hsm" \
--namespace-name "<eventhub-namespace>" \
--eventhub-name "cloudhsm-logs" \
--resource-group "<resource-group>"
Creare una regola di autorizzazione
Le impostazioni di diagnostica richiedono l'autorizzazione Invia per eseguire il push dei log nell'hub eventi. Creare un criterio di accesso condiviso con solo l'autorizzazione necessaria.
az eventhubs namespace authorization-rule create \
--name "DiagnosticSettingsSendRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--rights Send
Annotazioni
Questa regola concede l'autorizzazione solo a Send, non a Listen o a Manage. Seguire il principio dei privilegi minimi. I consumatori downstream, ad esempio Funzioni di Azure o Stream Analytics, devono usare una regola separata con autorizzazione Listen.
Ottenere l'ID risorsa della regola di autorizzazione
Recuperare l'ID risorsa della regola di autorizzazione per l'uso nelle impostazioni diagnostiche.
authRuleId=$(az eventhubs namespace authorization-rule show \
--name "DiagnosticSettingsSendRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--query id --output tsv)
echo "Auth Rule ID: $authRuleId"
Salvare questo valore per usarlo nel passaggio successivo.
Aggiornare l'impostazione di diagnostica per aggiungere Hub eventi
Sono disponibili due opzioni per l'aggiunta di Hub eventi come destinazione:
Opzione A: Aggiornare l'impostazione di diagnostica esistente (scelta consigliata)
Questo approccio aggiorna l'impostazione di diagnostica esistente per aggiungere Hub eventi, mantenendo l'archiviazione e Log Analytics.
# Set your resource group variables
hsmResourceGroup="<resource-group>"
logsResourceGroup="<resource-group>"
# Find the HSM cluster name (auto-generated during deployment)
hsmClusterName=$(az resource list \
--resource-group $hsmResourceGroup \
--resource-type Microsoft.HardwareSecurityModules/cloudHsmClusters \
--query "[0].name" --output tsv)
echo "HSM Cluster: $hsmClusterName"
# Get the HSM cluster resource ID
hsmResourceId=$(az resource show \
--resource-group $hsmResourceGroup \
--resource-type Microsoft.HardwareSecurityModules/cloudHsmClusters \
--name $hsmClusterName \
--query id --output tsv)
# Get your existing storage account ID
storageAccountId=$(az storage account list \
--resource-group $logsResourceGroup \
--query "[0].id" --output tsv)
# Get your existing Log Analytics workspace ID
workspaceId=$(az monitor log-analytics workspace list \
--resource-group $logsResourceGroup \
--query "[0].id" --output tsv)
# Get the Event Hub auth rule ID
authRuleId=$(az eventhubs namespace authorization-rule show \
--name "DiagnosticSettingsSendRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group $logsResourceGroup \
--query id --output tsv)
# Update the diagnostic setting with all three destinations
az monitor diagnostic-settings create \
--name "<diagnostic-setting-name>" \
--resource $hsmResourceId \
--storage-account $storageAccountId \
--workspace $workspaceId \
--event-hub "cloudhsm-logs" \
--event-hub-rule $authRuleId \
--logs '[{"category":"HsmServiceOperations","enabled":true}]'
Importante
Sia i comandi dell'interfaccia della riga di comando che quelli di PowerShell sostituiscono l'intera impostazione diagnostica se il nome corrisponde a uno esistente. È necessario includere di nuovo l'account di archiviazione e l'area di lavoro oppure tali destinazioni vengono rimosse.
Opzione B: Creare un'impostazione di diagnostica separata solo per Hub eventi
Se si preferisce mantenere invariata l'impostazione esistente e aggiungerne una seconda,
# Find the HSM cluster name
hsmClusterName=$(az resource list \
--resource-group "<resource-group>" \
--resource-type Microsoft.HardwareSecurityModules/cloudHsmClusters \
--query "[0].name" --output tsv)
hsmResourceId=$(az resource show \
--resource-group "<resource-group>" \
--resource-type Microsoft.HardwareSecurityModules/cloudHsmClusters \
--name $hsmClusterName \
--query id --output tsv)
authRuleId=$(az eventhubs namespace authorization-rule show \
--name "DiagnosticSettingsSendRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--query id --output tsv)
az monitor diagnostic-settings create \
--name "chsm-eventhub-diagnostic-setting" \
--resource $hsmResourceId \
--event-hub "cloudhsm-logs" \
--event-hub-rule $authRuleId \
--logs '[{"category":"HsmServiceOperations","enabled":true}]'
Annotazioni
Azure supporta fino a cinque impostazioni di diagnostica per risorsa. Una seconda impostazione è valida e mantiene le preoccupazioni separate.
Verificare che Hub eventi riceva messaggi
Dopo aver configurato l'impostazione di diagnostica, verificate che Event Hubs riceva i log di HSM cloud.
Controllare l'impostazione di diagnostica nel portale
- Nel portale di Azure, passare al cluster Cloud HSM.
- In Monitoraggio selezionare Impostazioni di diagnostica.
- Verificare che Hub eventi sia elencato come destinazione.
Controllare metriche di Event Hubs
Eseguire il comando seguente per controllare i messaggi in arrivo nell'ultima ora:
# Get your subscription ID
subId=$(az account show --query id --output tsv)
# Check incoming messages (last 1 hour)
az monitor metrics list \
--resource "/subscriptions/$subId/resourceGroups/<resource-group>/providers/Microsoft.EventHub/namespaces/<eventhub-namespace>" \
--metric "SuccessfulRequests" \
--interval PT1H \
--output table
Visualizzare i messaggi (facoltativo)
Per leggere alcuni messaggi per confermare il contenuto, creare una regola di ascolto :
# Create a Listen rule for your consumer
az eventhubs namespace authorization-rule create \
--name "ConsumerListenRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--rights Listen
# Get the connection string
az eventhubs namespace authorization-rule keys list \
--name "ConsumerListenRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--query primaryConnectionString --output tsv
È possibile usare questa stringa di connessione con Hub eventi di Azure Explorer, l'estensione Visual Studio Code Hub eventi o uno script di Python per visualizzare i messaggi.