Gravação de auditoria para conta de armazenamento atrás de rede virtual ou firewall

Aplica-se a: Banco de Dados SQL do Azure Azure Synapse Analytics

A auditoria para Banco de Dados SQL do Azure e Azure Synapse Analytics dá suporte à gravação de eventos de bancos de dados em uma Conta de Armazenamento do Azure atrás de uma rede virtual e do firewall.

Este artigo explica duas maneiras de configurar o Banco de Dados SQL do Azure e a conta de armazenamento do Azure para essa opção. A primeira usa o portal do Azure, a segundo usa REST.

Segundo plano

A Rede Virtual do Azure (VNet) é o bloco de construção fundamental de sua rede privada no Azure. Ela permite vários tipos de recursos do Azure, como VMs (Máquinas Virtuais) do Azure, a fim de se comunicar de forma segura com a Internet, com as redes locais e com outras VMs. A VNet é semelhante a uma rede tradicional em seu próprio data center, mas traz benefícios adicionais da infraestrutura do Azure, como escala, disponibilidade e isolamento.

Para saber mais sobre os conceitos de VNet, práticas recomendadas e muito mais, veja O que é a Rede Virtual do Azure.

Para saber mais sobre como criar uma rede virtual, veja o Guia de Início Rápido: Criação de uma rede virtual usando o portal do Azure.

Pré-requisitos

Para que a auditoria grave em uma conta de armazenamento atrás de uma VNet ou um firewall, os seguintes pré-requisitos são necessários:

  • Uma conta de armazenamento de uso geral v2. Se tiver uma conta de armazenamento de uso geral v1 ou de armazenamento de blobs, atualize para uma conta de armazenamento de uso geral v2. Para obter mais informações, veja Tipos de contas de armazenamento.
  • Há suporte para o armazenamento Premium com o BlockBlobStorage
  • A conta de armazenamento precisa estar no mesmo locatário e na mesma localização do servidor SQL lógico (podem estar em assinaturas diferentes).
  • A conta de Armazenamento do Azure requer Allow trusted Microsoft services to access this storage account. Defina isso nos Firewall e Redes Virtuais da Conta de Armazenamento.
  • Você deve ter a permissão Microsoft.Authorization/roleAssignments/write na conta de armazenamento selecionada. Para obter mais informações, veja Funções internas do Azure.

Observação

Quando a auditoria na conta de armazenamento já está habilitada em um servidor/banco de dados e, se a conta de armazenamento de destino for movida sob a proteção de um firewall, perderemos o acesso de gravação à conta de armazenamento e os logs de auditoria não serão mais gravados nela. Para fazer a auditoria funcionar, precisamos salvar novamente as configurações de auditoria do portal.

Configurar no portal do Azure

Conecte-se ao portal do Azure com a sua assinatura. Navegue até o grupo de recursos e servidor.

  1. Clique em Auditoria no cabeçalho de segurança. Selecione Ativada.

  2. Selecione Armazenamento. Selecione a conta de armazenamento onde os logs serão salvos. A conta de armazenamento deve estar em conformidade com os requisitos listados em Pré-requisitos.

  3. Abra Detalhes de Armazenamento

Observação

Se a conta de Armazenamento selecionada estiver atrás da VNet, você verá a seguinte mensagem:

You have selected a storage account that is behind a firewall or in a virtual network. Using this storage requires to enable 'Allow trusted Microsoft services to access this storage account' on the storage account and creates a server managed identity with 'storage blob data contributor' RBAC.

Se você não vir essa mensagem, a conta de armazenamento não está atrás de uma VNet.

  1. Selecione o número de dias para o período de retenção. Em seguida, clique em OK. Os logs anteriores ao período de retenção são excluídos.

  2. Selecione Salvar nas configurações de auditoria.

Você configurou com êxito a auditoria para gravar em uma conta de armazenamento atrás de uma VNet ou um firewall.

Configuração com comandos REST

Como alternativa ao uso do portal do Azure, você pode usar comandos REST para configurar a auditoria para gravar eventos de banco de dados em uma conta de armazenamento atrás de uma VNet e um firewall.

Os scripts de exemplo nesta seção exigem que você atualize o script antes de executá-los. Substitua os seguintes valores nos scripts:

Valor de exemplo Descrição do exemplo
<subscriptionId> ID de assinatura do Azure
<resource group> Resource group
<logical SQL Server> Nome do servidor
<administrator login> Conta de administrador
<complex password> Senha complexa para a conta do administrador

Para configurar a Auditoria do SQL para gravar eventos em uma conta de armazenamento atrás de uma VNet ou um firewall:

  1. Registre seu servidor com o Microsoft Entra ID (anteriormente Azure Active Directory). Use o PowerShell ou a API REST.

    PowerShell

    Connect-AzAccount
    Select-AzSubscription -SubscriptionId <subscriptionId>
    Set-AzSqlServer -ResourceGroupName <your resource group> -ServerName <azure server name> -AssignIdentity
    

    API REST:

    Solicitação de exemplo

    PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure server name>?api-version=2015-05-01-preview
    

    Corpo da solicitação

    {
    "identity": {
               "type": "SystemAssigned",
               },
    "properties": {
      "fullyQualifiedDomainName": "<azure server name>.database.windows.net",
      "administratorLogin": "<administrator login>",
      "administratorLoginPassword": "<complex password>",
      "version": "12.0",
      "state": "Ready"
      }
    }
    
  2. Atribua a função de Colaborador de dados do blob de armazenamento ao servidor que hospeda o banco de dados registrado com o Microsoft Entra ID na etapa anterior.

    Para ver as etapas detalhadas, confira Atribuir funções do Azure usando o portal do Azure.

    Observação

    Somente membros com o privilégio Proprietário podem executar essa etapa. Para conhecer as várias funções internas do Azure, consulte Funções internas do Azure.

  3. Configure a Política de auditoria de blob do servidor, sem especificar um storageAccountAccessKey:

    Solicitação de exemplo

      PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure server name>/auditingSettings/default?api-version=2017-03-01-preview
    

    Corpo da solicitação

    {
      "properties": {
       "state": "Enabled",
       "storageEndpoint": "https://<storage account>.blob.core.windows.net"
      }
    }
    

Usando o PowerShell do Azure

Usar o modelo do Azure Resource Manager

Você pode configurar a auditoria para gravar eventos de banco de dados em uma conta de armazenamento por trás da rede virtual e do firewall usando o modelo do Azure Resource Manager, conforme mostrado no exemplo a seguir:

Importante

Para usar a conta de armazenamento por trás da rede virtual e do firewall, você precisa definir o parâmetro isStorageBehindVnet como true

Observação

O exemplo vinculado está em um repositório público externo e é fornecidos “no estado em que se encontram”, sem garantias e não tem suporte de nenhum programa/serviço de suporte da Microsoft.

Próximas etapas