Partilhar via


Registo HSM gerido

Depois de criar um ou mais HSMs gerenciados, você provavelmente desejará monitorar como e quando seus HSMs são acessados e por quem. Você pode fazer isso habilitando o log, que salva informações em uma conta de armazenamento do Azure que você fornece. Um novo contêiner chamado insights-logs-auditevent é criado automaticamente para sua conta de armazenamento especificada. Você pode usar essa mesma conta de armazenamento para coletar logs para vários HSMs gerenciados.

Você pode acessar suas informações de log 10 minutos (no máximo) após a operação do HSM gerenciado. Na maioria dos casos, o processo será ainda mais rápido. Cabe-lhe gerir os seus registos na sua conta de armazenamento:

  • Utilize métodos padrão de controlo de acesso do Azure para proteger os seus registos, restringindo o seu acesso.
  • Elimine os registos que já não pretende manter na sua conta de armazenamento.

Use este tutorial para ajudá-lo 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.

Nota

Este tutorial não inclui instruções sobre como criar HSMs ou chaves gerenciadas. Este artigo fornece instruções da CLI do Azure para atualizar o log de diagnóstico.

Pré-requisitos

Para concluir as etapas neste artigo, você deve ter os seguintes itens:

Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. Captura de tela que mostra um exemplo de Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus, na parte direita 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 comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou comando.

Ligar à sua subscrição do Azure

A primeira etapa na configuração do log de chaves é apontar a CLI do Azure para o HSM gerenciado que você deseja registrar.

az login

Para obter mais informações sobre as opções de início de sessão através da CLI, consulte iniciar sessão com a CLI do Azure

Talvez seja necessário especificar a assinatura usada para criar o HSM gerenciado. Introduza o seguinte comando para ver as subscrições 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)

Ativar registo

Para habilitar o registro em log para o HSM gerenciado, use o comando az monitor diagnostic-settings create , 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 definiremos a categoria como AuditEvent (a única categoria para registro em log do HSM gerenciado):

Essa saída confirma que o registro em log agora está habilitado para seu HSM gerenciado e salvará informações em sua conta de armazenamento.

Opcionalmente, você pode definir uma política de retenção para seus logs de modo que os logs mais antigos sejam excluídos automaticamente. 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 com mais de 90 dias sejam excluídos automaticamente.

az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource

O que é registado:

  • Todas as solicitações de API REST autenticadas, incluindo solicitações com falha como resultado de permissões de acesso, erros do sistema, bloqueios de firewall ou solicitações incorretas.
  • Operações de plano gerenciado no próprio recurso HSM gerenciado, incluindo criação, exclusão e atualização de atributos, como tags.
  • Operações relacionadas ao domínio de segurança, como inicializar & download, inicializar recuperação, carregar
  • Operações completas de backup, restauração e restauração seletiva do HSM
  • Operações de gerenciamento de funções, 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, encriptar, desencriptar, encapsular e desembrulhar chaves, listar chaves.
    • Backup de chaves, restauração, limpeza
    • Comunicado principal
  • Caminhos inválidos que resultam em uma resposta 404.

Aceder aos registos

Os logs gerenciados do HSM são armazenados no contêiner insights-logs-auditevent na conta de armazenamento fornecida. Para visualizar os logs, você precisa baixar blobs. Para obter informações sobre o Armazenamento do Azure, consulte Criar, baixar e listar blobs com a CLI do Azure.

Blobs individuais são armazenados como texto, formatados como um JSON. Vejamos um exemplo de entrada de log. O exemplo abaixo mostra a entrada de log quando uma solicitação para criar um backup completo é enviada para o 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óximos passos