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

Si applica a: Azure SQL Database Azure 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 Azure SQL Database 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 ulteriori 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 che si tratti di 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.
  • Il tipo di autenticazione dell'identità gestita dall'utente per abilitare il controllo nell'archiviazione dietro il firewall non è attualmente supportato.

Nota

Quando il controllo dell'account di stoarge è già abilitato in un server/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 i log di controllo non vengono scritti. Per eseguire il controllo, è necessario ricampionare 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. Fare quindi 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> Resource group
<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 Azure Active Directory (Azure AD). 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:

    Richiesta di esempio

    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 BLOB di archiviazione al server che ospita il database registrato con Azure Active Directory (Azure AD) nel passaggio precedente.

    Per i passaggi dettagliati, vedere Assegnare ruoli di Azure usando il portale di Azure.

    Nota

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

  3. Configurare i criteri di controllo BLOB del server, senza specificare storageAccountAccessKey:

    Richiesta di esempio

      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 Resource Manager di Azure, 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 e viene fornito "così com'è", senza garanzia e non è supportato in alcun programma o servizio di supporto Microsoft.

Passaggi successivi