Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per proteggere i dati archiviati nell'account, Azure Cosmos DB usa un modello di autorizzazione basato su segreto con un codice HMAC (Hash-Based Message Authentication Code). Azure Cosmos DB usa inoltre controlli di accesso basati su IP per la sicurezza del firewall in ingresso. Questo modello è simile alle regole del firewall di un sistema di database tradizionale e aggiunge un altro livello di sicurezza all'account. Con i firewall, configurare l'account Azure Cosmos DB per consentire l'accesso solo da un set approvato di computer o servizi cloud. L'accesso ai dati archiviati nel database di Azure Cosmos DB da questi computer e servizi approvati richiede comunque al chiamante di presentare un token di autorizzazione valido.
Controllo di accesso IP
Per impostazione predefinita, l'account Azure Cosmos DB è accessibile da Internet se la richiesta include un token di autorizzazione valido. 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 (Classless Inter-Domain Routing), in modo che venga incluso come elenco di IP client consentiti per l'accesso a un determinato account Azure Cosmos DB. Dopo aver applicato questa configurazione, tutte le richieste provenienti da computer esterni a questo elenco di elementi consentiti ricevono una risposta 403 (Accesso negato). Quando si usa un firewall IP, alcuni scenari potrebbero richiedere l'abilitazione dell'accesso dal portale di Azure. Per altre informazioni, vedere Consentire le richieste dal portale di Azure. Quando si usa Esplora dati per un'API per l'account NoSQL, Gremlin o Table, è anche necessario aggiornare le impostazioni del firewall per aggiungere l'indirizzo IP corrente alle regole del firewall. La propagazione delle modifiche del firewall potrebbe richiedere fino a 15 minuti e il firewall potrebbe comportarsi in modo incoerente durante questo periodo.
Combinare firewall basati su IP con subnet e controllo di accesso alla rete virtuale. in modo da limitare l'accesso a qualsiasi origine che abbia un indirizzo IP pubblico e/o da una subnet specifica all'interno della rete virtuale. Per altre informazioni sull'uso del controllo dell'accesso basato su subnet e rete virtuale, vedere Accedere a risorse di Azure Cosmos DB da reti virtuali.
Per riepilogare, è sempre necessario un token di autorizzazione per accedere a un account Azure Cosmos DB. Se il firewall IP e gli elenchi di controllo di accesso della rete virtuale non sono configurati, è possibile accedere all'account Azure Cosmos DB con il token di autorizzazione. Dopo aver configurato le regole del firewall IP o gli elenchi di accesso alla rete virtuale per l'account Azure Cosmos DB, funzioneranno solo le richieste provenienti dalle origini consentite. Queste richieste devono includere anche un token di autorizzazione valido per ottenere una risposta.
È possibile proteggere i dati archiviati nell'account Azure Cosmos db tramite i firewall IP. Azure Cosmos DB supporta i controlli di accesso IP per il supporto del firewall in ingresso. Impostare un firewall IP nell'account Azure Cosmos DB usando uno dei metodi seguenti:
- Dal portale di Azure
- Creando in modo dichiarativo un modello di Azure Resource Manager
- A livello programmatico tramite l'interfaccia della riga di comando di Azure o Azure Powershell, aggiornando la proprietà ipRangeFilter
Configurare un firewall IP tramite il portale di Azure
Per impostare i criteri di controllo di accesso IP nella portale di Azure, passare alla pagina dell'account Azure Cosmos DB e selezionare Rete nel menu di spostamento. Impostare il valore Consenti l'accesso dareti selezionate e quindi selezionare Salva. Se non si aggiungono ancora indirizzi IP, è anche necessario selezionare la casella per confermare che tutte le reti virtuali e gli INDIRIZZI IP sono bloccati. Se si modifica l'impostazione di accesso alla rete pubblica, ad esempio disattivandola o consentendo a tutte le reti di connettersi, tutti gli indirizzi IP del firewall impostati prima di essere rimossi.
Quando il controllo di accesso IP è attivo, il portale di Azure consente di specificare indirizzi IP, intervalli di indirizzi IP e commutatori. Le opzioni consentono l'accesso al portale di Azure e ad altri servizi di Azure. Nelle sezioni seguenti vengono fornite informazioni dettagliate su queste opzioni.
Nota
Quando si attiva il controllo di accesso IP per l'account Azure Cosmos DB, solo le richieste provenienti da indirizzi IP consentiti possono raggiungere l'account. Se un indirizzo IP non è presente nell'elenco consentito, le richieste vengono bloccate. Non è anche possibile esplorare le risorse di Cosmos DB nel portale di Azure a meno che non si consenta l'accesso al portale.
Consentire le richieste dal portale di Azure
Quando si abilita un criterio di controllo di accesso IP a livello di codice, potrebbe essere necessario aggiungere gli indirizzi IP per i servizi del portale di Azure alla proprietà ipRangeFilter per continuare a usare alcune funzionalità del portale.
Gli scenari del portale che richiedono l'abilitazione di questa opzione includono:
- In particolare per l'API per MongoDB o l'API per Apache Cassandra, l'accesso agli account con Esplora dati o https://cosmos.azure.com
- Per tutte le API, usare le sezioni di Azure Cosmos DB seguenti nel portale di Azure:
- Sfoglia le raccolte
- Power BI
- Azure Synapse
È possibile abilitare le richieste di accesso al portale di Azure selezionando l'opzione Aggiungi indirizzi IP middleware del portale di Azure, come illustrato nello screenshot seguente:
Gli indirizzi IP middleware del portale di Azure vengono aggiunti a un elenco separato, come illustrato nello screenshot seguente. Selezionare Salva per aggiungere questi indirizzi all'account del database. Altre informazioni sugli indirizzi IP middleware sono disponibili in questo articolo.
È possibile rimuovere gli indirizzi IP middleware del portale di Azure selezionando l'opzione Rimuovi indirizzi IP middleware del portale di Azure e quindi selezionando Salva.
Indirizzi IP middleware del portale di Azure
Gli indirizzi IP middleware del portale di Azure sono elencati qui. Alcuni indirizzi IP sono necessari solo per api dell'account di database specifiche. Quando si aggiungono gli indirizzi IP middleware nel portale, come descritto in precedenza, vengono aggiunti solo gli indirizzi IP necessari per l'account.
Ad esempio:
- Per un account API per NoSQL, vengono aggiunti gli indirizzi IP della categoria Tutti .
- Per un account API per MongoDB, vengono aggiunti solo gli indirizzi IP delle categorie All e MongoDB .
Pubblico di Azure
| API dell'account database | Indirizzi IP |
|---|---|
| Tutte le date |
13.91.105.215, 4.210.172.107, 13.88.56.14840.91.218.243 |
| Solo MongoDB |
20.245.81.54, 40.118.23.126, 40.80.152.19913.95.130.121 |
| Solo Apache Cassandra |
40.113.96.14, 104.42.11.145, 137.117.230.240168.61.72.237 |
Azure gestito da 21Vianet
| API dell'account database | Indirizzi IP |
|---|---|
| Tutte le date |
163.228.137.6, 143.64.170.142 |
| Solo MongoDB |
52.131.240.99, 143.64.61.130 |
| Solo Apache Cassandra |
40.73.99.146, 143.64.62.47 |
Azure Governo Statunitense
| API dell'account database | Indirizzi IP |
|---|---|
| Tutte le date |
52.247.163.6, 52.244.134.181 |
| Solo MongoDB |
52.244.176.112, 52.247.148.42 |
| Solo Apache Cassandra |
52.244.50.101, 52.227.165.24 |
Indirizzi IP middleware legacy
I servizi del portale di Cosmos DB sono passati di recente alla nuova infrastruttura che richiedeva nuovi indirizzi IP middleware. Con il completamento di tale transizione, gli indirizzi IP legacy usati dall'infrastruttura precedente possono ora essere rimossi in modo sicuro. Se l'account ha indirizzi IP middleware legacy presenti nelle regole del firewall, viene visualizzata l'opzione Rimuovi indirizzi IP middleware legacy del portale di Azure . Selezionare l'opzione e quindi Salva per rimuovere gli indirizzi IP legacy.
Gli indirizzi IP legacy dipendono dall'ambiente cloud:
| Ambiente di Azure | Indirizzi IP |
|---|---|
| Pubblico di Azure |
104.42.195.92, 40.76.54.131, 52.176.6.30, 52.169.50.4552.187.184.26 |
| Azure gestito da 21Vianet |
139.217.8.252, 52.176.6.30, 52.169.50.4552.187.184.26 |
| Azure Governo Statunitense |
52.244.48.71, 52.176.6.30, 52.169.50.4552.187.184.26 |
Nota
Se si verificano problemi di connessione all'account Azure Cosmos DB da Esplora dati, vedere la guida alla risoluzione dei problemi di Esplora dati.
Consentire le richieste dai data center globali di Azure o da altre origini all'interno di Azure
Alcuni servizi di Azure, ad esempio Analisi di flusso di Azure e Funzioni di Azure, non usano un indirizzo IP fisso. È comunque possibile usare il firewall IP per controllare l'accesso per questi servizi. Per consentire l'accesso da altre risorse di Azure, scegliere l'opzione Accetta connessioni dall'interno dei data center di Azure . Questa opzione consente ai servizi in esecuzione in Azure di connettersi all'account Cosmos DB.
Quando si abilita questa opzione, l'indirizzo IP 0.0.0.0 viene aggiunto all'elenco di indirizzi IP consentiti. L'indirizzo IP 0.0.0.0 limita le richieste all'account Azure Cosmos DB dall'intervallo IP di datacenter di Azure. Questa impostazione non consente l'accesso ad altri intervalli IP all'account Azure Cosmos DB.
Nota
L'impostazione di publicNetworkAccess su Disabled ha la precedenza sull'opzione Accetta connessione dall'interno dei data center di Azure . Vedere blocking-public-network-access-during-account-creation
Nota
Questa opzione permette di configurare il firewall in maniera tale da consentire tutte le richieste da Azure, incluse le richieste dalle sottoscrizioni di altri clienti distribuite in Azure. L'elenco di indirizzi IP consentiti da questa opzione è ampia perciò limita l'efficacia di un criterio firewall. Usare questa opzione solo se le richieste non hanno origine da indirizzi IP statici o subnet nelle reti virtuali. Scegliendo automaticamente questa opzione viene consentito l'accesso dal portale di Azure poiché il portale di Azure viene distribuito in Azure.
Richieste dall'IP corrente
Per semplificare lo sviluppo, il portale di Azure consente di identificare e aggiungere l'indirizzo IP del computer client all'elenco consentito. Le app in esecuzione nel computer possono quindi accedere all'account Azure Cosmos DB.
L'indirizzo IP del client viene rilevato automaticamente dal portale. Potrebbe trattarsi dell'indirizzo IP del client del computer oppure dell'indirizzo IP del gateway di rete. Assicurarsi di rimuovere questo indirizzo IP prima di eseguire i carichi di lavoro nell'ambiente di produzione.
Per aggiungere l'indirizzo IP corrente all'elenco di indirizzi IP, selezionare Aggiungi l'indirizzo IP corrente. Quindi selezionare Salva.
Richieste da servizi cloud
In Azure, i servizi cloud sono uno strumento comune per ospitare la logica del servizio di livello intermedio usando Azure Cosmos DB. Per consentire a un servizio cloud di connettersi all'account Azure Cosmos DB, aggiungere l'indirizzo IP pubblico del servizio cloud all'elenco di indirizzi IP consentiti. È possibile eseguire questa operazione aggiornando i criteri di controllo di accesso IP nel portale di Azure. Questo passaggio garantisce che tutte le istanze del ruolo dei servizi cloud abbiano accesso all'account Azure Cosmos DB.
È possibile recuperare gli indirizzi IP per i servizi cloud nel portale di Azure, come mostrato nello screenshot seguente:
Quando si aumenta il numero di istanze del servizio cloud aggiungendo istanze del ruolo, le nuove istanze hanno automaticamente accesso all'account Azure Cosmos DB perché fanno parte dello stesso servizio cloud.
Richieste da macchine virtuali
Per ospitare servizi di livello intermedio con Azure Cosmos DB è possibile usare anche macchine virtuali o set di scalabilità di macchine virtuali. Per consentire a una macchina virtuale di connettersi all'account Azure Cosmos DB, aggiungere l'indirizzo IP pubblico all'elenco consentito. È possibile eseguire questo passaggio aggiornando i criteri di controllo di accesso IP. Questa configurazione funziona anche per i set di scalabilità di macchine virtuali. Dopo aver aggiunto l'indirizzo IP pubblico, la macchina virtuale può accedere all'account Cosmos DB.
È possibile recuperare gli indirizzi IP per le macchine virtuali nel portale di Azure, come mostrato nello screenshot seguente:
Quando si aggiungono istanze di macchina virtuale al gruppo, queste ricevono automaticamente l'accesso all'account di Azure Cosmo DB.
Richieste da Internet
Per connettersi all'account Azure Cosmos DB da un computer in Internet, aggiungere l'indirizzo IP o l'intervallo IP del computer all'elenco consentito. Solo i computer aggiunti a questo elenco possono raggiungere l'account Cosmos DB.
Aggiungere regole in uscita al firewall
Per ottenere un elenco corrente di intervalli IP in uscita da aggiungere alle impostazioni del firewall, vedere Scaricare intervalli IP e tag di servizio di Azure.
Per automatizzare l'elenco, vedere Usare l'API di individuazione dei tag del servizio.
Configurare un firewall IP usando un modello di Resource Manager
Per configurare il controllo di accesso per l'account Azure Cosmos DB, assicurarsi che il modello di Resource Manager specifichi la proprietà ipRules con una matrice di intervalli IP consentiti. Se si configura il firewall IP per un account Azure Cosmos DB già distribuito, assicurarsi che la locations matrice corrisponda alla distribuzione corrente. Non è possibile modificare la locations matrice e altre proprietà contemporaneamente. Per altre informazioni ed esempi di modelli di Azure Resource Manager per Azure Cosmos DB, vedere Modelli di Azure Resource Manager per Azure Cosmos DB.
Importante
La proprietà ipRules viene introdotta con la versione 2020-04-01dell'API . Le versioni precedenti usano invece una proprietà ipRangeFilter , ovvero un elenco di indirizzi IP delimitati da virgole.
L'esempio illustra come viene esposta la proprietà ipRules nell'API versione 2020-04-01 o successiva:
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"name": "[variables('accountName')]",
"apiVersion": "2020-04-01",
"location": "[parameters('location')]",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
"locations": "[variables('locations')]",
"databaseAccountOfferType": "Standard",
"enableAutomaticFailover": "[parameters('automaticFailover')]",
"ipRules": [
{
"ipAddressOrRange": "13.91.105.215"
},
{
"ipAddressOrRange": "4.210.172.107"
},
{
"ipAddressOrRange": "13.88.56.148"
},
{
"ipAddressOrRange": "40.91.218.243"
}
]
}
}
Di seguito è riportato lo stesso esempio per qualsiasi versione dell'API precedente a 2020-04-01:
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"name": "[variables('accountName')]",
"apiVersion": "2019-08-01",
"location": "[parameters('location')]",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
"locations": "[variables('locations')]",
"databaseAccountOfferType": "Standard",
"enableAutomaticFailover": "[parameters('automaticFailover')]",
"ipRangeFilter":"13.91.105.215,4.210.172.107,13.88.56.148,40.91.218.243"
}
}
Configurare un criterio di controllo di accesso IP usando l'interfaccia della riga di comando di Azure
Il comando seguente illustra come creare un account Azure Cosmos DB con controllo di accesso IP:
# Create an Azure Cosmos DB account with default values and IP firewall enabled
resourceGroupName='MyResourceGroup'
accountName='mycosmosaccount'
ipRangeFilter='192.168.221.17,183.240.196.255,40.76.54.131'
# Ensure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
az cosmosdb create \
-n $accountName \
-g $resourceGroupName \
--locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
--locations regionName='East US 2' failoverPriority=1 isZoneRedundant=False \
--ip-range-filter $ipRangeFilter
Configurare criteri di controllo di accesso IP con PowerShell
Lo script seguente illustra come creare un account Azure Cosmos DB con controllo di accesso IP:
# Create an Azure Cosmos DB account with default values and IP Firewall enabled
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$ipRules = @("192.168.221.17","183.240.196.255","40.76.54.131")
$locations = @(
@{ "locationName"="West US 2"; "failoverPriority"=0; "isZoneRedundant"=False },
@{ "locationName"="East US 2"; "failoverPriority"=1, "isZoneRedundant"=False }
)
# Make sure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
$CosmosDBProperties = @{
"databaseAccountOfferType"="Standard";
"locations"=$locations;
"ipRules"=$ipRules
}
New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
-ApiVersion "2020-04-01" -ResourceGroupName $resourceGroupName `
-Name $accountName -PropertyObject $CosmosDBProperties
Risolvere i problemi relativi ai criteri di controllo di accesso IP
È possibile risolvere i problemi con un criterio di controllo accesso IP usando le opzioni seguenti:
Azure portal
L'abilitazione di un criterio di controllo di accesso IP per l'account Azure Cosmos DB blocca tutte le richieste provenienti da computer esterni all'elenco di intervalli di indirizzi IP consentiti. Per abilitare operazioni del piano dati del portale come l'esplorazione dei contenitori e l'esecuzione di query sui documenti, consentire in modo esplicito l'accesso al portale di Azure usando il riquadro Firewall nel portale.
Kit di sviluppo software
Quando si accede alle risorse di Azure Cosmos DB usando sdk (Software Development Kit) da computer non inclusi nell'elenco consentito, viene restituita una risposta generica 403 Accesso negato senza dettagli aggiuntivi. Controllare l'elenco di indirizzi IP consentiti per l'account e assicurarsi che la configurazione dei criteri corretta venga applicata all'account Azure Cosmos DB.
IP di origine nelle richieste bloccate
Visualizzare ogni richiesta e risposta abilitando la registrazione diagnostica nell'account Azure Cosmos DB. I messaggi relativi al firewall vengono registrati con un codice di errore 403. Filtrando questi messaggi, è possibile visualizzare gli IP di origine per le richieste bloccate. Vedere Registrazione diagnostica di Azure Cosmos DB.
Richieste provenienti da una subnet con endpoint di servizio per Azure Cosmos DB abilitato
Le richieste da una subnet in una rete virtuale con un endpoint di servizio per Azure Cosmos DB abilitato inviano la rete virtuale e l'identità della subnet agli account Azure Cosmos DB. Queste richieste non dispongono dell'indirizzo IP pubblico dell'origine perciò vengono rifiutati dai filtri IP. Per consentire l'accesso da subnet specifiche nelle reti virtuali, aggiungere un elenco di controllo di accesso della rete virtuale descritta in Come configurare la rete virtuale e l'accesso basato su subnet per l'account Azure Cosmos DB. L'applicazione delle regole del firewall può richiedere fino a 15 minuti e il firewall può presentare un comportamento incoerente durante questo periodo.
Indirizzi IP privati nell'elenco di indirizzi consentiti
La creazione o l'aggiornamento di un account Azure Cosmos DB con un elenco di indirizzi CONSENTITi contenenti indirizzi IP privati hanno esito negativo. Assicurarsi che nell'elenco non sia specificato alcun indirizzo IP privato.