Registro em log do HSM Gerenciado
Depois que você criar um ou mais HSMs gerenciados, o ideal será monitorar como e quando eles serão acessados e por quem. Isso pode ser feito habilitando o registro em log, que salva as informações em uma conta de armazenamento do Azure fornecida por você. Um novo contêiner chamado insights-logs-auditevent é criado automaticamente para a conta de armazenamento especificada. Você pode usar essa mesma conta de armazenamento para coletar logs de vários HSMs Gerenciados.
Você pode acessar suas informações de registro em log 10 minutos (no máximo) após a operação do HSM Gerenciado. Na maioria dos casos, será mais rápido do que isso. Cabe a você gerenciar os logs em sua conta de armazenamento:
- use os métodos de controle de acesso padrão do Azure para proteger os logs, restringindo quem pode acessá-los.
- Exclua os logs que você não deseja manter em sua conta de armazenamento.
Este tutorial vai ajudar você a começar a usar o registro em log do HSM Gerenciado. Você criará uma conta de armazenamento, habilitará o registro em log e interpretará as informações de log coletadas.
Observação
Este tutorial não inclui instruções sobre como criar chaves ou HSMs Gerenciados. Este artigo fornece instruções da CLI do Azure para atualizar o log de diagnósticos.
Pré-requisitos
Para concluir as etapas deste artigo, você precisará ter os seguintes itens:
- Uma assinatura do Microsoft Azure. Se você não tiver uma, pode se inscrever e fazer uma avaliação gratuita.
- A CLI do Azure versão 2.25.0 ou posterior. Execute
az --version
para encontrar a versão. Se você precisar instalar ou atualizar, confira Instalar a CLI do Azure. - Um HSM Gerenciado na sua assinatura. Confira Início Rápido: Provisione e ative um HSM Gerenciado usando a CLI do Azure para provisionar e ativar um HSM Gerenciado.
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou o comando.
Conecte-se à sua assinatura do Azure
A primeira etapa para configurar o registro em log das chaves é apontar a CLI do Azure para o HSM Gerenciado que você deseja registrar em log.
az login
Para saber mais sobre as opções de logon por meio da CLI, veja Entrar com a CLI do Azure
Talvez seja necessário especificar a assinatura que você usou para criar o HSM Gerenciado. Insira o seguinte comando para ver as assinaturas da sua conta:
Identificar o HSM Gerenciado e a conta de armazenamento
hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name ContosoMHSMLogs --query id -o tsv)
Habilitar o registro em log
Para habilitar o registro em log do HSM Gerenciado, use o comando de criar configurações de diagnóstico do AZ Monitor, juntamente com as variáveis que criamos para a nova conta de armazenamento e o HSM Gerenciado. Também definiremos o sinalizador -Enabled como $true e a categoria como AuditEvent (a única categoria para registro em log do HSM Gerenciado):
Essa saída confirma que o registro em log está habilitado para o HSM Gerenciado e que as informações serão salvas na conta de armazenamento.
Opcionalmente, você pode definir uma política de retenção para os logs, de modo que os logs mais antigos sejam automaticamente excluídos. Por exemplo, defina a política de retenção definindo o sinalizador -RetentionEnabled como $true e defina o parâmetro -RetentionInDays como 90 para que os logs de mais de 90 dias sejam automaticamente excluídos.
az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource
O que é registrado em log:
- Todas as solicitações à API REST autenticadas, incluindo solicitações que falharam devido a permissões de acesso, erros do sistema bloqueios de firewall ou solicitações inválidas.
- Operações de plano gerenciado no próprio HSM Gerenciado, incluindo criação, exclusão e atualização de atributos, como marcas.
- Operações relacionadas ao Domínio de Segurança, como inicializar e baixar, inicializar recuperação, carregar
- Operações completas de backup, restauração e restauração seletiva do HSM
- Operações de gerenciamento de função, como criar/exibir/excluir atribuições de função e criar/exibir/excluir definições de função personalizadas
- Operações em chaves, incluindo:
- Criar, modificar ou excluir as chaves.
- Assinar, verificar, criptografar, descriptografar, encapsular, desencapsular e listar as chaves.
- Backup, restauração e limpeza de chave
- Lançamento de chave
- Caminhos inválidos que resultam em uma resposta 404.
Acessar seus logs
Os logs do HSM Gerenciado são armazenados no contêiner insights-logs-auditevent da conta de armazenamento que você forneceu. Para exibir os logs, você precisa baixar blobs. Para obter informações sobre o Armazenamento do Azure, confira Criar, baixar e listar blobs com a CLI do Azure.
Os blobs individuais são armazenados como texto e formatados como um JSON. Vamos examinar um exemplo de entrada de log. O exemplo a seguir mostra a entrada de log quando uma solicitação para criar um backup completo é enviada ao HSM Gerenciado.
[
{
"TenantId": "{tenant-id}",
"time": "2020-08-31T19:52:39.763Z",
"resourceId": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS/CONTOSORESOURCEGROUP/PROVIDERS/MICROSOFT.KEYVAULT/MANAGEDHSMS/CONTOSOMHSM",
"operationName": "BackupCreate",
"operationVersion": "7.0",
"category": "AuditEvent",
"resultType": "Success",
"properties": {
"PoolType": "M-HSM",
"sku_Family": "B",
"sku_Name": "Standard_B1"
},
"durationMs": 488,
"callerIpAddress": "X.X.X.X",
"identity": "{\"claim\":{\"appid\":\"{application-id}\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"{object-id}\"}},\"http_schemas_xmlsoap_org_ws_2005_05_identity\":{\"claims\":{\"upn\":\"admin@contoso.com\"}}}}",
"clientInfo": "azsdk-python-core/1.7.0 Python/3.8.2 (Linux-4.19.84-microsoft-standard-x86_64-with-glibc2.29) azsdk-python-azure-keyvault/7.2",
"correlationId": "8806614c-ebc3-11ea-9e9b-00155db778ad",
"subnetId": "(unknown)",
"httpStatusCode": 202,
"PoolName": "mhsmdemo",
"requestUri": "https://ContosoMHSM.managedhsm.azure.net/backup",
"resourceGroup": "ContosoResourceGroup",
"resourceProvider": "MICROSOFT.KEYVAULT",
"resource": "ContosoMHSM",
"resourceType": "managedHSMs"
}
]
Próximas etapas
- Aprender sobre as melhores práticas para provisionar e usar um HSM Gerenciado
- Aprender sobre como fazer backup e restaurar um HSM Gerenciado