Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Se configuraste o registo de eventos de operações para Azure Cloud HSM, já tens uma definição de diagnóstico funcional no teu cluster Cloud HSM que encaminha registos HsmServiceOperations para Storage e Log Analytics. Para adicionar Centros de Eventos como destino, adicione um terceiro destino a essa mesma definição de diagnóstico ou crie um novo que vise Centros de Eventos.
As definições de diagnóstico do Azure Monitor suportam múltiplos destinos simultaneamente. Como o seu pipeline de Log Analytics já prova que a emissão de logs do Cloud HSM está a funcionar, os Event Hubs tornam-se outro destino a receber a mesma categoria HsmServiceOperations.
Neste tutorial, você:
- Crie um namespace de Event Hub e um hub de eventos para registos de Cloud HSM.
- Configure regras de autorização com permissões de privilégio mínimo.
- Atualize as definições de diagnóstico para transmitir registos para os Event Hubs.
- Verifique se os Event Hubs recebem eventos de operação Cloud HSM.
Pré-requisitos
- Um recurso Azure Cloud HSM implementado e ativado. Para mais informações, consulte o guia de integração Azure Cloud HSM.
- Definições de diagnóstico que emitem registos de eventos de operação para Storage e Log Analytics. Para mais informações, consulte Configure e consulte o registo de eventos de operações para Azure Cloud HSM.
-
ContributorouMonitoring Contributorpapel no grupo de recursos do Cloud HSM.
Verifique se existe o grupo de recursos de logs
Os Event Hubs devem ser implementados no mesmo grupo de recursos que contém a sua conta de armazenamento e o espaço de trabalho Log Analytics para registo operacional de eventos. Se não configurou registo operacional de eventos, siga primeiro as orientações em Configure e consulte o registo de eventos de operações para Azure Cloud HSM.
Verifique se o seu grupo de recursos alvo existe:
az group show --name "<resource-group>" --query "{name:name, location:location}" --output table
Criar um namespace de Hubs de Eventos
O namespace é o contentor que contém um ou mais hubs de eventos. Use o nível Standard , que é necessário para a integração das definições de diagnóstico.
az eventhubs namespace create \
--name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--location "<location>" \
--sku Standard \
--capacity 1 \
--enable-auto-inflate false
Principais opções:
- SKU Padrão: O nível Básico não suporta definições de diagnóstico como destino.
- Capacidade 1: Uma unidade de throughput (entrada de 1 MB/s, saída de 2 MB/s) é suficiente para registos de auditoria HSM.
- Autoinflação desativada: O volume logarítmico do HSM é baixo, por isso a autoinflação não é necessária.
Crie um hub de eventos dentro do namespace
Para receber os registos do Cloud HSM, crie um hub de eventos dentro do namespace.
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
Principais opções:
- Contagem de partições 2: Duas partições são suficientes para o throughput de registo de auditoria HSM.
- Tempo de retenção 168 horas: Manter mensagens durante sete dias (o máximo para o nível Standard).
- Política de limpeza Eliminar: Apagar mensagens após o término do período de retenção.
Crie um grupo de consumidores
Crie um grupo de consumidores dedicado ao processamento a jusante. Reserve o grupo padrão $Default para outros usos.
az eventhubs eventhub consumer-group create \
--name "azure-cloud-hsm" \
--namespace-name "<eventhub-namespace>" \
--eventhub-name "cloudhsm-logs" \
--resource-group "<resource-group>"
Criar uma regra de autorização
As definições de diagnóstico precisam de permissão Enviar para enviar logs para o event hub. Crie uma política de acesso partilhado apenas com a permissão necessária.
az eventhubs namespace authorization-rule create \
--name "DiagnosticSettingsSendRule" \
--namespace-name "<eventhub-namespace>" \
--resource-group "<resource-group>" \
--rights Send
Observação
Esta regra concede apenas Send permissão, não Listen, ou Manage. Siga o princípio do menor privilégio. Os seus consumidores a jusante (como Funções do Azure ou Stream Analytics) devem usar uma regra separada com permissão Listen.
Obtenha o ID do recurso da regra de autorização
Recupere o ID do recurso da regra de autorização para uso na configuração de diagnóstico.
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"
Guarde este valor para usar na próxima etapa.
Atualize a definição de diagnóstico para adicionar Centros de Eventos
Tens duas opções para adicionar Event Hubs como destino:
Opção A: Atualizar a definição de diagnóstico existente (recomendada)
Esta abordagem atualiza a sua definição de diagnóstico existente para adicionar Event Hubs, mantendo o Storage e o 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
Tanto os comandos em CLI como em PowerShell substituem toda a configuração de diagnóstico se o nome coincidir com um já existente. Tens de incluir novamente a conta de armazenamento e o espaço de trabalho, ou esses destinos são removidos.
Opção B: Criar uma definição de diagnóstico separada apenas para Hubs de Eventos
Se preferires manter a tua configuração atual inalterada e adicionar uma segunda,
# 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}]'
Observação
O Azure suporta até cinco definições de diagnóstico por recurso. Uma segunda configuração é válida e mantém as preocupações separadas.
O Verify Event Hubs está a receber mensagens
Depois de configurares a definição de diagnóstico, verifica se o Event Hubs está a receber registos do Cloud HSM.
Verifique as definições de diagnóstico no portal
- No portal Azure, aceda ao seu cluster Cloud HSM.
- Em Monitorização, selecione Definições de diagnóstico.
- Confirme que o Event Hubs está listado como destino.
Verifique as métricas dos Event Hubs
Execute o seguinte comando para verificar as mensagens recebidas na última hora:
# 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
Ver mensagens (opcional)
Se quiser ler algumas mensagens para confirmar o conteúdo, crie uma regra de Ouvir :
# 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
Pode usar esta cadeia de ligação com o Hubs de Eventos do Azure Explorer, a extensão Visual Studio Code Event Hubs ou um script Python para visualizar mensagens.