Usare endpoint servizio e regole di rete virtuale per server di databaseUse virtual network service endpoints and rules for database servers

Le regole di rete virtuale rappresentano una funzionalità di sicurezza firewall che consente di definire se il server di database per i database singoli e il pool elastico nel database SQL di Azure o per i database in SQL Data Warehouse accetta le comunicazioni inviate da subnet specifiche nelle reti virtuali.Virtual network rules are one firewall security feature that controls whether the database server for your single databases and elastic pool in Azure SQL Database or for your databases in SQL Data Warehouse accepts communications that are sent from particular subnets in virtual networks. Questo articolo spiega i motivi per cui la funzionalità relativa alle regole di rete virtuale rappresenti a volte la scelta ideale per consentire le comunicazioni con il database SQL di Azure e SQL Data Warehouse in modo sicuro.This article explains why the virtual network rule feature is sometimes your best option for securely allowing communication to your Azure SQL Database and SQL Data Warehouse.

Importante

Questo articolo è applicabile al server SQL di Azure e ai database SQL e di SQL Data Warehouse creati nel server SQL di Azure.This article applies to Azure SQL server, and to both SQL Database and SQL Data Warehouse databases that are created on the Azure SQL server. Per semplicità, "database SQL" viene usato per fare riferimento sia al database SQL che al database di SQL Data Warehouse.For simplicity, SQL Database is used when referring to both SQL Database and SQL Data Warehouse. Le informazioni di questo articolo non sono valide per la distribuzione di un'istanza gestita nel database SQL di Azure perché non ha un endpoint di servizio associato.This article does not apply to a managed instance deployment in Azure SQL Database because it does not have a service endpoint associated with it.

Per creare una regola della rete virtuale, è necessario prima di tutto un endpoint del servizio di rete virtuale per la regola a cui fare riferimento.To create a virtual network rule, there must first be a virtual network service endpoint for the rule to reference.

Come creare una regola di rete virtualeHow to create a virtual network rule

Se si crea solo una regola di rete virtuale, è possibile procedere direttamente ai passaggi e alla spiegazione più avanti in questo articolo.If you only create a virtual network rule, you can skip ahead to the steps and explanation later in this article.

Dettagli sulle regole di rete virtualeDetails about virtual network rules

Questa sezione illustra alcuni dettagli sulle regole di rete virtuale.This section describes several details about virtual network rules.

Una sola area geograficaOnly one geographic region

Ogni endpoint servizio di rete virtuale si applica a una sola area di Azure.Each Virtual Network service endpoint applies to only one Azure region. L'endpoint non consente ad altre aree di accettare le comunicazioni dalla subnet.The endpoint does not enable other regions to accept communication from the subnet.

Ogni regola di rete virtuale è limitata all'area a cui si applica il relativo endpoint sottostante.Any virtual network rule is limited to the region that its underlying endpoint applies to.

A livello di server, non a livello di databaseServer-level, not database-level

Ogni regola di rete virtuale si applica all'intero server di database SQL di Azure, non solo a un determinato database nel server.Each virtual network rule applies to your whole Azure SQL Database server, not just to one particular database on the server. In altre parole, la regola di rete virtuale si applica a livello di server, non a livello di database.In other words, virtual network rule applies at the server-level, not at the database-level.

  • Al contrario, le regole IP possono essere applicate a qualsiasi livello.In contrast, IP rules can apply at either level.

Ruoli di amministrazione di sicurezzaSecurity administration roles

I ruoli di sicurezza sono distinti nell'amministrazione degli endpoint servizio di rete virtuale.There is a separation of security roles in the administration of Virtual Network service endpoints. Ogni ruolo indicato di seguito deve svolgere determinate azioni:Action is required from each of the following roles:

  • Amministratore di rete:   attivare l'endpoint.Network Admin:   Turn on the endpoint.
  • Amministratore di database:   aggiornare l'elenco di controllo di accesso (ACL) per aggiungere la subnet specificata al server di database SQL.Database Admin:   Update the access control list (ACL) to add the given subnet to the SQL Database server.

Alternativa del controllo degli accessi in base al ruolo:RBAC alternative:

I ruoli di amministratore di rete e amministratore di database hanno più funzionalità di quelle necessarie a gestire le regole di rete virtuale.The roles of Network Admin and Database Admin have more capabilities than are needed to manage virtual network rules. È necessario solo un subset delle relative funzionalità.Only a subset of their capabilities is needed.

È possibile scegliere di usare il controllo degli accessi in base al ruolo (RBAC) in Azure per creare un singolo ruolo personalizzato con solo il subset di funzionalità necessario.You have the option of using role-based access control (RBAC) in Azure to create a single custom role that has only the necessary subset of capabilities. Il ruolo personalizzato può essere utilizzato invece di coinvolgere l'amministratore di rete o l'amministratore del database. La superficie di attacco dell'esposizione alla sicurezza è inferiore se si aggiunge un utente a un ruolo personalizzato, anziché aggiungere l'utente agli altri due ruoli di amministratore principali.The custom role could be used instead of involving either the Network Admin or the Database Admin. The surface area of your security exposure is lower if you add a user to a custom role, versus adding the user to the other two major administrator roles.

Nota

In alcuni casi il database SQL di Azure e la subnet della rete virtuale sono in sottoscrizioni diverse.In some cases the Azure SQL Database and the VNet-subnet are in different subscriptions. In questi casi è necessario garantire le configurazioni seguenti:In these cases you must ensure the following configurations:

  • Entrambe le sottoscrizioni devono essere nello stesso tenant di Azure Active Directory.Both subscriptions must be in the same Azure Active Directory tenant.
  • L'utente ha le autorizzazioni necessarie per avviare le operazioni, ad esempio abilitare gli endpoint di servizio e aggiungere una subnet della rete virtuale al server specificato.The user has the required permissions to initiate operations, such as enabling service endpoints and adding a VNet-subnet to the given Server.
  • Entrambe le sottoscrizioni devono avere registrato il provider di Microsoft.Sql.Both subscriptions must have the Microsoft.Sql provider registered.

LimitazioniLimitations

Per il database SQL di Azure, la funzionalità delle regole di rete virtuale presenta le limitazioni seguenti:For Azure SQL Database, the virtual network rules feature has the following limitations:

  • Nel firewall per il database SQL ogni regola di rete virtuale fa riferimento a una subnet.In the firewall for your SQL Database, each virtual network rule references a subnet. Tutte queste subnet cui viene fatto riferimento devono essere ospitate nella stessa area geografica che ospita il database SQL.All these referenced subnets must be hosted in the same geographic region that hosts the SQL Database.

  • Ogni server di database SQL di Azure può includere fino a 128 voci ACL per qualsiasi rete virtuale specificata.Each Azure SQL Database server can have up to 128 ACL entries for any given virtual network.

  • Le regole della rete virtuale si applicano solo alle reti virtuali Azure Resource Manager; e non alle reti di modelli di distribuzione classica .Virtual network rules apply only to Azure Resource Manager virtual networks; and not to classic deployment model networks.

  • L'attivazione degli endpoint servizio di rete virtuale nel database SQL di Azure abilita anche gli endpoint per i servizi MySQL e PostgreSQL Azure.Turning ON virtual network service endpoints to Azure SQL Database also enables the endpoints for the MySQL and PostgreSQL Azure services. Tuttavia, con gli endpoint attivati i tentativi di connessione dagli endpoint alle istanze di MySQL o PostgreSQL potrebbero avere esito negativo.However, with endpoints ON, attempts to connect from the endpoints to your MySQL or PostgreSQL instances may fail.

    • La causa principale è che MySQL e PostgreSQL probabilmente non possiedono una regola di rete virtuale configurata.The underlying reason is that MySQL and PostgreSQL likely do not have a virtual network rule configured. Configurare una regola di rete virtuale per Database di Azure per MySQL e PostgreSQL; in questo modo la connessione avrà esito positivo.You must configure a virtual network rule for Azure Database for MySQL and PostgreSQL and the connection will succeed.
  • Nel firewall, gli intervalli di indirizzi IP si applicano ai seguenti elementi di rete, ma non le regole di rete virtuale:On the firewall, IP address ranges do apply to the following networking items, but virtual network rules do not:

Considerazioni sull'uso di endpoint del servizioConsiderations when using Service Endpoints

Quando si usano gli endpoint del servizio per il Database SQL di Azure, rivedere le considerazioni seguenti:When using service endpoints for Azure SQL Database, review the following considerations:

  • In uscita verso gli indirizzi IP pubblici del Database SQL di Azure è necessario che i gruppi di sicurezza di rete devono essere aperti gli indirizzi IP del Database SQL di Azure per consentire la connettività.Outbound to Azure SQL Database Public IPs is required: Network Security Groups (NSGs) must be opened to Azure SQL Database IPs to allow connectivity. È possibile farlo tramite i Tag dei servizi del Gruppo di sicurezza di rete per il Database SQL di Azure.You can do this by using NSG Service Tags for Azure SQL Database.

ExpressRouteExpressRoute

Se si usa ExpressRoute dall'ambiente locale, per il peering pubblico o per il peering Microsoft, sarà necessario identificare gli indirizzi IP NAT usati.If you are using ExpressRoute from your premises, for public peering or Microsoft peering, you will need to identify the NAT IP addresses that are used. Per il peering pubblico, ogni circuito ExpressRoute usa per impostazione predefinita due indirizzi IP NAT applicati al traffico del servizio di Azure quando il traffico entra nel backbone della rete di Microsoft Azure.For public peering, each ExpressRoute circuit by default uses two NAT IP addresses applied to Azure service traffic when the traffic enters the Microsoft Azure network backbone. Per il peering Microsoft, gli indirizzi IP NAT usati vengono forniti dal cliente o dal provider del servizio.For Microsoft peering, the NAT IP address(es) that are used are either customer provided or are provided by the service provider. Per consentire l'accesso alle risorse del servizio è necessario autorizzare questi indirizzi IP pubblici nell'impostazione del firewall IP per le risorse.To allow access to your service resources, you must allow these public IP addresses in the resource IP firewall setting. Per trovare gli indirizzi IP del circuito ExpressRoute per il peering pubblico, aprire un ticket di supporto in ExpressRoute tramite il portale di Azure.To find your public peering ExpressRoute circuit IP addresses, open a support ticket with ExpressRoute via the Azure portal. Vedere altre informazioni su NAT per il peering pubblico e il peering Microsoft ExpressRoute.Learn more about NAT for ExpressRoute public and Microsoft peering.

Per consentire la comunicazione tra il circuito e il database SQL di Azure, è necessario creare regole di rete IP per gli indirizzi IP pubblici di NAT.To allow communication from your circuit to Azure SQL Database, you must create IP network rules for the public IP addresses of your NAT.

Impatto dell'uso degli endpoint di servizio di rete virtuale con Archiviazione di AzureImpact of using VNet Service Endpoints with Azure storage

Archiviazione di Azure ha implementato la stessa funzionalità che consente di limitare la connettività all'account di archiviazione di Azure.Azure Storage has implemented the same feature that allows you to limit connectivity to your Azure Storage account. Se si sceglie di usare questa funzionalità con un account di archiviazione di Azure usato da un server SQL Azure, possono verificarsi problemi.If you choose to use this feature with an Azure Storage account that is being used by Azure SQL Server, you can run into issues. Di seguito sono riportati un elenco e una spiegazione delle funzionalità del database SQL di Azure e di Azure SQL Data Warehouse interessate.Next is a list and discussion of Azure SQL Database and Azure SQL Data Warehouse features that are impacted by this.

PolyBase di Azure SQL Data WarehouseAzure SQL Data Warehouse PolyBase

PolyBase viene in genere usato per caricare i dati in Azure SQL Data Warehouse dagli account di archiviazione di Azure.PolyBase is commonly used to load data into Azure SQL Data Warehouse from Azure Storage accounts. Se l'account di archiviazione di Azure da cui si caricano i dati limita l'accesso solo a un set di subnet della rete virtuale, la connettività da PolyBase all'account verrà interrotta.If the Azure Storage account that you are loading data from limits access only to a set of VNet-subnets, connectivity from PolyBase to the Account will break. Per poter usare scenari sia di importazione che di esportazione di PolyBase con Azure SQL Data Warehouse che si connette ad Archiviazione di Azure protetta con la rete virtuale, seguire la procedura descritta di seguito.For enabling both PolyBase import and export scenarios with Azure SQL Data Warehouse connecting to Azure Storage that's secured to VNet, follow the steps indicated below:

PrerequisitiPrerequisites

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Importante

Il modulo Azure Resource Manager di PowerShell è ancora supportato dal database SQL di Azure, ma tutte le attività di sviluppo future sono per il modulo AZ. SQL.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Per questi cmdlet, vedere AzureRM. SQL.For these cmdlets, see AzureRM.Sql. Gli argomenti per i comandi nel modulo AZ e nei moduli AzureRm sono sostanzialmente identici.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

  1. Installare Azure PowerShell usando questa guida.Install Azure PowerShell using this guide.
  2. Se si dispone di un account di archiviazione BLOB o per utilizzo generico v1, prima è necessario eseguire l'aggiornamento all'utilizzo generico v2 usando questa guida.If you have a general-purpose v1 or blob storage account, you must first upgrade to general-purpose v2 using this guide.
  3. È necessario avere attivato l'opzione Consenti ai servizi Microsoft attendibili di accedere a questo account di archiviazione nel menu delle impostazioni Firewall e reti virtuali di tale account.You must have Allow trusted Microsoft services to access this storage account turned on under Azure Storage account Firewalls and Virtual networks settings menu. Per altre informazioni, fare riferimento a questa guida.Refer to this guide for more information.

PassiSteps

  1. In PowerShell registrare il SQL Server di Azure che ospita l'istanza di Azure SQL Data Warehouse con Azure Active Directory (AAD):In PowerShell, register your Azure SQL Server hosting your Azure SQL Data Warehouse instance with Azure Active Directory (AAD):

    Connect-AzAccount
    Select-AzSubscription -SubscriptionId your-subscriptionId
    Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-SQL-servername -AssignIdentity
    
    1. Creare un account di archiviazione per utilizzo generico v2 usando questa guida.Create a general-purpose v2 Storage Account using this guide.

    Nota

    • Se si dispone di un account di archiviazione BLOB o per utilizzo generico v1, è necessario prima eseguire l'aggiornamento a v2 usando questa guida.If you have a general-purpose v1 or blob storage account, you must first upgrade to v2 using this guide.
    • Per problemi noti con Azure Data Lake Storage Gen2, fare riferimento a questa guida.For known issues with Azure Data Lake Storage Gen2, please refer to this guide.
  2. Quando si è posizionati nell'account di archiviazione, passare a Controllo di accesso (IAM) e fare clic su Aggiungi un'assegnazione di ruolo.Under your storage account, navigate to Access Control (IAM), and click Add role assignment. Assegnare il ruolo di collaboratore dei dati BLOB di archiviazione al SQL Server di Azure che ospita i Azure SQL data warehouse registrati con Azure Active Directory (AAD) come nel passaggio 1.Assign Storage Blob Data Contributor RBAC role to your Azure SQL Server hosting your Azure SQL Data Warehouse which you've registered with Azure Active Directory (AAD) as in step#1.

    Nota

    Solo i membri con il privilegio di proprietario possono eseguire questo passaggio.Only members with Owner privilege can perform this step. Per i vari ruoli predefiniti per le risorse di Azure, fare riferimento a questa guida.For various built-in roles for Azure resources, refer to this guide.

  3. Connettività di Polybase all'account di archiviazione di Azure:Polybase connectivity to the Azure Storage account:

    1. Creare una chiave master del database, se non è stata creata in precedenza:Create a database master key if you haven't created one earlier:

      CREATE MASTER KEY [ENCRYPTION BY PASSWORD = 'somepassword'];
      
    2. Creare credenziali con ambito database con IDENTITY = 'Managed Service Identity' :Create database scoped credential with IDENTITY = 'Managed Service Identity':

      CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';
      

      Nota

      • Non è necessario specificare SECRET con la chiave di accesso ad Archiviazione di Azure perché questo meccanismo in pratica usa l'identità gestita.There is no need to specify SECRET with Azure Storage access key because this mechanism uses Managed Identity under the covers.
      • Il nome IDENTITY deve essere 'Managed Service Identity' affinché la connettività di PolyBase funzioni con l'account di archiviazione di Azure protetto con la rete virtuale.IDENTITY name should be 'Managed Service Identity' for PolyBase connectivity to work with Azure Storage account secured to VNet.
    3. Creare un'origine dati esterna con lo schema abfss:// per la connessione all'account di archiviazione per utilizzo generico v2 con PolyBase:Create external data source with abfss:// scheme for connecting to your general-purpose v2 storage account using PolyBase:

      CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);
      

      Nota

      • Se sono già presenti tabelle esterne associate all'account di archiviazione BLOB o per utilizzo generico v1, è necessario prima rimuovere queste tabelle esterne e quindi rimuovere l'origine dati esterna corrispondente.If you already have external tables associated with general-purpose v1 or blob storage account, you should first drop those external tables and then drop corresponding external data source. A questo punto, creare l'origine dati esterna con lo schema abfss:// per la connessione all'account di archiviazione per utilizzo generico v2 come specificato sopra e creare di nuovo tutte le tabelle esterne usando questa nuova origine dati esterna.Then create external data source with abfss:// scheme connecting to general-purpose v2 storage account as above and re-create all the external tables using this new external data source. Per comodità, è possibile usare la procedura guidata Genera e pubblica script per generare gli script di creazione per tutte le tabelle esterne.You could use Generate and Publish Scripts Wizard to generate create-scripts for all the external tables for ease.
      • Per altre informazioni sullo schema abfss://, fare riferimento a questa guida.For more information on abfss:// scheme, refer to this guide.
      • Per altre informazioni su CREATE EXTERNAL DATA SOURCE, fare riferimento a questa guida.For more information on CREATE EXTERNAL DATA SOURCE, refer to this guide.
    4. Eseguire le query come di consueto usando le tabelle esterne.Query as normal using external tables.

Controllo BLOB del database SQL di AzureAzure SQL Database Blob Auditing

Il controllo BLOB esegue il push dei log di controllo nell'account di archiviazione.Blob auditing pushes audit logs to your own storage account. Se questo account di archiviazione usa la funzionalità degli endpoint di servizio di rete virtuale, la connettività dal database SQL di Azure all'account di archiviazione verrà interrotta.If this storage account uses the VNet Service endpoints feature then connectivity from Azure SQL Database to the storage account will break.

Aggiunta di una regola del firewall della rete virtuale al server senza attivare gli endpoint di servizio di rete virtualeAdding a VNet Firewall rule to your server without turning On VNet Service Endpoints

In passato, prima che questa funzionalità fosse migliorata, era necessario attivare gli endpoint servizio di rete virtuale prima di poter implementare una regola di rete virtuale attiva nel firewall.Long ago, before this feature was enhanced, you were required to turn VNet service endpoints On before you could implement a live VNet rule in the Firewall. Gli endpoint correlavano una determinata subnet della rete virtuale a un database SQL di Azure.The endpoints related a given VNet-subnet to an Azure SQL Database. A partire da gennaio 2018 è invece possibile aggirare questo requisito impostando il flag IgnoreMissingVNetServiceEndpoint.But now as of January 2018, you can circumvent this requirement by setting the IgnoreMissingVNetServiceEndpoint flag.

La semplice impostazione di una regola del firewall non consente di proteggere il server.Merely setting a Firewall rule does not help secure the server. Per garantire la sicurezza, è anche necessario attivare gli endpoint di servizio di rete virtuale.You must also turn VNet service endpoints On for the security to take effect. Quando si attivano gli endpoint di servizio, la subnet della rete virtuale registra un tempo di inattività fino al termine della transizione dallo stato inattivo a quello attivo.When you turn service endpoints On, your VNet-subnet experiences downtime until it completes the transition from Off to On. Questo vale soprattutto per le reti virtuali di grandi dimensioni.This is especially true in the context of large VNets. È possibile usare il flag IgnoreMissingVNetServiceEndpoint per ridurre o eliminare il tempo di inattività durante la transizione.You can use the IgnoreMissingVNetServiceEndpoint flag to reduce or eliminate the downtime during transition.

È possibile impostare il flag IgnoreMissingVNetServiceEndpoint usando PowerShell.You can set the IgnoreMissingVNetServiceEndpoint flag by using PowerShell. Per informazioni dettagliate, vedere PowerShell per creare un endpoint del servizio di rete virtuale e una regola per il database SQL di Azure.For details, see PowerShell to create a Virtual Network service endpoint and rule for Azure SQL Database.

Errori 40914 e 40615Errors 40914 and 40615

L'errore di connessione 40914 è correlato alle regole di rete virtuale, come specificato nel riquadro Firewall nel portale di Azure.Connection error 40914 relates to virtual network rules, as specified on the Firewall pane in the Azure portal. L'errore 40615 è simile, ma è correlato alle regole degli indirizzi IP in Firewall.Error 40615 is similar, except it relates to IP address rules on the Firewall.

Errore 40914Error 40914

Testo del messaggio: Impossibile aprire il server ' [nome-server] ' richiesto dall'accesso.Message text: Cannot open server '[server-name]' requested by the login. Non è consentito l'accesso del client al server.Client is not allowed to access the server.

Descrizione dell'errore: il client si trova in una subnet che include endpoint server di rete virtuale.Error description: The client is in a subnet that has virtual network server endpoints. Tuttavia, il server di database SQL di Azure non è associato ad alcuna regola di rete virtuale che concede alla subnet il diritto di comunicare con il database SQL.But the Azure SQL Database server has no virtual network rule that grants to the subnet the right to communicate with the SQL Database.

Risoluzione dell'errore: nel riquadro Firewall del portale di Azure usare il controllo delle regole di rete virtuale per aggiungere una regola di rete virtuale per la subnet.Error resolution: On the Firewall pane of the Azure portal, use the virtual network rules control to add a virtual network rule for the subnet.

Errore 40615Error 40615

Testo del messaggio: Impossibile aprire il server '{0}' richiesto dall'accesso.Message text: Cannot open server '{0}' requested by the login. Non è consentito l'accesso del client con indirizzo IP "{1}" al server.Client with IP address '{1}' is not allowed to access the server.

Descrizione dell'errore: il client sta tentando di connettersi da un indirizzo IP che non è autorizzato a connettersi al server di database SQL di Azure.Error description: The client is trying to connect from an IP address that is not authorized to connect to the Azure SQL Database server. Il firewall del server non ha alcuna regola degli indirizzi IP che consente a un client di comunicare dall'indirizzo IP specifico al database SQL.The server firewall has no IP address rule that allows a client to communicate from the given IP address to the SQL Database.

Risoluzione dell'errore: immettere l'indirizzo IP del client come regola IP.Error resolution: Enter the client's IP address as an IP rule. A questo scopo, usare il riquadro Firewall nel portale di Azure.Do this by using the Firewall pane in the Azure portal.

Un elenco di diversi messaggi di errore del database SQL è illustrato qui.A list of several SQL Database error messages is documented here.

Il portale può creare una regola di rete virtualePortal can create a virtual network rule

Questa sezione illustra come è possibile usare la portale di Azure per creare una regola della rete virtuale nel database SQL di Azure.This section illustrates how you can use the Azure portal to create a virtual network rule in your Azure SQL Database. La regola indica al database SQL di accettare le comunicazioni da una subnet specifica contrassegnata come endpoint servizio di rete virtuale.The rule tells your SQL Database to accept communication from a particular subnet that has been tagged as being a Virtual Network service endpoint.

Nota

Se si intende aggiungere un endpoint di servizio alle regole del firewall della rete virtuale del server di database SQL di Azure, verificare per prima cosa che gli endpoint di servizio siano attivati per la subnet.If you intend to add a service endpoint to the VNet firewall rules of your Azure SQL Database server, first ensure that service endpoints are turned On for the subnet.

Se gli endpoint di servizio non sono attivati per la subnet, nel portale verrà richiesto di abilitarli.If service endpoints are not turned on for the subnet, the portal asks you to enable them. Fare clic sul pulsante Abilita nello stesso pannello in cui si aggiunge la regola.Click the Enable button on the same blade on which you add the rule.

Alternativa PowerShellPowerShell alternative

Anche uno script di PowerShell può creare regole di rete virtuale.A PowerShell script can also create virtual network rules. Il cmdlet cruciale New-AzSqlServerVirtualNetworkRule.The crucial cmdlet New-AzSqlServerVirtualNetworkRule. Se interessato, vedere PowerShell per creare un endpoint del servizio di rete virtuale e una regola per il database SQL di Azure.If interested, see PowerShell to create a Virtual Network service endpoint and rule for Azure SQL Database.

Alternativa API RESTREST API alternative

Internamente, i cmdlet di PowerShell per le azioni SQL sulle reti virtuali chiamano API REST.Internally, the PowerShell cmdlets for SQL VNet actions call REST APIs. È possibile chiamare direttamente le API REST.You can call the REST APIs directly.

PrerequisitiPrerequisites

È necessario avere già una subnet contrassegnata con lo specifico nome del tipo di endpoint servizio di rete virtuale pertinente per il database SQL di Azure.You must already have a subnet that is tagged with the particular Virtual Network service endpoint type name relevant to Azure SQL Database.

Procedure del portale di AzureAzure portal steps

  1. Accedere al portale di Azure.Sign in to the Azure portal.

  2. Nel portale passare a SQL Server > Firewall/Reti virtuali (anteprima) .Then navigate the portal to SQL servers > Firewall / Virtual Networks.

  3. Impostare il controllo Consenti l'accesso a Servizi di Azure su OFF.Set the Allow access to Azure services control to OFF.

    Importante

    Se si lascia il controllo impostato su ON, il server di database SQL di Azure accetta la comunicazione da qualsiasi subnet all'interno del limite di Azure, ad esempio l'origine da uno degli indirizzi IP riconosciuti come quelli compresi negli intervalli definiti per i Data Center di Azure.If you leave the control set to ON, your Azure SQL Database server accepts communication from any subnet inside the Azure boundary i.e. originating from one of the IP addresses that is recognized as those within ranges defined for Azure data centers. Lasciando il controllo impostato su SÌ, il numero di accessi potrebbe essere eccessivo dal punto di vista della sicurezza.Leaving the control set to ON might be excessive access from a security point of view. La funzionalità di endpoint servizio di rete virtuale di Microsoft Azure, in sinergia con la funzionalità delle regole di rete virtuale del database SQL, consente di ridurre la superficie di attacco per la sicurezza.The Microsoft Azure Virtual Network service endpoint feature, in coordination with the virtual network rule feature of SQL Database, together can reduce your security surface area.

  4. Fare clic sul controllo + Aggiungi esistenti nella sezione Reti virtuali.Click the + Add existing control, in the Virtual networks section.

    Fare clic su Aggiungi esistenti (endpoint della subnet, come regola SQL).

  5. Nel nuovo riquadro Crea/Aggiorna compilare i controlli con i nomi delle risorse di Azure.In the new Create/Update pane, fill in the controls with the names of your Azure resources.

    Suggerimento

    È necessario includere il prefisso dell'indirizzo corretto per la subnet.You must include the correct Address prefix for your subnet. Il valore è disponibile nel portale.You can find the value in the portal. Passare a Tutte le risorse > Tutti i tipi > Reti virtuali.Navigate All resources > All types > Virtual networks. Il filtro visualizza le reti virtuali.The filter displays your virtual networks. Fare clic sulla rete virtuale desiderata e quindi su Subnet.Click your virtual network, and then click Subnets. La colonna INTERVALLO DI INDIRIZZI contiene il prefisso dell'indirizzo desiderato.The ADDRESS RANGE column has the Address prefix you need.

    Compilare i campi per la nuova regola.

  6. Fare clic sul pulsante OK nella parte inferiore del riquadro.Click the OK button near the bottom of the pane.

  7. Osservare la regola di rete virtuale risultante nel riquadro del firewall.See the resulting virtual network rule on the firewall pane.

    Osservare la nuova regola nel riquadro del firewall.

Nota

Le regole presentano gli stati seguenti:The following statuses or states apply to the rules:

  • Pronta: indica che l'operazione avviata è riuscita.Ready: Indicates that the operation that you initiated has Succeeded.
  • Non riuscita: indica che l'operazione avviata non è riuscita.Failed: Indicates that the operation that you initiated has Failed.
  • Eliminata: si applica solo alle operazioni di eliminazione e indica che la regola è stata eliminata e non viene più applicata.Deleted: Only applies to the Delete operation, and indicates that the rule has been deleted and no longer applies.
  • In corso: indica che l'operazione è in corso.InProgress: Indicates that the operation is in progress. Mentre l'operazione è in questo stato, viene applicata la regola precedente.The old rule applies while the operation is in this state.

La funzionalità delle regole di rete virtuale per il database SQL di Azure è disponibile dalla fine di settembre 2017.The virtual network rule feature for Azure SQL Database became available in late September 2017.

Passaggi successiviNext steps