Controllo per la scrittura in un account di archiviazione dietro rete virtuale e firewall

Si applica a:Database SQL di AzureAzure Synapse Analytics

Il controllo per database SQL di Azure e Azure Synapse Analytics supporta la scrittura di eventi di database in un account di archiviazione di Azure dietro una rete virtuale e un firewall.

Questo articolo illustra due modi per configurare il database SQL di Azure e l'account di archiviazione di Azure per questa opzione. Il primo usa il portale di Azure, il secondo usa REST.

Background

Rete virtuale di Azure (VNet) è il blocco predefinito fondamentale per la rete privata in Azure. VNet consente a diversi tipi di risorse di Azure, ad esempio Macchine virtuali di Azure, di comunicare in modo sicuro tra di esse, con Internet e con le reti locali. Simile alle reti tradizionali nei data center, VNet offre anche i vantaggi dell'infrastruttura di Azure, tra cui scalabilità, disponibilità e isolamento.

Per altre informazioni sui concetti relativi a VNet, sulle procedure consigliate e molto altro, vedere Che cos'è Rete virtuale di Azure?.

Per maggiori informazioni su come creare una rete virtuale, vedere Avvio rapido: creare una rete virtuale usando il portale di Azure.

Prerequisiti

Perché il controllo possa scrivere in un account di archiviazione dietro una rete virtuale o un firewall, sono necessari i prerequisiti seguenti:

  • Un account di archiviazione per utilizzo generico v2. Se si dispone di un account di archiviazione per utilizzo generico v1 o un account di archiviazione BLOB, eseguire l’aggiornamento a un account di archiviazione per utilizzo generico v2. Per altre informazioni, vedere Tipi di account di archiviazione.
  • L'archiviazione Premium con BlockBlobStorage è supportata
  • L'account di archiviazione deve trovarsi nello stesso tenant e nella stessa posizione del server SQL logico (è possibile essere in sottoscrizioni diverse).
  • L'account di archiviazione di Azure richiede Allow trusted Microsoft services to access this storage account. Effettuare questa impostazione in Firewall e reti virtuali dell’account di archiviazione.
  • È necessaria l’autorizzazione Microsoft.Authorization/roleAssignments/write per l'account di archiviazione selezionato. Per altre informazioni, vedere Ruoli predefiniti di Azure.

Nota

Quando il controllo nell'account di archiviazione è già abilitato in un server o in un database e se l'account di archiviazione di destinazione viene spostato dietro un firewall, si perde l'accesso in scrittura all'account di archiviazione e non vengono più scritti i log di controllo. Per eseguire il controllo, è necessario salvare di nuovo le impostazioni di controllo dal portale.

Configurare nel portale di Azure

Connettersi al portale di Azure con la propria sottoscrizione. Passare al gruppo di risorse e al server.

  1. Fare clic su Controllo sotto l'intestazione Sicurezza. Selezionare Attivato.

  2. Selezionare Archiviazione. Selezionare l'account di archiviazione in cui verranno salvati i log. L'account di archiviazione deve essere conforme ai requisiti elencati in Prerequisiti.

  3. Aprire Dettagli archiviazione

Nota

Se l'account di archiviazione selezionato è dietro VNet, verrà visualizzato il messaggio seguente:

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 questo messaggio non viene visualizzato, l'account di archiviazione non si trova dietro una rete virtuale.

  1. Selezionare il numero di giorni per il periodo di conservazione. Quindi fare clic su OK. I log antecedenti al periodo di conservazione vengono eliminati.

  2. Selezionare Salva nelle impostazioni di controllo.

Il controllo è stato configurato correttamente per la scrittura in un account di archiviazione dietro una rete virtuale o un firewall.

Configurare con i comandi REST

In alternativa all'uso del portale di Azure, è possibile usare i comandi REST per configurare il controllo per la scrittura di eventi di database in un account di archiviazione dietro una rete virtuale e un firewall.

Per gli script di esempio di questa sezione, è necessario aggiornare lo script prima di eseguirlo. Sostituire i valori seguenti negli script:

Valore di esempio Descrizione di esempio
<subscriptionId> ID sottoscrizione di Azure
<resource group> Gruppo di risorse
<logical SQL Server> Nome server
<administrator login> Account amministratore
<complex password> Password complessa dell'account amministratore

Per configurare il controllo SQL per la scrittura di eventi in un account di archiviazione dietro una rete virtuale o un firewall:

  1. Registrare il server con Microsoft Entra ID (precedentemente Azure Active Directory). Usare PowerShell o l'API REST.

    PowerShell

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

    API REST:

    Esempio di richiesta

    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 della richiesta

    {
    "identity": {
               "type": "SystemAssigned",
               },
    "properties": {
      "fullyQualifiedDomainName": "<azure server name>.database.windows.net",
      "administratorLogin": "<administrator login>",
      "administratorLoginPassword": "<complex password>",
      "version": "12.0",
      "state": "Ready"
      }
    }
    
  2. Assegnare il ruolo Collaboratore dati del BLOB di archiviazione al server che ospita il database registrato con Microsoft Entra ID nel passaggio precedente.

    Per la procedura dettagliata, vedere Assegnare ruoli di Azure usando il portale di Azure.

    Nota

    Solo i membri con il privilegio di proprietario possono eseguire questo passaggio. Per i vari ruoli predefiniti di Azure, vedere Ruoli predefiniti di Azure.

  3. Configurare il criterio di controllo BLOB del server, senza specificare storageAccountAccessKey:

    Esempio di richiesta

      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 della richiesta

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

Uso di Azure PowerShell

Uso del modello di Azure Resource Manager

È possibile configurare il controllo per scrivere eventi di database in un account di archiviazione dietro la rete virtuale e il firewall usando il modello di Azure Resource Manager, come illustrato nell'esempio seguente:

Importante

Per usare l'account di archiviazione dietro la rete virtuale e il firewall, è necessario impostare il parametro isStorageBehindVnet su true

Nota

L'esempio collegato si trova in un repository pubblico esterno, viene fornito 'così com'è', senza alcuna garanzia, e non è supportato in alcun programma o servizio di supporto tecnico Microsoft.

Passaggi successivi