Konfigurace brány firewall protokolu IP ve službě Azure Cosmos DB

PLATÍ PRO: NoSQL MongoDB Cassandra Gremlin Tabulka

K zabezpečení dat uložených ve vašem účtu podporuje Azure Cosmos DB model autorizace na základě tajných kódů, který využívá silný ověřovací kód založený na hodnotě hash (HMAC). Kromě toho Azure Cosmos DB podporuje řízení přístupu na základě IP adres pro podporu příchozí brány firewall. Tento model je podobný pravidlům brány firewall tradičního databázového systému a poskytuje další úroveň zabezpečení pro váš účet. Pomocí bran firewall můžete nakonfigurovat účet služby Azure Cosmos DB tak, aby byl přístupný jenom ze schválené sady počítačů nebo cloudových služeb. Přístup k datům uloženým v databázi Azure Cosmos DB z těchto schválených sad počítačů a služeb bude stále vyžadovat, aby volající předložil platný autorizační token.

Řízení přístupu k IP adresě

Ve výchozím nastavení je váš účet Služby Azure Cosmos DB přístupný z internetu, pokud je žádost doprovázena platným autorizačním tokenem. Pokud chcete nakonfigurovat řízení přístupu na základě zásad PROTOKOLU IP, musí uživatel zadat sadu IP adres nebo rozsahů IP adres ve formuláři CIDR (Classless Inter-Domain Routing), aby se zahrnul jako seznam povolených IP adres klientů pro přístup k danému účtu služby Azure Cosmos DB. Po použití této konfigurace obdrží všechny požadavky pocházející z počítačů mimo tento povolený seznam odpověď 403 (Zakázáno). Při použití brány firewall protokolu IP se doporučuje povolit portálu Azure Portal přístup k vašemu účtu. Přístup se vyžaduje k povolení použití Průzkumníka dat a také k načtení metrik pro váš účet, který se zobrazuje na webu Azure Portal. Pokud používáte Průzkumníka dat, kromě povolení přístupu k vašemu účtu na webu Azure Portal musíte také aktualizovat nastavení brány firewall a přidat do pravidel brány firewall aktuální IP adresu. Mějte na paměti, že šíření změn brány firewall může trvat až 15 minut a během tohoto období může brána firewall vykazovat nekonzistentní chování.

Bránu firewall založenou na protokolu IP můžete kombinovat s podsítí a řízením přístupu k virtuální síti. Když je zkombinujete, můžete omezit přístup k libovolnému zdroji, který má veřejnou IP adresu nebo z konkrétní podsítě v rámci virtuální sítě. Další informace o používání podsítě a řízení přístupu na základě virtuální sítě najdete v tématu Přístup k prostředkům služby Azure Cosmos DB z virtuálních sítí.

Pro shrnutí se pro přístup k účtu služby Azure Cosmos DB vždy vyžaduje autorizační token. Pokud není nastavená brána firewall protokolu IP a seznam řízení přístupu virtuální sítě (ACL), je možné k účtu služby Azure Cosmos DB přistupovat pomocí autorizačního tokenu. Po nastavení brány firewall protokolu IP nebo seznamů ACL virtuální sítě nebo obou účtů služby Azure Cosmos DB obdrží platné odpovědi pouze požadavky pocházející ze zdrojů, které jste zadali (a s autorizačním tokenem).

Data uložená v účtu služby Azure Cosmos DB můžete zabezpečit pomocí bran firewall protokolu IP. Azure Cosmos DB podporuje řízení přístupu na základě IP adres pro podporu příchozí brány firewall. Bránu firewall protokolu IP můžete nastavit v účtu služby Azure Cosmos DB jedním z následujících způsobů:

  • Pomocí webu Azure Portal
  • Deklarativně pomocí šablony Azure Resource Manageru
  • Programově prostřednictvím Azure CLI nebo Azure PowerShellu aktualizací vlastnosti ipRangeFilter

Konfigurace brány firewall protokolu IP pomocí webu Azure Portal

Pokud chcete nastavit zásady řízení přístupu IP na webu Azure Portal, přejděte na stránku účtu služby Azure Cosmos DB a v navigační nabídce vyberte Bránu firewall a virtuální sítě . Změňte možnost Povolit přístup z hodnoty do vybraných sítí a pak vyberte Uložit. Pokud změníte nastavení sítě veřejného přístupu, a to buď tak, že ho zakážete nebo povolíte pro všechny sítě, ztratíte IP adresu brány firewall, kterou jste možná nastavili dříve.

Snímek obrazovky znázorňující, jak otevřít stránku Brány firewall na webu Azure Portal

Když je zapnuté řízení přístupu k IP adresám, azure Portal umožňuje zadat IP adresy, rozsahy IP adres a přepínače. Přepínače umožňují přístup k jiným službám Azure a webu Azure Portal. V následujících částech najdete podrobnosti o těchto přepínačích.

Poznámka:

Po povolení zásad řízení přístupu IP pro váš účet služby Azure Cosmos DB se všechny požadavky na váš účet služby Azure Cosmos DB z počítačů mimo povolený seznam rozsahů IP adres zamítnou. Procházení prostředků Azure Cosmos DB z portálu je také blokováno, aby se zajistila integrita řízení přístupu.

Povolení požadavků z webu Azure Portal

Pokud povolíte zásady řízení přístupu IP prostřednictvím kódu programu, musíte přidat IP adresu webu Azure Portal do vlastnosti ipRangeFilter , aby se zachoval přístup. IP adresy portálu jsou:

Oblast IP adresa
Čína 139.217.8.252
Vláda USA 52.244.48.71
Všechny ostatní oblasti 104.42.195.92,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26

Žádosti o přístup k webu Azure Portal můžete povolit tak , že vyberete možnost Povolit přístup z webu Azure Portal , jak je znázorněno na následujícím snímku obrazovky:

Snímek obrazovky znázorňující povolení přístupu k webu Azure Portal

Nové IP adresy webu Azure Portal

Služby portálu Cosmos DB se v roce 2024 přecházejí na novou infrastrukturu. V rámci tohoto přechodu budou účty s povolenou bránou firewall vyžadovat, aby nové IP adresy měly povolený přístup k některým funkcím portálu, jako je Průzkumník dat. Tento přesun také zavádí vyhrazené IP adresy pro účty rozhraní Mongo DB a Apache Cassandra API.

Během tohoto přechodu přidá možnost Povolit přístup z webu Azure Portal do nastavení brány firewall účtu (včetně konkrétních adres MongoDB a Cassandra) Po dokončení přechodu bude dostupná možnost portálu pro odebrání starých IP adres.

Azure Public
Rozhraní API databázového účtu Adresy IP
Vše 13.91.105.215, 4.210.172.107, 13.88.56.148, 40.91.218.243
Pouze MongoDB 20.245.81.54, 40.118.23.126, 40.80.152.199, 13.95.130.121
Pouze Apache Cassandra 40.113.96.14, 104.42.11.145, 137.117.230.240, 168.61.72.237
Azure (Čína)
Rozhraní API databázového účtu Adresy IP
Vše 163.228.137.6, 143.64.170.142
Pouze MongoDB 52.131.240.99, 143.64.61.130
Pouze Apache Cassandra 40.73.99.146, 143.64.62.47
Azure pro vládu USA
Rozhraní API databázového účtu Adresy IP
Vše 52.247.163.6, 52.244.134.181
Pouze MongoDB 52.244.176.112, 52.247.148.42
Pouze Apache Cassandra 52.244.50.101, 52.227.165.24

Poznámka:

Pokud máte problémy s připojením k účtu služby Azure Cosmos DB z Průzkumníka dat, projděte si průvodce odstraňováním potíží s Průzkumníkem dat.

Povolení požadavků z globálních datacenter Azure nebo jiných zdrojů v rámci Azure

Pokud přistupujete ke svému účtu služby Azure Cosmos DB ze služeb, které neposkytují statickou IP adresu (například Azure Stream Analytics a Azure Functions), můžete k omezení přístupu použít bránu firewall protokolu IP. Přístup z jiných zdrojů v Azure můžete povolit tak , že vyberete možnost Přijmout připojení z datových center Azure, jak je znázorněno na následujícím snímku obrazovky:

Snímek obrazovky znázorňující, jak přijímat připojení z datacenter Azure

Když tuto možnost povolíte, přidá se IP adresa 0.0.0.0 do seznamu povolených IP adres. IP 0.0.0.0 adresa omezuje požadavky na váš účet služby Azure Cosmos DB z rozsahu IP adres datacentra Azure. Toto nastavení neumožňuje přístup k účtu služby Azure Cosmos DB z žádného jiného rozsahu IP adres.

Poznámka:

Tato možnost nakonfiguruje bránu firewall tak, aby umožňovala všechny požadavky z Azure, včetně požadavků z předplatných jiných zákazníků nasazených v Azure. Seznam IP adres povolených touto možností je široký, takže omezuje účinnost zásad brány firewall. Tuto možnost použijte jenom v případě, že vaše požadavky nepocházejí ze statických IP adres nebo podsítí ve virtuálních sítích. Výběrem této možnosti automaticky povolíte přístup z webu Azure Portal, protože azure portal je nasazený v Azure.

Požadavky z vaší aktuální IP adresy

Kvůli zjednodušení vývoje vám Azure Portal pomůže identifikovat a přidat IP adresu klientského počítače do seznamu povolených. Aplikace, na kterých běží váš počítač, pak mají přístup k vašemu účtu služby Azure Cosmos DB.

Portál automaticky rozpozná IP adresu klienta. Může to být IP adresa klienta vašeho počítače nebo IP adresa vaší síťové brány. Před přechodem úloh do produkčního prostředí nezapomeňte tuto IP adresu odebrat.

Pokud chcete přidat aktuální IP adresu do seznamu IP adres, vyberte Přidat aktuální IP adresu. Pak vyberte Uložit.

Snímek obrazovky znázorňující konfiguraci nastavení brány firewall pro aktuální IP adresu

Požadavky z cloudových služeb

Cloudové služby v Azure představují běžný způsob hostování logiky služby střední vrstvy pomocí služby Azure Cosmos DB. Pokud chcete povolit přístup k účtu služby Azure Cosmos DB z cloudové služby, musíte přidat veřejnou IP adresu cloudové služby do seznamu povolených IP adres přidružených k vašemu účtu služby Azure Cosmos DB konfigurací zásad řízení přístupu k IP adresě. Tím se zajistí, že všechny instance rolí cloudových služeb mají přístup k vašemu účtu služby Azure Cosmos DB.

IP adresy cloudových služeb můžete načíst na webu Azure Portal, jak je znázorněno na následujícím snímku obrazovky:

Snímek obrazovky znázorňující veřejnou IP adresu cloudové služby zobrazené na webu Azure Portal

Když škálujete cloudovou službu přidáním instancí rolí, budou mít tyto nové instance automaticky přístup k účtu služby Azure Cosmos DB, protože jsou součástí stejné cloudové služby.

Žádosti z virtuálních počítačů

Virtuální počítače nebo škálovací sady virtuálních počítačů můžete použít také k hostování služeb střední vrstvy pomocí služby Azure Cosmos DB. Pokud chcete nakonfigurovat účet služby Azure Cosmos DB tak, aby umožňoval přístup z virtuálních počítačů, musíte nakonfigurovat veřejnou IP adresu virtuálního počítače nebo škálovací sady virtuálních počítačů jako jednu z povolených IP adres pro váš účet služby Azure Cosmos DB tím, že nakonfigurujete zásady řízení přístupu IP.

IP adresy pro virtuální počítače můžete načíst na webu Azure Portal, jak je znázorněno na následujícím snímku obrazovky:

Snímek obrazovky znázorňující veřejnou IP adresu virtuálního počítače zobrazeného na webu Azure Portal

Když do skupiny přidáte instance virtuálních počítačů, automaticky získají přístup k vašemu účtu služby Azure Cosmos DB.

Žádosti z internetu

Když přistupujete ke svému účtu služby Azure Cosmos DB z počítače na internetu, musí se ip adresa klienta nebo rozsah IP adres počítače přidat do seznamu povolených IP adres pro váš účet.

Přidání pravidel odchozích přenosů do brány firewall

Pokud chcete získat přístup k aktuálnímu seznamu rozsahů odchozích IP adres, které chcete přidat do nastavení brány firewall, přečtěte si téma Stažení rozsahů IP adres a značek služeb Azure.

Pokud chcete seznam automatizovat, přečtěte si téma Použití rozhraní API pro zjišťování značek služeb.

Konfigurace brány firewall protokolu IP pomocí šablony Resource Manageru

Pokud chcete nakonfigurovat řízení přístupu k účtu služby Azure Cosmos DB, ujistěte se, že šablona Resource Manageru určuje vlastnost ipRules s polem povolených rozsahů IP adres. Pokud nakonfigurujete bránu firewall protokolu IP na již nasazený účet služby Azure Cosmos DB, ujistěte se locations , že pole odpovídá aktuálně nasazeným polím. Pole a další vlastnosti nelze současně upravovat locations . Další informace a ukázky šablon Azure Resource Manageru pro službu Azure Cosmos DB najdete v šablonách Azure Resource Manageru pro službu Azure Cosmos DB.

Důležité

Vlastnost ipRules byla zavedena s rozhraním API verze 2020-04-01. Předchozí verze místo toho odhalily vlastnost ipRangeFilter , což je seznam IP adres oddělených čárkami.

Následující příklad ukazuje, jak je vlastnost ipRules zpřístupněna v rozhraní API verze 2020-04-01 nebo novější:

{
  "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": "40.76.54.131"
      },
      {
        "ipAddressOrRange": "52.176.6.30"
      },
      {
        "ipAddressOrRange": "52.169.50.45"
      },
      {
        "ipAddressOrRange": "52.187.184.26"
      }
    ]
  }
}

Tady je stejný příklad pro libovolnou verzi rozhraní API před 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":"40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26"
  }
}

Konfigurace zásad řízení přístupu IP pomocí Azure CLI

Následující příkaz ukazuje, jak vytvořit účet služby Azure Cosmos DB s řízením přístupu k IP adrese:

# 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'

# Make sure 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

Konfigurace zásad řízení přístupu IP pomocí PowerShellu

Následující skript ukazuje, jak vytvořit účet služby Azure Cosmos DB s řízením přístupu k IP adrese:

# 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

Řešení potíží se zásadami řízení přístupu IP

Problémy se zásadami řízení přístupu IP můžete vyřešit pomocí následujících možností:

portál Azure

Povolením zásad řízení přístupu IP pro váš účet Azure Cosmos DB zablokujete všechny požadavky na váš účet z počítačů mimo povolený seznam rozsahů IP adres. Pokud chcete povolit operace roviny dat portálu, jako je procházení kontejnerů a dotazování dokumentů, musíte explicitně povolit přístup k webu Azure Portal pomocí podokna brána firewall na portálu.

Sady SDK

Při přístupu k prostředkům Azure Cosmos DB pomocí sad SDK z počítačů, které nejsou v seznamu povolených, se vrátí obecná odpověď 403 Zakázáno bez dalších podrobností. Ověřte seznam povolených IP adres pro váš účet a ujistěte se, že je pro váš účet služby Azure Cosmos DB použitá správná konfigurace zásad.

Zdrojové IP adresy v blokovaných požadavcích

Povolte protokolování diagnostiky u účtu služby Azure Cosmos DB. Tyto protokoly zobrazují jednotlivé požadavky a odpovědi. Zprávy související s bránou firewall se protokolují s návratovým kódem 403. Filtrováním těchto zpráv můžete zobrazit zdrojové IP adresy blokovaných požadavků. Viz protokolování diagnostiky služby Azure Cosmos DB.

Požadavky z podsítě s povoleným koncovým bodem služby pro službu Azure Cosmos DB

Požadavky z podsítě ve virtuální síti, která má povolený koncový bod služby pro službu Azure Cosmos DB, odešle identitu virtuální sítě a podsítě do účtů služby Azure Cosmos DB. Tyto požadavky nemají veřejnou IP adresu zdroje, proto je filtry IP adres zamítnou. Pokud chcete povolit přístup z konkrétních podsítí ve virtuálních sítích, přidejte seznam řízení přístupu podle postupu konfigurace virtuální sítě a přístupu na základě podsítě pro váš účet služby Azure Cosmos DB. Použití pravidel brány firewall může trvat až 15 minut a během tohoto období může brána firewall vykazovat nekonzistentní chování.

Privátní IP adresy v seznamu povolených adres

Vytvoření nebo aktualizace účtu služby Azure Cosmos DB se seznamem povolených adres obsahujících privátní IP adresy selže. Ujistěte se, že v seznamu není zadaná žádná privátní IP adresa.

Další kroky

Pokud chcete nakonfigurovat koncový bod služby pro virtuální síť pro účet služby Azure Cosmos DB, projděte si následující články: