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 azure Cosmos DB podporuje autorizační model založený na tajných kódech, který využívá silný kód HMAC (Hash-based Message Authentication Code). Azure Cosmos DB navíc podporuje řízení přístupu na základě PROTOKOLU IP 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í vašeho účtu. Pomocí bran firewall můžete nakonfigurovat přístup k účtu služby Azure Cosmos DB 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 PROTOKOLU IP
Ve výchozím nastavení je váš účet služby Azure Cosmos DB přístupný z internetu, pokud je k žádosti připojen 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), který se zahrne jako seznam povolených IP adres klientů pro přístup k danému účtu služby Azure Cosmos DB. Jakmile se tato konfigurace použije, všechny požadavky pocházející z počítačů mimo tento seznam povolených obdrží odpověď 403 (Zakázáno). Při používání brány firewall protokolu IP se doporučuje povolit Azure Portal přístup k vašemu účtu. Přístup se vyžaduje, aby bylo možné používat Průzkumník dat a načítat metriky pro váš účet, které se zobrazují na Azure Portal. Pokud používáte Průzkumník dat, musíte kromě povolení přístupu k vašemu účtu Azure Portal také aktualizovat nastavení brány firewall a přidat aktuální IP adresu do pravidel brány firewall. Upozorňujeme, že šíření změn brány firewall může trvat až 15 minut a brána firewall může během této doby 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. Jejich kombinací můžete omezit přístup k jakémukoli 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í.
Abychom to shrnuli, pro přístup k účtu služby Azure Cosmos DB se vždy vyžaduje autorizační token. Pokud není nastavená brána firewall protokolu IP a seznam Access Control virtuální sítě (ACL), je k účtu služby Azure Cosmos DB přístup pomocí autorizačního tokenu. Po nastavení seznamů ACL brány firewall protokolu IP nebo virtuální sítě nebo obojího v účtu služby Azure Cosmos DB budou platné odpovědi pouze na požadavky pocházející ze zdrojů, které jste zadali (a s autorizačním tokenem).
Data uložená ve vašem úč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 pro podporu příchozí brány firewall. Bránu firewall protokolu IP můžete u účtu služby Azure Cosmos DB nastavit 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 PowerShell aktualizací vlastnosti ipRangeFilter
Konfigurace brány firewall protokolu IP pomocí Azure Portal
Pokud chcete nastavit zásady řízení přístupu IP v Azure Portal, přejděte na stránku účtu služby Azure Cosmos DB a v navigační nabídce vyberte Brána firewall a virtuální sítě. Změňte hodnotu Povolit přístup z na Vybrané sítě a pak vyberte Uložit.
Pokud je zapnuté řízení přístupu IP, Azure Portal umožňuje zadat IP adresy, rozsahy IP adres a přepínače. Přepínače umožňují přístup k dalším službám Azure a Azure Portal. Následující části obsahují podrobnosti o těchto přepínačích.
Poznámka
Po povolení zásad řízení přístupu ip adres 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 seznam povolených rozsahů IP adres zamítnou. Zablokované je také procházení prostředků Azure Cosmos DB z portálu, aby se zajistila integrita řízení přístupu.
Povolit požadavky z Azure Portal
Když programově povolíte zásady řízení přístupu PROTOKOLU IP, musíte přidat IP adresu pro Azure Portal do vlastnosti ipRangeFilter, aby se zachoval přístup. IP adresy portálu jsou:
Oblast | IP adresa |
---|---|
Čína | 139.217.8.252 |
US Gov | 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 Azure Portal můžete povolit tak, že vyberete možnost Povolit přístup z Azure Portal, jak je znázorněno na následujícím snímku obrazovky:
Povolení požadavků z globálních datacenter Azure nebo jiných zdrojů v rámci Azure
Pokud ke svému účtu Azure Cosmos DB přistupujete ze služeb, které neposkytují statickou IP adresu (například Azure Stream Analytics a Azure Functions), můžete přístup omezit pomocí brány firewall protokolu IP. Přístup z jiných zdrojů v rámci Azure můžete povolit výběrem možnosti Přijímat 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, IP adresa 0.0.0.0
se přidá 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. Volba této možnosti automaticky povolí přístup z Azure Portal, protože Azure Portal je nasazená v Azure.
Požadavky z vaší aktuální IP adresy
Pro zjednodušení vývoje vám Azure Portal pomůže 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 síťové brány. Před uvedením ú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
V Azure jsou cloudové služby běžným způsobem 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 do seznamu povolených IP adres přidružených k vašemu účtu služby Azure Cosmos DB přidat veřejnou IP adresu cloudové služby tím, že nakonfigurujete zásady řízení přístupu PROTOKOLU IP. Tím se 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 pro cloudové služby můžete načíst v Azure Portal, jak je znázorněno na následujícím snímku obrazovky:
Při horizontálním navýšení kapacity cloudové služby přidáním instancí rolí budou mít tyto nové instance automaticky přístup k účtu Azure Cosmos DB, protože jsou součástí stejné cloudové služby.
Požadavky z virtuálních počítačů
Virtuální počítače nebo škálovací sady virtuálních počítačů můžete také použít 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 virtuálních počítačů můžete načíst v 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.
Požadavky z internetu
Při přístupu k účtu služby Azure Cosmos DB z počítače na internetu musí být ip adresa klienta nebo rozsah IP adres počítače přidány 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 Manager
Pokud chcete nakonfigurovat řízení přístupu k účtu služby Azure Cosmos DB, ujistěte se, že šablona Resource Manager určuje vlastnost ipRules s polem povolených rozsahů IP adres. Pokud konfigurujete bránu firewall protokolu IP na už nasazený účet služby Azure Cosmos DB, ujistěte se, že locations
pole odpovídá aktuálně nasazenýmu poli. Pole a další vlastnosti nelze současně upravovat locations
. Další informace a ukázky šablon Azure Resource Manager pro službu Azure Cosmos DB najdete v tématu Šablony Azure Resource Manager pro Azure Cosmos DB.
Důležité
Vlastnost ipRules byla zavedena v rozhraní API verze 2020-04-01. Předchozí verze místo toho zveřejnily 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 všechny verze rozhraní API před 1. 4. 2020:
{
"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 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'
# 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 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
Řešení potíží se zásadami řízení přístupu IP adres
Problémy se zásadami řízení přístupu IP adres můžete vyřešit pomocí následujících možností:
portál Azure
Povolením zásad řízení přístupu IP pro účet služby Azure Cosmos DB zablokujete všechny požadavky na váš účet z počítačů mimo seznam povolených rozsahů IP adres. Pokud chcete povolit operace roviny dat portálu, jako je procházení kontejnerů a dotazování dokumentů, musíte Azure Portal přístup explicitně povolit 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 na 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žita správná konfigurace zásad.
Zdrojové IP adresy v blokovaných požadavcích
Povolte protokolování diagnostiky pro účet služby Azure Cosmos DB. Tyto protokoly zobrazují jednotlivé požadavky a odpovědi. Zprávy související s bránou firewall se protokolují pomocí návratového kódu 403. Filtrováním těchto zpráv zobrazíte 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 povoleným koncovým bodem služby Azure Cosmos DB odesílají identitu virtuální sítě a podsítě do účtů služby Azure Cosmos DB. Tyto požadavky nemají veřejnou IP adresu zdroje, takže je filtry IP adres odmí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, jak je popsáno v tématu Konfigurace přístupu k virtuální síti a podsíti pro váš účet služby Azure Cosmos DB. Použití pravidel brány firewall může trvat až 15 minut a brána firewall může během této doby 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 se nezdaří. Ujistěte se, že v seznamu není zadaná žádná privátní IP adresa.
Další kroky
Informace o konfiguraci koncového bodu služby pro virtuální síť pro účet služby Azure Cosmos DB najdete v následujících článcích: