Gravar auditoria em uma conta de armazenamento por trás de VNet e firewall

Aplica-se a:Banco de DadosSQL do Azure Azure Synapse Analytics

A auditoria do Banco de Dados SQL do Azure e do Azure Synapse Analytics dá suporte à gravação de eventos de banco de dados em uma conta de Armazenamento do Azure por trás de uma rede virtual e 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. O primeiro usa o portal do Azure, o segundo usa REST.

Fundo

A Rede Virtual do Azure (VNet) é o bloco de construção fundamental para a sua rede privada no Azure. A VNet permite que muitos tipos de recursos do Azure, como as Máquinas Virtuais (VM) do Azure, se comuniquem com segurança entre si, com a Internet e com redes locais. 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, consulte O que é a Rede Virtual do Azure.

Para saber mais sobre como criar uma rede virtual, consulte Guia de início rápido: criar uma rede virtual usando o portal do Azure.

Pré-requisitos

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

  • Uma conta de armazenamento v2 de uso geral. Se você tiver uma conta de armazenamento v1 ou blob de uso geral, atualize para uma conta de armazenamento v2 de uso geral. Para obter mais informações, consulte Tipos de contas de armazenamento.
  • O armazenamento premium com BlockBlobStorage é suportado
  • A conta de armazenamento deve estar no mesmo locatário e no mesmo local que o servidor SQL lógico (não há problema em estar em assinaturas diferentes).
  • A conta de Armazenamento do Azure requer Allow trusted Microsoft services to access this storage accounto . Defina isso nos firewalls da conta de armazenamento e nas redes virtuais.
  • Você deve ter Microsoft.Authorization/roleAssignments/write permissão na conta de armazenamento selecionada. Para obter mais informações, veja Funções incorporadas do Azure.

Nota

Quando a conta de auditoria para armazenamento já está habilitada em um servidor/db, e se a conta de armazenamento de destino for movida para trás de um firewall, perdemos o acesso de gravação à conta de armazenamento e os logs de auditoria param de ser gravados nela. Para fazer a auditoria funcionar, temos que salvar novamente as configurações de auditoria do portal.

Configurar no portal do Azure

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

  1. Clique em Auditoria sob o título Segurança . Selecione Ativado.

  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. Abrir detalhes de armazenamento

Nota

Se a conta de armazenamento selecionada estiver atrás da rede virtual, 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 rede virtual.

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

Configurar 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 Firewall.

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

Valores de exemplo Descrição da amostra
<subscriptionId> Id de subscrição do Azure
<resource group> Grupo de recursos
<logical SQL Server> Nome do servidor
<administrator login> Conta de administrador
<complex password> Senha complexa para a conta de administrador

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

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

    PowerShell

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

    API REST:

    Pedido de amostra

    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 do pedido

    {
    "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 de Blob de Armazenamento ao servidor que hospeda o banco de dados que você registrou com a ID do Microsoft Entra na etapa anterior.

    Para obter os passos detalhados, veja o artigo Atribuir funções do Azure com o portal do Azure.

    Nota

    Somente membros com privilégio de proprietário podem executar esta etapa. Para 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 uma storageAccountAccessKey:

    Pedido de amostra

      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 do pedido

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

Utilizar o Azure PowerShell

Com o modelo do Azure Resource Manager

Você pode configurar a auditoria para gravar eventos de banco de dados em uma conta de armazenamento atrá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 atrás da rede virtual e do firewall, você precisa definir o parâmetro isStorageBehindVnet como true

Nota

O exemplo vinculado está em um repositório público externo e é fornecido "no estado em que se encontra", sem garantia, e não é suportado por nenhum programa/serviço de suporte da Microsoft.

Próximos passos