Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Se você já configurou o registro de eventos operacionais para o Azure Cloud HSM, então seu cluster já conta com uma configuração de diagnóstico funcional que encaminha os logs do HsmServiceOperations para o Armazenamento e o Log Analytics. Para adicionar Hubs de Eventos como destino, adicione um terceiro destino à mesma configuração de diagnóstico ou crie um novo que tenha como destino os Hubs de Eventos.
Azure Monitor configurações de diagnóstico dão suporte a vários destinos simultaneamente. Como o pipeline do Log Analytics já comprova que a emissão de logs do Cloud HSM está funcionando, o Hubs de Eventos passa a ser apenas mais um destino para a mesma categoria HsmServiceOperations.
Neste tutorial, você:
- Crie um namespace do Hub de Eventos e um hub de eventos para logs de HSM em nuvem.
- Configure regras de autorização com permissões de privilégio mínimo.
- Atualize as configurações de diagnóstico para transmitir logs para Hubs de Evento.
- Verifique se os Hubs de Eventos recebem eventos de operação HSM na nuvem.
Pré-requisitos
- Um recurso de HSM de nuvem Azure implantado e ativado. Para obter mais informações, consulte o guia de integração do Azure Cloud HSM.
- Configurações de diagnóstico emitindo logs de eventos de operação para Armazenamento e Log Analytics. Para obter mais informações, consulte Configurar e consultar o log de eventos de operação para Azure Cloud HSM.
- Função
ContributorouMonitoring Contributorno grupo de recursos do Cloud HSM.
Verificar se o grupo de recursos de logs existe
O Hubs de Eventos deve ser implantado no mesmo grupo de recursos que contém a conta de armazenamento e o workspace do Log Analytics utilizados para o registro de eventos operacionais. Se você não configurou o log de eventos operacionais, primeiro siga as diretrizes em Configuração e consulta de log de eventos operacionais para Azure Cloud HSM.
Verifique se o grupo de recursos de destino existe:
az group show --name "<resource-group>" --query "{name:name, location:location}" --output table
Criar um namespace de Hubs de Eventos
O namespace é o contêiner que contém um ou mais hubs de eventos. Use a camada Standard , que é necessária para a integração de configuraçõ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: a camada Básica não dá suporte a configurações de diagnóstico como destino.
- Capacidade 1: uma unidade de taxa de transferência (entrada de 1 MB/s, saída de 2 MB/s) é suficiente para logs de auditoria do HSM.
- Autoinflate desativado: o volume de logs do HSM é baixo, portanto não há necessidade de habilitar o autoinflate.
Criar um hub de eventos dentro do namespace
Para receber os logs do HSM na nuvem, 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 permitir a taxa de transferência dos logs de auditoria do HSM.
- Tempo de retenção 168 horas: mantenha as mensagens por sete dias (o máximo para a camada Standard).
- Política de limpeza: Excluir: Excluir mensagens após o período de retenção expirar.
Criar um grupo de consumidores
Crie um grupo de consumidores dedicado para processamento downstream. 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 configurações de diagnóstico precisam de permissão Enviar para publicar logs no hub de eventos. Crie uma política de acesso compartilhado com apenas 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
Essa regra concede apenas Send permissão, não Listen, ou Manage. Siga o princípio dos privilégios mínimos. Seus consumidores downstream (como Azure Functions ou Stream Analytics) devem utilizar uma regra separada com permissão de escuta Listen.
Obtenha o ID do recurso da regra de autorização
Recupere o ID do recurso da regra de autorização para ser usado 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"
Salve esse valor para uso na próxima etapa.
Atualizar a configuração de diagnóstico para adicionar Hubs de Eventos
Você tem duas opções para adicionar Hubs de Eventos como destino:
Opção A: Atualizar a configuração de diagnóstico existente (recomendado)
Essa abordagem atualiza sua configuração de diagnóstico existente para adicionar Hubs de Eventos, mantendo o Armazenamento 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
Os comandos da CLI e do PowerShell substituem a configuração de diagnóstico completa caso o nome corresponda a um existente. Você deve incluir a conta de armazenamento e o workspace novamente ou esses destinos serão removidos.
Opção B: criar uma configuração de diagnóstico separada somente para Hubs de Eventos
Se você preferir manter sua configuração existente 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
Azure dá suporte a até cinco configurações de diagnóstico por recurso. Uma segunda configuração é válida e mantém as preocupações separadas.
Verificar se os Hubs de Eventos estão recebendo mensagens
Depois de definir a configuração de diagnóstico, verifique se os Hubs de Eventos estão recebendo logs de HSM na nuvem.
Verificar a configuração de diagnóstico no portal
- No portal do Azure, vá para o cluster HSM da Nuvem.
- Em Monitoramento, selecione Configurações de diagnóstico.
- Confirme se os Hubs de Eventos estão listados como um destino.
Verificar as métricas dos Hubs de Eventos
Execute o seguinte comando para verificar as mensagens de entrada 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
Exibir mensagens (opcional)
Se você quiser ler algumas mensagens para confirmar o conteúdo, crie uma regra de escuta :
# 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
Você pode usar essa cadeia de conexão com o Hubs de Eventos do Azure Explorer, a extensão Hubs de Eventos do Visual Studio Code, ou um script Python para exibir mensagens.