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:

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. Captura de tela que mostra um exemplo de Experimente para o Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Captura de tela que mostra o botão Cloud Shell no portal do Azure

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. 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.

  4. 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