Supporto del firewall di Azure Cosmos DBAzure Cosmos DB firewall support

Per proteggere i dati archiviati in un account del database di Azure Cosmos DB, Azure Cosmos DB ha reso disponibile il supporto per un modello di autorizzazione basato su segreto che usa un codice di autenticazione messaggi basato su hash (HMAC, Hash-based Message Authentication Code).To secure data stored in an Azure Cosmos DB database account, Azure Cosmos DB has provided support for a secret based authorization model that utilizes a strong Hash-based message authentication code (HMAC). Oltre al modello di autenticazione basato su segreto, Azure Cosmos DB supporta ora controlli dell'accesso agli indirizzi IP basati su criteri per il supporto del firewall in ingresso.Now, in addition to the secret based authorization model, Azure Cosmos DB supports policy driven IP-based access controls for inbound firewall support. Questo modello è simile alle regole del firewall di un sistema di database tradizionale e offre un livello aggiuntivo di sicurezza per l'account del database di Azure Cosmos DB.This model is similar to the firewall rules of a traditional database system and provides an additional level of security to the Azure Cosmos DB database account. Con questo modello è ora possibile configurare un account del database di Azure Cosmos DB perché sia accessibile solo da un set di computer e/o servizi cloud approvato.With this model, you can now configure an Azure Cosmos DB database account to be accessible only from an approved set of machines and/or cloud services. Per l'accesso alle risorse di Azure Cosmos DB da questi set di computer e servizi approvati, è comunque necessario che il chiamante presenti un token di autorizzazione valido.Access to Azure Cosmos DB resources from these approved sets of machines and services still require the caller to present a valid authorization token.

Nota

Il supporto del firewall è attualmente disponibile per gli account API Mongo e API SQL per Azure Cosmos DB.Currently firewall support is available for Azure Cosmos DB SQL API and Mongo API accounts. Sarà presto possibile configurare i firewall per le altre API e i cloud sovrani, come Azure Germania o Azure per enti pubblici.Ability to configure firewalls for other APIs and sovereign clouds such as Azure Germany or Azure Government will be available soon. Se intende configurare l'elenco ACL dell'endpoint di servizio per l'account Azure Cosmos DB con un firewall IP configurato, annotare la configurazione del firewall, rimuovere il firewall IP e quindi configurare l'elenco ACL dell'endpoint di servizio.If you are planning to configure service endpoint ACL for your Azure Cosmos DB account that has an existing IP firewall configured, please note the firewall configuration, remove the IP firewall and then configure the service endpoint ACL. Dopo avere configurato l'endpoint di servizio, è possibile riabilitare il firewall IP, se necessario.After you configure service endpoint, you can re-enable the IP firewall if needed.

Panoramica del controllo di accesso IPIP access control overview

Per impostazione predefinita, un account del database di Azure Cosmos DB è accessibile dalla rete Internet pubblica purché la richiesta sia accompagnata da un token di autorizzazione valido.By default, an Azure Cosmos DB database account is accessible from public internet as long as the request is accompanied by a valid authorization token. Per configurare il controllo di accesso IP basato su criteri, l'utente deve fornire il set di indirizzi IP o di intervalli di indirizzi IP in formato CIDR perché venga incluso come elenco di IP client consentiti per un account del database specificato.To configure IP policy-based access control, the user must provide the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. Una volta applicata questa configurazione, tutte le richieste provenienti dai computer non inclusi in questo elenco di client IP consentiti vengono bloccate dal server.Once this configuration is applied, all requests originating from machines outside this allowed list are blocked by the server. Il flusso di elaborazione della connessione per il controllo di accesso basato su IP è descritto nel diagramma seguente:The connection processing flow for the IP-based access control is described in the following diagram:

Diagramma che mostra il processo di connessione per il controllo di accesso basato su IP

Configurazione dei criteri di controllo di accesso IPConfiguring the IP access control policy

I criteri di controllo di accesso IP possono essere impostati nel portale di Azure o a livello di codice tramite l'interfaccia della riga di comando di Azure, Azure PowerShell o l'API REST aggiornando la proprietà ipRangeFilter.The IP access control policy can be set in the Azure portal, or programmatically through Azure CLI, Azure Powershell, or the REST API by updating the ipRangeFilter property.

Per impostare i criteri di controllo di accesso IP nel portale di Azure, passare alla pagina dell'account Azure Cosmos DB, fare clic su Firewall e reti virtuali nel menu di spostamento e quindi modificare il valore di Consenti l'accesso da impostandolo su Reti selezionate e infine fare clic su Salva.To set the IP access control policy in the Azure portal, navigate to the Azure Cosmos DB account page, click Firewall and virtual networks in the navigation menu, then change the Allow access from value to Selected networks, and then click Save.

Screenshot che mostra come aprire la pagina Firewall nel portale di Azure

Una volta attivato il controllo di accesso IP, il portale offre la possibilità di specificare indirizzi e intervalli IP, nonché opzioni per abilitare l'accesso ad altri servizi di Azure e al portale di Azure.Once IP access control is on, the portal provides the ability to specify IP addresses and ranges, as well as switches to enable access to other Azure services, and the Azure portal. Nelle sezioni seguenti sono disponibili altre informazioni su queste opzioni.Additional information about those switches is provided in the following sections.

Nota

Abilitando criteri di controllo dell'accesso agli indirizzi IP per l'account del database di Azure Cosmos DB, qualsiasi accesso all'account del database di Azure Cosmos DB da computer non inclusi nell'elenco degli intervalli di indirizzi IP consentiti viene bloccato.By enabling an IP access control policy for your Azure Cosmos DB database account, all access to your Azure Cosmos DB database account from machines outside the configured allowed list of IP address ranges are blocked. Grazie a questo modello, viene bloccata anche l'esplorazione dell'operazione del piano dati dal portale per garantire l'integrità del controllo di accesso.By virtue of this model, browsing the data plane operation from the portal will also be blocked to ensure the integrity of access control.

Connessioni dal portale di AzureConnections from the Azure portal

Quando si abilitano i criteri di controllo di accesso IP a livello di codice, è necessario aggiungere l'indirizzo IP per il portale di Azure alla proprietà ipRangeFilter per mantenere l'accesso.When you enable an IP access control policy programmatically, you need to add the IP address for the Azure portal to the ipRangeFilter property to maintain access. Gli indirizzi IP del portale sono i seguenti:The portal IP addresses are:

RegionRegion Indirizzo IPIP address
Tutte le aree a eccezione di quelle specificate di seguitoAll regions except those specified below 104.42.195.92,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26104.42.195.92,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26
GermaniaGermany 51.4.229.21851.4.229.218
CinaChina 139.217.8.252139.217.8.252
US GovUS Gov 52.244.48.7152.244.48.71

L'accesso al portale di Azure viene abilitato per impostazione predefinita quando si modifica l'impostazione di Firewall specificando Reti selezionate nel portale di Azure.Access to the Azure portal is enabled by default when you change the Firewall setting to Selected Networks in the Azure portal.

Screenshot che mostra come abilitare l'accesso al portale di Azure

Connessioni da centri dati di Azure o da servizi PaaS di Azure globaliConnections from Global Azure datacenters or Azure PaaS services

In Azure i servizi PaaS come Analisi di flusso di Azure, Funzioni di Azure e Servizio app di Azure vengono usati in combinazione con Azure Cosmos DB.In Azure, PaaS services like Azure Stream analytics, Azure Functions, and Azure App Service are used in conjunction with Azure Cosmos DB. Per abilitare l'accesso a un account del database di Azure Cosmos DB da questi servizi i cui indirizzi IP non sono prontamente disponibili, aggiungere a livello di codice l'indirizzo IP 0.0.0.0 all'elenco di indirizzi IP consentiti associato all'account del database di Azure Cosmos DB.To enable access to Azure Cosmos DB database account from these services whose IP addresses are not readily available add the IP address of 0.0.0.0 to the allowed list of IP addresses associated with your Azure Cosmos DB database account programmatically.

L'accesso alle connessioni all'interno di centri dati di Azure globali viene abilitato per impostazione predefinita quando si modifica l'impostazione Firewall specificando Reti selezionate nel portale di Azure.Access to the connections from within global Azure datacenters is enabled by default when you change the Firewall setting to Selected Networks in the Azure portal.

Screenshot che mostra come aprire la pagina Firewall nel portale di Azure

Connessioni dall'IP correnteConnections from your current IP

Per semplificare lo sviluppo, il portale di Azure consente di identificare e aggiungere l'indirizzo IP del computer client all'elenco di indirizzi consentiti, in modo che le app in esecuzione nella macchina virtuale possano accedere all'account Azure Cosmos DB.To simplify development, the Azure portal helps you identify and add the IP of your client machine to the allowed list, so that apps running your machine can access the Azure Cosmos DB account. L'indirizzo IP del client viene rilevato in base a quanto visualizzato dal portale.The client IP address here is detected as seen by the portal. Potrebbe trattarsi dell'indirizzo IP del client della macchina virtuale oppure dell'indirizzo IP del gateway di rete.It may be the client IP address of your machine, but it could also be the IP address of your network gateway. Non dimenticare di rimuoverlo prima di passare all'ambiente di produzione.Do not forget to remove it before going to production.

Per abilitare il proprio indirizzo IP corrente, selezionare Add my current IP (Aggiungi indirizzo IP corrente), in modo da aggiungere l'indirizzo all'elenco, e quindi fare clic su Salva.To enable your current IP, select Add my current IP, which adds your current IP to the list of IPs, and then click Save.

Screenshot che mostra come configurare le impostazioni del firewall per l'IP corrente

Connessioni da servizi cloudConnections from cloud services

In Azure, i servizi cloud sono uno strumento comune per ospitare la logica del servizio di livello intermedio con Azure Cosmos DB.In Azure, cloud services are a common way for hosting middle tier service logic using Azure Cosmos DB. Per consentire l'accesso a un account del database di Azure Cosmos DB da un servizio cloud, l'indirizzo IP pubblico del servizio cloud deve essere aggiunto all'elenco di indirizzi IP consentiti associato all'account del database di Azure Cosmos DB configurando il criterio di controllo dell'accesso agli indirizzi IP.To enable access to an Azure Cosmos DB database account from a cloud service, the public IP address of the cloud service must be added to the allowed list of IP addresses associated with your Azure Cosmos DB database account by configuring the IP access control policy. In questo modo, tutte le istanze del ruolo dei servizi cloud hanno accesso all'account del database di Azure Cosmos DB.This ensures that all role instances of cloud services have access to your Azure Cosmos DB database account. È possibile recuperare gli indirizzi IP per i servizi cloud nel portale di Azure, come mostrato nello screenshot seguente:You can retrieve IP addresses for your cloud services in the Azure portal, as shown in the following screenshot:

Screenshot che mostra l'indirizzo IP pubblico per un servizio cloud visualizzato nel portale di Azure

Quando si aumenta il numero di istanze del servizio cloud aggiungendo altre istanze del ruolo, le nuove istanze hanno automaticamente accesso all'account del database di Azure Cosmos DB perché fanno parte dello stesso servizio cloud.When you scale out your cloud service by adding additional role instance(s), those new instances will automatically have access to the Azure Cosmos DB database account since they are part of the same cloud service.

Connessioni da macchine virtualiConnections from virtual machines

Per ospitare servizi di livello intermedio con Azure Cosmos DB è possibile usare anche macchine virtuali o set di scalabilità di macchine virtuali.Virtual machines or virtual machine scale sets can also be used to host middle tier services using Azure Cosmos DB. Per configurare l'account del database di Azure Cosmos DB in modo da consentire l'accesso da macchine virtuali, gli indirizzi IP pubblici della macchina virtuale e/o del set di scalabilità di macchine virtuali devono essere configurati come uno degli indirizzi IP consentiti per l'account del database di Azure Cosmos DB configurando il criterio di controllo dell'accesso agli indirizzi IP.To configure the Azure Cosmos DB database account to allow access from virtual machines, public IP addresses of virtual machine and/or virtual machine scale set must be configured as one of the allowed IP addresses for your Azure Cosmos DB database account by configuring the IP access control policy. È possibile recuperare gli indirizzi IP per le macchine virtuali nel portale di Azure, come mostrato nello screenshot seguente.You can retrieve IP addresses for virtual machines in the Azure portal, as shown in the following screenshot.

Screenshot che mostra un indirizzo IP pubblico per una macchina virtuale visualizzata nel portale di Azure

Quando si aggiungono istanze di macchina virtuale al gruppo, a queste viene automaticamente fornito l'accesso all'account del database di Azure Cosmos DB.When you add additional virtual machine instances to the group, they are automatically provided access to your Azure Cosmos DB database account.

Connessioni da InternetConnections from the internet

Quando si accede a un account del database di Azure Cosmos DB da un computer in Internet, l'indirizzo IP o l'intervallo di indirizzi IP client del computer deve essere aggiunto all'elenco di indirizzi IP consentiti per l'account del database di Azure Cosmos DB.When you access an Azure Cosmos DB database account from a computer on the internet, the client IP address or IP address range of the machine must be added to the allowed list of IP address for the Azure Cosmos DB database account.

Uso del modello di Azure Resource Manager per configurare il controllo di accesso per indirizzi IPUsing Azure Resource Manager Template to set up the IP access control

Aggiungere al modello il codice JSON seguente per configurare il controllo di accesso per indirizzi IP.Add the following JSON to your template to set up IP access control. Il modello di Resource Manager per un account avrà l'attributo ipRangeFilter che riporta l'elenco degli intervalli IP da inserire nell'elenco di elementi consentiti.Resource Manager template for an account will have ipRangeFilter attribute that is list of IP ranges, which should be whitelisted.

   {
     "apiVersion": "2015-04-08",
     "type": "Microsoft.DocumentDB/databaseAccounts",
     "kind": "GlobalDocumentDB",
     "name": "[parameters('databaseAccountName')]",
     "location": "[resourceGroup().location]",
     "properties": {
     "databaseAccountOfferType": "Standard",
     "name": "[parameters('databaseAccountName')]",
     "ipRangeFilter":"10.0.0.1,10.0.0.2,183.240.196.255"
   }
   }

Risoluzione dei problemi relativi ai criteri di controllo di accesso IPTroubleshooting the IP access control policy

Operazioni nel portalePortal operations

Abilitando criteri di controllo dell'accesso agli indirizzi IP per l'account del database di Azure Cosmos DB, qualsiasi accesso all'account del database di Azure Cosmos DB da computer non inclusi nell'elenco degli intervalli di indirizzi IP consentiti viene bloccato.By enabling an IP access control policy for your Azure Cosmos DB database account, all access to your Azure Cosmos DB database account from machines outside the configured allowed list of IP address ranges are blocked. Se si vogliono abilitare operazioni sul piano dati del portale, ad esempio l'esplorazione di raccolte e le query nei documenti, è quindi necessario consentire esplicitamente l'accesso al portale di Azure usando la pagina Firewall nel portale.Therefore if you want to enable portal data plane operations like browsing collections and query documents, you need to explicitly allow Azure portal access using the Firewall page in the portal.

SDK e API RESTSDK & Rest API

Per motivi di sicurezza, l'accesso tramite SDK o API REST da computer non inclusi nell'elenco degli indirizzi IP consentiti restituisce una risposta generica 404 Non trovato senza altri dettagli.For security reasons, access via SDK or REST API from machines not on the allowed list will return a generic 404 Not Found response with no additional details. Controllare l'elenco degli indirizzi IP consentiti per l'account del database di Azure Cosmos DB per verificare che all'account sia applicata la configurazione dei criteri corretta.Verify the IP allowed list configured for your Azure Cosmos DB database account to ensure the correct policy configuration is applied to your Azure Cosmos DB database account.

Passaggi successiviNext steps

Per suggerimenti relativi alle prestazioni di rete, vedere Suggerimenti sulle prestazioni.For information about network-related performance tips, see Performance tips.