Delen via


IP-firewall configureren voor Azure Cosmos DB

Voor het beveiligen van de gegevens die zijn opgeslagen in uw account, maakt Azure Cosmos DB gebruik van een op geheim gebaseerd autorisatiemodel met een sterke HMAC (Hash-based Message Authentication Code). Daarnaast maakt Azure Cosmos DB gebruik van op IP gebaseerde toegangsbeheer voor binnenkomende firewallbeveiliging. Dit model is vergelijkbaar met de firewallregels van een traditioneel databasesysteem en voegt een andere beveiligingslaag toe aan uw account. Configureer met firewalls uw Azure Cosmos DB-account om alleen toegang te verlenen vanaf een goedgekeurde set machines of cloudservices. Voor toegang tot gegevens die zijn opgeslagen in uw Azure Cosmos DB-database vanaf deze goedgekeurde machines en services, moet de aanroeper nog steeds een geldig autorisatietoken presenteren.

IP-toegangsbeheer

Uw Azure Cosmos DB-account is standaard toegankelijk via internet als de aanvraag een geldig autorisatietoken bevat. Als u op IP-beleid gebaseerd toegangsbeheer wilt configureren, moet de gebruiker de set IP-adressen of IP-adresbereiken opgeven in CIDR-formulier (Classless Inter-Domain Routing) die moet worden opgenomen als de toegestane lijst met client-IP-adressen voor toegang tot een bepaald Azure Cosmos DB-account. Nadat u deze configuratie hebt toegepast, ontvangen alle aanvragen van computers buiten deze toegestane lijst een antwoord van 403 (Verboden). Wanneer u een IP-firewall gebruikt, moet u in sommige scenario's mogelijk toegang inschakelen vanuit Azure Portal. Zie aanvragen toestaan vanuit Azure Portal voor meer informatie. Wanneer u Data Explorer gebruikt voor een API voor NoSQL-, Gremlin- of Table-account, moet u ook uw firewallinstellingen bijwerken om uw huidige IP-adres toe te voegen aan de firewallregels. Het kan tot 15 minuten duren voordat firewallwijzigingen zijn doorgegeven en de firewall zich gedurende deze periode mogelijk inconsistent gedraagt.

Combineer ip-firewalls met subnet- en virtueel netwerktoegangsbeheer. Door deze te combineren, kunt u de toegang beperken tot elke bron met een openbaar IP-adres en/of vanuit een specifiek subnet binnen een virtueel netwerk. Zie Toegang tot Azure Cosmos DB-resources vanuit virtuele netwerken voor meer informatie over het gebruik van subnet- en virtueel netwerktoegangsbeheer.

Samenvattend is altijd een autorisatietoken vereist voor toegang tot een Azure Cosmos DB-account. Als IP-firewall en toegangsbeheerlijst voor virtuele netwerken (ACL's) niet zijn ingesteld, kan het Azure Cosmos DB-account worden geopend met het autorisatietoken. Nadat u IP-firewallregels of toegangslijsten voor virtuele netwerken voor uw Azure Cosmos DB-account hebt ingesteld, werken alleen aanvragen van de toegestane bronnen. Deze aanvragen moeten ook een geldig autorisatietoken bevatten om een antwoord te krijgen.

U kunt de gegevens die zijn opgeslagen in uw Azure Cosmos DB-account beveiligen met behulp van IP-firewalls. Azure Cosmos DB ondersteunt op IP gebaseerde toegangsbeheer voor binnenkomende firewallondersteuning. Stel een IP-firewall in voor het Azure Cosmos DB-account met behulp van een van de volgende methoden:

  • Vanuit Azure Portal
  • Declaratief met behulp van een Azure Resource Manager-sjabloon
  • Programmatisch via de Azure CLI of Azure PowerShell door de eigenschap ipRangeFilter bij te werken

Een IP-firewall configureren met behulp van Azure Portal

Als u het IP-toegangsbeheerbeleid wilt instellen in Azure Portal, gaat u naar de azure Cosmos DB-accountpagina en selecteert u Netwerken in het navigatiemenu. Stel de optie Toegang toestaan van waarde in op Geselecteerde netwerken en selecteer Opslaan. Als u nog geen IP-adressen toevoegt, moet u ook het selectievakje inschakelen om te bevestigen dat alle VNets en IP-adressen zijn geblokkeerd. Als u de instelling voor openbare netwerktoegang wijzigt, zoals het uitschakelen of verbinden van alle netwerken, worden alle IP-adressen van de firewall die u hebt ingesteld, verwijderd.

Schermopname van de firewallinstellingen voor Azure Cosmos DB-netwerken in Azure Portal.

Wanneer IP-toegangsbeheer is ingeschakeld, kunt u in Azure Portal IP-adressen, IP-adresbereiken en switches opgeven. Schakelopties maken toegang tot andere Azure-services en Azure Portal mogelijk. In de volgende secties vindt u meer informatie over deze switches.

Notitie

Wanneer u IP-toegangsbeheer inschakelt voor uw Azure Cosmos DB-account, kunnen alleen aanvragen van toegestane IP-adressen uw account bereiken. Als een IP-adres niet in de lijst met toegestane adressen staat, worden de aanvragen geblokkeerd. U kunt ook niet door uw Cosmos DB-resources bladeren in Azure Portal, tenzij u portaltoegang toestaat.

Aanvragen vanuit Azure Portal toestaan

Wanneer u beleid voor IP-toegangsbeheer programmatisch inschakelt, moet u mogelijk de IP-adressen voor de Azure Portal-services toevoegen aan de eigenschap ipRangeFilter om bepaalde portalfunctionaliteit te kunnen blijven gebruiken.

Portalscenario's waarvoor deze optie moet worden ingeschakeld, zijn onder andere:

  • Specifiek voor de API voor de MongoDB of API voor Apache Cassandra, toegang tot accounts met Data Explorer of https://cosmos.azure.com
  • Voor alle API's gebruikt u de volgende Azure Cosmos DB-secties in Azure Portal:
    • Door verzamelingen bladeren
    • Power BI
    • Azure Synapse

U kunt aanvragen inschakelen voor toegang tot Azure Portal door de optie Middleware-IP-adressen van Azure Portal toevoegen te selecteren, zoals wordt weergegeven in de volgende schermopname:

Schermopname van de opties voor het toevoegen van middleware-IP-adressen aan netwerken in Azure Portal.

De Middleware-IP-adressen van Azure Portal worden toegevoegd aan een afzonderlijke lijst, zoals wordt weergegeven in de volgende schermopname. Selecteer Opslaan om deze adressen toe te voegen aan uw databaseaccount. Meer informatie over de Middleware-IP-adressen vindt u verder in dit artikel.

Schermopname van de lijst met middleware-IP-adressen voor netwerken in Azure Portal.

De IP-adressen van de Middleware van De Azure-portal kunnen worden verwijderd door de optie Middleware-IP-adressen van Azure Portal verwijderen te selecteren en vervolgens Opslaan te selecteren.

Middleware-IP-adressen van Azure Portal

De IP-adressen van De Middleware in Azure Portal worden hier vermeld. Sommige IP-adressen zijn alleen vereist voor specifieke DATABASEaccount-API's. Wanneer u de Middleware-IP-adressen toevoegt in de portal, zoals eerder beschreven, worden alleen de IP-adressen toegevoegd die vereist zijn voor uw account.

Voorbeeld:

  • Voor een API voor NoSQL-account worden de IP-adressen uit de categorie Alle toegevoegd.
  • Voor een API voor een MongoDB-account worden de IP-adressen uit de alleen categorieën All en MongoDB toegevoegd.
Azure openbaar
Databaseaccount-API IP-adressen
Alle 13.91.105.215,4.210.172.107,13.88.56.148,40.91.218.243
Alleen MongoDB 20.245.81.54,40.118.23.126,40.80.152.199,13.95.130.121
Alleen Apache Cassandra 40.113.96.14,104.42.11.145,137.117.230.240,168.61.72.237
Azure beheerd door 21Vianet
Databaseaccount-API IP-adressen
Alle 163.228.137.6, 143.64.170.142
Alleen MongoDB 52.131.240.99, 143.64.61.130
Alleen Apache Cassandra 40.73.99.146, 143.64.62.47
Azure Amerikaanse overheid
Databaseaccount-API IP-adressen
Alle 52.247.163.6, 52.244.134.181
Alleen MongoDB 52.244.176.112, 52.247.148.42
Alleen Apache Cassandra 52.244.50.101, 52.227.165.24

Verouderde Middleware-IP-adressen

De Cosmos DB-portalservices zijn onlangs overgestapt op een nieuwe infrastructuur waarvoor nieuwe Middleware-IP-adressen zijn vereist. Wanneer deze overgang is voltooid, kunnen de verouderde IP-adressen die door de oude infrastructuur worden gebruikt, nu veilig worden verwijderd. Als uw account verouderde Middleware-IP-adressen bevat in de firewallregels, wordt de optie Legacy Middleware-IP-adressen verwijderen in Azure Portal weergegeven. Selecteer deze optie en sla op om de verouderde IP-adressen te verwijderen.

Schermopname van de optie voor het verwijderen van verouderde middleware-IP's voor netwerken in Azure Portal.

De verouderde IP-adressen zijn afhankelijk van de cloudomgeving:

Azure-omgeving IP-adressen
Azure openbaar 104.42.195.92 40.76.54.131, 52.176.6.30, 52.169.50.4552.187.184.26
Azure beheerd door 21Vianet 139.217.8.252,52.176.6.30,52.169.50.45,52.187.184.26
Azure Amerikaanse overheid 52.244.48.71,52.176.6.30,52.169.50.45,52.187.184.26

Notitie

Als u problemen ondervindt bij het maken van verbinding met uw Azure Cosmos DB-account vanuit Data Explorer, raadpleegt u de handleiding voor het oplossen van problemen met Data Explorer.

Aanvragen van globale Azure-datacenters of andere bronnen in Azure toestaan

Sommige Azure-services, zoals Azure Stream Analytics en Azure Functions, gebruiken geen vast IP-adres. U kunt de IP-firewall nog steeds gebruiken om de toegang voor deze services te beheren. Als u toegang wilt toestaan vanuit andere Azure-resources, kiest u de optie Verbindingen accepteren vanuit Azure-datacenters . Met deze optie kunnen services die worden uitgevoerd in Azure verbinding maken met uw Cosmos DB-account.

Schermopname van de optie voor het accepteren van verbindingen vanuit openbare Azure-datacenters in Azure Portal.

Wanneer u deze optie inschakelt, wordt het IP-adres 0.0.0.0 toegevoegd aan de lijst met toegestane IP-adressen. Het 0.0.0.0 IP-adres beperkt aanvragen tot uw Azure Cosmos DB-account vanuit het IP-bereik van het Azure-datacenter. Met deze instelling is geen toegang toegestaan voor andere IP-bereiken naar uw Azure Cosmos DB-account.

Notitie

Het instellen van publicNetworkAccess op Disabled heeft voorrang op de optie Verbinding accepteren vanuit Azure-datacenters . Zie blokkerende openbare netwerktoegang tijdens het maken van het account

Notitie

Met deze optie configureert u de firewall om alle aanvragen van Azure toe te staan, inclusief aanvragen van de abonnementen van andere klanten die zijn geïmplementeerd in Azure. De lijst met IP-adressen die door deze optie zijn toegestaan, is breed, zodat de effectiviteit van een firewallbeleid wordt beperkt. Gebruik deze optie alleen als uw aanvragen niet afkomstig zijn van statische IP-adressen of subnetten in virtuele netwerken. Als u deze optie kiest, wordt automatisch toegang vanuit Azure Portal toegestaan omdat Azure Portal is geïmplementeerd in Azure.

Aanvragen van uw huidige IP-adres

Om de ontwikkeling te vereenvoudigen, helpt Azure Portal het IP-adres van uw clientcomputer te identificeren en toe te voegen aan de lijst met toegestane adressen. Apps waarop uw computer wordt uitgevoerd, hebben vervolgens toegang tot uw Azure Cosmos DB-account.

In de portal wordt automatisch het IP-adres van de client gedetecteerd. Dit kan het client-IP-adres van uw computer of het IP-adres van uw netwerkgateway zijn. Zorg ervoor dat u dit IP-adres verwijdert voordat u uw workloads naar productie gaat.

Als u uw huidige IP-adres wilt toevoegen aan de lijst met IP-adressen, selecteert u Uw huidige IP-adres toevoegen. Selecteer vervolgens Opslaan.

Schermopname van de optie om uw huidige IP-adres toe te voegen aan netwerken in Azure Portal.

Aanvragen van cloudservices

In Azure zijn cloudservices een veelgebruikte manier voor het hosten van servicelogica in de middelste laag met behulp van Azure Cosmos DB. Als u een cloudservice verbinding wilt laten maken met uw Azure Cosmos DB-account, voegt u het openbare IP-adres van de cloudservice toe aan de lijst met toegestane IP-adressen. U kunt deze bewerking uitvoeren door het IP-toegangsbeheerbeleid bij te werken in Azure Portal. Deze stap zorgt ervoor dat alle rolinstanties van cloudservices toegang hebben tot uw Azure Cosmos DB-account.

U kunt IP-adressen voor uw cloudservices ophalen in Azure Portal, zoals wordt weergegeven in de volgende schermopname:

Schermopname van het openbare IP-adres voor een cloudservice die wordt weergegeven in Azure Portal. Wanneer u uw cloudservice uitschaalt door rolinstanties toe te voegen, hebben de nieuwe exemplaren automatisch toegang tot het Azure Cosmos DB-account omdat ze deel uitmaken van dezelfde cloudservice.

Aanvragen van virtuele machines

U kunt ook virtuele machines of virtuele-machineschaalsets gebruiken om services in de middelste laag te hosten met behulp van Azure Cosmos DB. Als u een virtuele machine verbinding wilt laten maken met uw Azure Cosmos DB-account, voegt u het openbare IP-adres toe aan de lijst met toegestane machines. U kunt deze stap uitvoeren door het BELEID voor IP-toegangsbeheer bij te werken. Deze configuratie werkt ook voor virtuele-machineschaalsets. Zodra u het openbare IP-adres hebt toegevoegd, heeft de virtuele machine toegang tot uw Cosmos DB-account.

U kunt IP-adressen voor virtuele machines ophalen in Azure Portal, zoals wordt weergegeven in de volgende schermopname:

Schermopname van een openbaar IP-adres voor een virtuele machine die wordt weergegeven in Azure Portal.

Wanneer u exemplaren van virtuele machines toevoegt aan de groep, ontvangen ze automatisch toegang tot uw Azure Cosmos DB-account.

Aanvragen van internet

Als u vanaf een computer op internet verbinding wilt maken met uw Azure Cosmos DB-account, voegt u het IP-adres of IP-bereik van die computer toe aan de lijst met toegestane adressen. Alleen computers die u aan deze lijst toevoegt, kunnen uw Cosmos DB-account bereiken.

Uitgaande regels toevoegen aan de firewall

Zie Azure IP-bereiken en servicetags downloaden voor een huidige lijst met uitgaande IP-bereiken die u wilt toevoegen aan uw firewallinstellingen.

Zie De Service Tag Discovery-API gebruiken om de lijst te automatiseren.

Een IP-firewall configureren met behulp van een Resource Manager-sjabloon

Als u toegangsbeheer wilt instellen voor uw Azure Cosmos DB-account, moet u ervoor zorgen dat de Resource Manager-sjabloon de eigenschap ipRules opgeeft met een matrix met toegestane IP-bereiken. Als u IP Firewall instelt voor een al geïmplementeerd Azure Cosmos DB-account, moet u ervoor zorgen dat de locations matrix overeenkomt met de huidige implementatie. U kunt de locations matrix en andere eigenschappen niet tegelijkertijd wijzigen. Zie Azure Resource Manager-sjablonen voor Azure Cosmos DB voor meer informatie en voorbeelden van Azure Resource Manager-sjablonen voor Azure Cosmos DB.

Belangrijk

De eigenschap ipRules wordt geïntroduceerd met api-versie 2020-04-01. In eerdere versies wordt in plaats daarvan een ipRangeFilter-eigenschap gebruikt. Dit is een lijst met door komma's gescheiden IP-adressen.

In het voorbeeld ziet u hoe de eigenschap ipRules wordt weergegeven in API-versie 2020-04-01 of hoger:

{
  "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"
      }
    ]
  }
}

Hier volgt hetzelfde voorbeeld voor een API-versie die ouder is dan 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"
  }
}

Beleid voor IP-toegangsbeheer configureren met behulp van de Azure CLI

De volgende opdracht laat zien hoe u een Azure Cosmos DB-account maakt met IP-toegangsbeheer:

# 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

Beleid voor IP-toegangsbeheer configureren met Behulp van PowerShell

In het volgende script ziet u hoe u een Azure Cosmos DB-account maakt met IP-toegangsbeheer:

# 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

Problemen met IP-toegangsbeheerbeleid oplossen

U kunt problemen met een IP-toegangsbeheerbeleid oplossen met behulp van de volgende opties:

Azure Portal

Als u een BELEID voor IP-toegangsbeheer inschakelt voor uw Azure Cosmos DB-account, worden alle aanvragen van computers buiten de toegestane lijst met IP-adresbereiken geblokkeerd. Als u portalgegevensvlakbewerkingen wilt inschakelen, zoals het bladeren door containers en het uitvoeren van query's op documenten, staat u azure Portal expliciet toegang toe met behulp van het deelvenster Firewall in de portal.

Softwareontwikkelingskits

Wanneer u toegang krijgt tot Azure Cosmos DB-resources met behulp van SDK's (Software Development Kits) van computers die niet in de lijst met toegestane machines zijn opgenomen, wordt een algemeen antwoord 403 Verboden geretourneerd zonder extra details. Controleer de lijst met toegestane IP-adressen voor uw account en controleer of de juiste beleidsconfiguratie wordt toegepast op uw Azure Cosmos DB-account.

Bron-IP's in geblokkeerde aanvragen

Bekijk elke aanvraag en elk antwoord door diagnostische logboekregistratie in te schakelen voor uw Azure Cosmos DB-account. De firewallberichten worden vastgelegd met een retourcode van 403. Door deze berichten te filteren, ziet u de bron-IP-adressen voor de geblokkeerde aanvragen. Zie diagnostische logboekregistratie van Azure Cosmos DB.

Aanvragen van een subnet waarvoor een service-eindpunt is ingeschakeld voor Azure Cosmos DB

Aanvragen van een subnet in een virtueel netwerk met een service-eindpunt voor Azure Cosmos DB kunnen het virtuele netwerk en de subnet-identiteit verzenden naar Azure Cosmos DB-accounts. Deze aanvragen hebben niet het openbare IP-adres van de bron, dus IP-filters weigeren ze. Als u toegang wilt toestaan vanuit specifieke subnetten in virtuele netwerken, voegt u een toegangsbeheerlijst toe, zoals wordt beschreven in Het configureren van virtuele netwerken en subnettoegang voor uw Azure Cosmos DB-account. Het kan tot 15 minuten duren voordat firewallregels zijn toegepast en de firewall kan gedurende deze periode inconsistent gedrag vertonen.

Privé-IP-adressen in lijst met toegestane adressen

Het maken of bijwerken van een Azure Cosmos DB-account met een lijst met toegestane adressen met privé-IP-adressen mislukt. Zorg ervoor dat er geen privé-IP-adres is opgegeven in de lijst.