Konfigurace brány firewall protokolu IP ve službě Azure Cosmos DB
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
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 se podobá 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 je nutný k povolení použití Průzkumníka dat a 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. Rozšíření změn brány firewall může trvat až 15 minut a brána firewall může během tohoto období 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. 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í.
Pro shrnutí 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í 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 Sítě . Změňte 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, budete také muset zaškrtnout políčko, abyste potvrdili, že budou všechny virtuální sítě a IP adresy blokované. 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.
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, budete možná muset přidat IP adresy služeb 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 <cosmos.azure.com>
- Pro všechna rozhraní API použijte následující okna 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:
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. Kliknutím na Uložit přidáte tyto adresy do svého databázového účtu. Další podrobnosti o IP adresách middlewaru najdete níže v tomto článku.
IP adresy middlewaru webu Azure Portal je možné odebrat kliknutím na možnost Odebrat IP adresy middlewaru webu Azure Portal a následným výběrem možnosti Uložit.
IP adresy middlewaru na webu Azure Portal
IP adresy middlewaru na webu Azure Portal jsou uvedené níže. 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 vyžadované pro váš účet.
Příklad:
Pro účet ROZHRANÍ API pro NoSQL se přidají IP adresy z kategorie Vše .
Pro účet rozhraní API pro MongoDB budou přidány IP adresy pouze z kategorií Všechny a MongoDB.
Azure Public
Rozhraní API databázového účtu | Adresy IP |
---|---|
Všechny | 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š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.
Starší IP adresy jsou závislé na cloudovém prostředí:
Prostředí Azure | IP adresy |
---|---|
Azure Public | 104.42.195.92, 40.76.54.131, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure (Čína) | 139.217.8.252, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure pro vládu USA | 52.244.48.71, 52.176.6.30, 52.169.50.45, 52.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
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:
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 touto 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
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.
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:
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:
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é byste měli přidat do nastavení brány firewall, přejděte na stránku Rozsahy IP adres a značky služeb Azure ke stažení.
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 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.
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 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":"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'
# 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žou. Ujistěte se, že v seznamu není zadaná žádná privátní IP adresa.