Compartilhar via


Habilitar os logs do Key Vault

Depois de criar um ou mais cofres de chaves, você provavelmente desejará monitorar como e quando seus cofres de chaves são acessados e por quem. Para obter detalhes completos sobre o recurso, consulte o log do Azure Key Vault.

O que é registrado em log:

  • Todas as solicitações de API REST autenticadas, incluindo solicitações com falha como resultado de permissões de acesso, erros do sistema ou solicitações incorretas.
  • Operações no próprio cofre de chaves, incluindo criação, exclusão, definição de políticas de acesso do cofre de chaves e atualização de atributos do cofre de chaves, como marcas.
  • Operações em chaves e segredos no cofre de chaves, incluindo:
    • Criando, modificando ou excluindo essas chaves ou segredos.
    • Assinar, verificar, criptografar, descriptografar, encapsular e desembrulhar chaves, obter segredos e listar chaves e segredos (e suas versões).
  • Solicitações não autenticadas que resultam em uma resposta 401. Exemplos são solicitações que não têm um token de portador, estão malformadas ou expiradas ou têm um token inválido.
  • Eventos de notificação da Grade de Eventos do Azure para as seguintes condições: expirado, expiração próxima e política de acesso do cofre alterada (o novo evento de versão não é registrado). Os eventos são registrados mesmo quando há uma assinatura de evento criada no Key Vault. Para obter mais informações, consulte o Azure Key Vault como origem da Grade de Eventos.

Pré-requisitos

Para concluir este tutorial, você precisará de um cofre de chaves do Azure. Você pode criar um novo cofre de chaves usando um destes métodos:

Você também precisará de um destino para os logs. O destino pode ser uma conta de armazenamento existente ou nova do Azure e/ou um workspace do Log Analytics.

Você pode criar uma nova conta de armazenamento do Azure usando um destes métodos:

Você pode criar um novo workspace do Log Analytics usando um destes métodos:

Conectar-se à sua assinatura do Key Vault

A primeira etapa para configurar um registro em log de chaves será conectar-se à assinatura que contém o cofre de chaves, se você tiver várias assinaturas associadas à sua conta.

Com a CLI do Azure, você pode exibir todas as suas assinaturas usando o comando az account list . Em seguida, você se conecta a um usando o comando az account set :

az account list

az account set --subscription "<subscriptionID>"

Com o Azure PowerShell, você pode primeiro listar suas assinaturas usando o cmdlet Get-AzSubscription . Em seguida, você se conecta a um usando o cmdlet Set-AzContext :

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Obter IDs de recurso

Para habilitar o registro em log em um cofre de chaves, você precisará da ID do recurso do cofre de chaves, bem como do destino (conta do Armazenamento do Azure ou do Log Analytics).

Se você não se lembrar do nome do cofre de chaves, poderá usar o comando az keyvault list da CLI do Azure ou o cmdlet Get-AzKeyVault do Azure PowerShell para encontrá-lo .

Use o nome do cofre de chaves para localizar a ID do recurso. Com a CLI do Azure, use o comando az keyvault show .

az keyvault show --name "<your-unique-keyvault-name>"

Com o Azure PowerShell, use o cmdlet Get-AzKeyVault.

Get-AzKeyVault -VaultName "<your-unique-keyvault-name>"

A ID do recurso para o seu cofre de chaves está no seguinte formato: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Anote-o para a próxima etapa.

Habilitar registro de log

Você pode habilitar o registro de atividades do Key Vault usando a CLI do Azure, o PowerShell do Azure ou o portal do Azure.

Azure CLI (Interface de Linha de Comando do Azure)

Use o comando az monitor diagnostic-settings az monitor diagnostic-settings create da CLI do Azure, a ID da conta de armazenamento e a ID do recurso do cofre de chaves, da seguinte maneira:

az monitor diagnostic-settings create --storage-account "<storage-account-id>" --resource "<key-vault-resource-id>" --name "Key vault logs" --logs '[{"category": "AuditEvent","enabled": true}]' --metrics '[{"category": "AllMetrics","enabled": true}]'

Opcionalmente, você pode definir uma política de retenção para seus logs, para que os logs mais antigos sejam excluídos automaticamente após um período especificado. Por exemplo, você pode definir uma política de retenção que exclui automaticamente logs com mais de 90 dias.

Com a CLI do Azure, utilize o comando az monitor diagnostic-settings update.

az monitor diagnostic-settings update --name "Key vault retention policy" --resource "<key-vault-resource-id>" --set retentionPolicy.days=90

Acessar seus logs

Os logs do Key Vault estão no contêiner insights-logs-auditevent na conta de armazenamento que você forneceu. Para exibir os logs, você precisa baixar blobs.

Primeiro, liste todos os blobs no contêiner. Com a CLI do Azure, use o comando az storage blob list .

az storage blob list --account-name "<your-unique-storage-account-name>" --container-name "insights-logs-auditevent"

Com o Azure PowerShell, use Get-AzStorageBlob. Para listar todos os blobs neste contêiner, insira:

Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context

Na saída do comando da CLI do Azure ou do cmdlet do Azure PowerShell, você pode ver que os nomes dos blobs estão no seguinte formato: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. Os valores de data e hora usam Tempo Universal Coordenado.

Como você pode usar a mesma conta de armazenamento para coletar logs para vários recursos, a ID de recurso completa no nome do blob é útil para acessar ou baixar apenas os blobs necessários.

Mas primeiro, baixe todos os blobs. Com a CLI do Azure, use o comando az storage blob download , passe os nomes dos blobs e o caminho para o arquivo no qual você deseja salvar os resultados.

az storage blob download --container-name "insights-logs-auditevent" --file <path-to-file> --name "<blob-name>" --account-name "<your-unique-storage-account-name>"

Com o Azure PowerShell, use o cmdlet Get-AzStorageBlob para obter uma lista dos blobs. Em seguida, redirecione essa lista para o cmdlet Get-AzStorageBlobContent para baixar os logs para o caminho escolhido.

$blobs = Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context | Get-AzStorageBlobContent -Destination "<path-to-file>"

Quando você executa este segundo cmdlet no PowerShell, o delimitador / nos nomes de blob cria uma estrutura de pasta completa na pasta de destino. Você usará essa estrutura para baixar e armazenar os blobs como arquivos.

Use caracteres curinga para baixar seletivamente os blobs. Por exemplo:

  • Se você tiver vários cofres da chave e quiser baixar logs de apenas um cofre da chave, chamado CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Se você tiver vários grupos de recursos e quiser baixar logs para apenas um grupo de recursos, use -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Se você quiser baixar todos os logs para o mês de janeiro de 2019, use -Blob '*/year=2019/m=01/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/year=2016/m=01/*'
    

Usar os logs do Azure Monitor

É possível usar a solução do Key Vault nos logs do Azure Monitor para examinar os logs AuditEvent do Key Vault. Nos logs do Azure Monitor, você usa consultas de log para analisar dados e obter as informações necessárias. Para saber mais, confira Monitoramento Key Vault.

Próximas etapas