Sdílet prostřednictvím


Konfigurace brány firewall protokolu IP pro službu Azure Cosmos DB

K zabezpečení dat uložených ve vašem účtu azure Cosmos DB používá autorizační model založený na tajných klíčích se silným ověřovacím kódem založeným na hodnotě hash (HMAC). Kromě toho Azure Cosmos DB používá řízení přístupu na základě IP adres pro zabezpečení příchozí brány firewall. Tento model je podobný pravidlům brány firewall tradičního databázového systému a přidává do vašeho účtu další vrstvu zabezpečení. Pomocí bran firewall nakonfigurujte účet služby Azure Cosmos DB tak, aby umožňoval přístup pouze 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 počítačů a služeb stále vyžaduje, 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 požadavek obsahuje platný autorizační token. 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 z počítačů mimo tento povolený seznam odpověď 403 (Zakázáno). Při použití brány firewall protokolu IP můžou některé scénáře vyžadovat povolení přístupu z webu Azure Portal. Další informace najdete v tématu Povolení požadavků z webu Azure Portal. Při použití Průzkumníka dat pro rozhraní API for NoSQL, Gremlin nebo Table account musíte také aktualizovat nastavení brány firewall a přidat aktuální IP adresu do pravidel brány firewall. Rozšíření změn brány firewall může trvat až 15 minut a během tohoto období se může brána firewall chovat nekonzistentně.

Zkombinujte brány firewall založené na protokolu IP s podsítí a řízením přístupu k virtuální síti. Zkombinováním 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í.

K vytvoření souhrnu se pro přístup k účtu služby Azure Cosmos DB vždy vyžaduje autorizační token. Pokud není nastavený firewall protokolu IP a seznam řízení přístupu k virtuální síti (ACL), je možné k účtu služby Azure Cosmos DB přistupovat pomocí autorizačního tokenu. Po nastavení pravidel brány firewall protokolu IP nebo seznamů přístupu k virtuální síti pro váš účet služby Azure Cosmos DB budou fungovat jenom požadavky z povolených zdrojů. Tyto požadavky musí také obsahovat platný autorizační token pro získání odpovědi.

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. Nastavte bránu firewall protokolu IP na účtu služby Azure Cosmos DB pomocí jedné z následujících metod:

  • 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 Sítě . Nastavte možnost Povolit přístup z hodnoty do vybraných sítí a pak vyberte Uložit. Pokud ještě nepřidáte žádné IP adresy, musíte zaškrtnout políčko, abyste potvrdili, že jsou všechny virtuální sítě a IP adresy blokované. Pokud změníte nastavení přístupu k veřejné síti, například ho vypnete nebo necháte všechny sítě připojit, všechny IP adresy brány firewall, které nastavíte dříve, se odeberou.

Snímek obrazovky s nastavením síťové brány firewall služby Azure Cosmos DB 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:

Když pro svůj účet služby Azure Cosmos DB zapnete řízení přístupu k IP adresě, můžou se k vašemu účtu dostat jenom žádosti z povolených IP adres. Pokud IP adresa není v seznamu povolených, její požadavky se zablokují. Prostředky Cosmos DB také nemůžete procházet na webu Azure Portal, pokud nepovolíte přístup k portálu.

Povolení požadavků z webu Azure Portal

Pokud povolíte zásady řízení přístupu IP prostřednictvím kódu programu, možná budete muset přidat IP adresy pro služby webu Azure Portal do vlastnosti ipRangeFilter , abyste mohli dál používat některé funkce portálu.

Mezi scénáře portálu, které vyžadují povolení této možnosti, patří:

  • Konkrétně pro rozhraní API pro MongoDB nebo API pro Apache Cassandra, přístup k účtům pomocí Průzkumníka dat nebo https://cosmos.azure.com
  • Pro všechna rozhraní API použijte následující části služby Azure Cosmos DB na webu Azure Portal:
    • Procházet kolekce
    • Power BI
    • Azure Synapse

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

Snímek obrazovky s možnostmi přidání IP adres middlewaru do sítí na webu Azure Portal

IP adresy middlewaru webu Azure Portal se přidají do samostatného seznamu, jak je znázorněno na následujícím snímku obrazovky. Vyberte Uložit a přidejte tyto adresy do svého databázového účtu. Další podrobnosti o IP adresách middlewaru najdete dále v tomto článku.

Snímek obrazovky se seznamem IP adres middlewaru pro sítě na webu Azure Portal

IP adresy middlewaru webu Azure Portal je možné odebrat výběrem možnosti Odebrat IP adresy middlewaru na webu Azure Portal a následným výběrem možnosti Uložit.

IP adresy middlewaru na webu Azure Portal

Tady jsou uvedené IP adresy middlewaru webu Azure Portal. Některé IP adresy se vyžadují jenom pro konkrétní rozhraní API databázového účtu. Když na portálu přidáte IP adresy middlewaru, jak je popsáno výše, přidají se jenom IP adresy požadované pro váš účet.

Příklad:

  • Pro účet rozhraní API pro NoSQL se přidají IP adresy z kategorie Všechny .
  • Pro účet rozhraní API pro MongoDB se přidají IP adresy pouze z kategorií Všechny a MongoDB .
Azure veřejný
Rozhraní API databázového účtu Adresy IP
Všechny 13.91.105.215, 4.210.172.107, , 13.88.56.14840.91.218.243
Pouze MongoDB 20.245.81.54, 40.118.23.126, , 40.80.152.19913.95.130.121
Pouze Apache Cassandra 40.113.96.14, 104.42.11.145, , 137.117.230.240168.61.72.237
Azure provozovaný společností 21Vianet
Rozhraní API databázového účtu Adresy IP
Všechny 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šechny 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

Starší IP adresy middlewaru

Služby portálu Cosmos DB nedávno přešly na novou infrastrukturu, která vyžadovala nové IP adresy middlewaru. Po dokončení tohoto přechodu je teď možné bezpečně odebrat starší IP adresy používané starou infrastrukturou. Pokud váš účet obsahuje starší IP adresy middlewaru v pravidlech brány firewall, zobrazí se možnost Odebrat starší ip adresy middlewaru na webu Azure Portal . Tuto možnost vyberte a potom uložte a odeberte starší IP adresy.

Snímek obrazovky s možností odebrání starších IP adres middlewaru pro sítě na webu Azure Portal

Starší IP adresy jsou závislé na cloudovém prostředí:

Prostředí Azure IP adresy
Azure veřejný 104.42.195.92, 40.76.54.131, 52.176.6.30, , 52.169.50.4552.187.184.26
Azure provozovaný společností 21Vianet 139.217.8.252, 52.176.6.30, , 52.169.50.4552.187.184.26
Azure pro vládu USA 52.244.48.71, 52.176.6.30, , 52.169.50.4552.187.184.26

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

Některé služby Azure, jako je Azure Stream Analytics a Azure Functions, nepoužívají pevnou IP adresu. Bránu firewall protokolu IP můžete dál používat k řízení přístupu k těmto službám. Pokud chcete povolit přístup z jiných prostředků Azure, zvolte možnost Přijmout připojení z datových center Azure . Tato možnost umožňuje službám spuštěným v Azure připojit se k vašemu účtu Cosmos DB.

Snímek obrazovky s možností přijímat připojení z veřejných datacenter Azure na webu Azure Portal

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 žádným dalším rozsahům IP adres k vašemu účtu služby Azure Cosmos DB.

Poznámka:

Nastavení publicNetworkAccess na Zakázáno má přednost před možností Přijmout připojení z datových center Azure . Zobrazení blokování-public-network-access-during-account-creation

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

Pro zjednodušení vývoje pomáhá Azure Portal identifikovat a přidat IP adresu vašeho 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 s možností přidat aktuální IP adresu do sítí na webu Azure Portal

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, aby se cloudová služba připojila k vašemu účtu služby Azure Cosmos DB, přidejte veřejnou IP adresu cloudové služby do seznamu povolených IP adres. Tuto operaci můžete provést aktualizací zásad řízení přístupu IP na webu Azure Portal. Tento krok zajistí, že všechny instance rolí cloudových služeb budou mít 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í, nové instance mají 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 virtuálnímu počítači umožnit připojení k vašemu účtu služby Azure Cosmos DB, přidejte jeho veřejnou IP adresu do seznamu povolených adres. Tento krok můžete provést aktualizací zásad řízení přístupu IP adres. Tato konfigurace také funguje pro škálovací sady virtuálních počítačů. Po přidání veřejné IP adresy může virtuální počítač přistupovat k vašemu účtu služby Cosmos DB.

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

Pokud se chcete připojit k účtu služby Azure Cosmos DB z počítače na internetu, přidejte do seznamu povolených IP adres nebo rozsah IP adres daného počítače. K účtu cosmos DB se můžou dostat jenom počítače, které přidáte do tohoto seznamu.

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

Aktuální seznam rozsahů odchozích IP adres, které se mají přidat do nastavení brány firewall, najdete v tématu Stažení rozsahů IP adres a značek služeb Azure.

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

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

Pokud chcete nastavit řízení přístupu pro účet služby Azure Cosmos DB, ujistěte se, že šablona Resource Manageru určuje vlastnost ipRules s polem povolených rozsahů IP adres. Pokud nastavíte bránu firewall protokolu IP pro již nasazený účet služby Azure Cosmos DB, ujistěte se, že locations pole odpovídá aktuálnímu nasazení. Pole a další vlastnosti nemůžete upravovat locations současně. Další informace a ukázky šablon Azure Resource Manageru pro službu Azure Cosmos DB najdete v tématu Šablony Azure Resource Manageru pro Azure Cosmos DB.

Důležité

Vlastnost ipRules je zavedena s verzí 2020-04-01rozhraní API . Starší verze místo toho používají vlastnost ipRangeFilter , což je seznam IP adres oddělených čárkami.

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": "13.91.105.215"
      },
      {
        "ipAddressOrRange": "4.210.172.107"
      },
      {
        "ipAddressOrRange": "13.88.56.148"
      },
      {
        "ipAddressOrRange": "40.91.218.243"
      }
    ]
  }
}

Tady je stejný příklad pro libovolnou verzi rozhraní API starší než 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"
  }
}

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'

# 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

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 k IP adresám

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

Azure Portal

Povolení zásad řízení přístupu IP pro váš účet Služby Azure Cosmos DB blokuje všechny požadavky 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ů, explicitně povolte přístup k webu Azure Portal pomocí podokna Brány firewall na portálu.

Sady sdk pro vývoj softwaru

Při přístupu k prostředkům Azure Cosmos DB pomocí sad SDK (Software Development Kit) z počítačů, které nejsou v seznamu povolených, se vrátí obecná odpověď 403 Zakázáno bez dalších podrobností. Zkontrolujte 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

Zobrazte si jednotlivé požadavky a odpovědi povolením protokolování diagnostiky u vašeho účtu služby Azure Cosmos DB. 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 s koncovým bodem služby pro službu Azure Cosmos DB posílají virtuální síť a identitu 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.