IP-tűzfal konfigurálása az Azure Cosmos DB-ben
A KÖVETKEZŐKRE VONATKOZIK: NoSQL
MongoDB
Cassandra
Gremlin
Asztal
A fiókban tárolt adatok védelme érdekében az Azure Cosmos DB egy titkos hitelesítési modellt támogat, amely erős kivonatalapú üzenethitelesítési kódot (HMAC) használ. Emellett az Azure Cosmos DB támogatja az IP-alapú hozzáférés-vezérlést a bejövő tűzfalak támogatásához. Ez a modell hasonló a hagyományos adatbázisrendszer tűzfalszabályaihoz, és egy másik szintű biztonságot nyújt a fiókjának. Tűzfalak használatával úgy konfigurálhatja azure Cosmos DB-fiókját, hogy csak jóváhagyott gépekről és/vagy felhőszolgáltatásokból legyen elérhető. Az Azure Cosmos DB-adatbázisban ezen jóváhagyott gépcsoportokból és szolgáltatásokból tárolt adatokhoz való hozzáféréshez a hívónak továbbra is érvényes engedélyezési jogkivonatot kell bemutatnia.
IP-hozzáférés-vezérlés
Az Azure Cosmos DB-fiók alapértelmezés szerint elérhető az internetről, feltéve, hogy a kéréshez érvényes engedélyezési jogkivonat tartozik. Az IP-szabályzatalapú hozzáférés-vezérlés konfigurálásához a felhasználónak meg kell adnia az IP-címek vagy IP-címtartományok készletét a CIDR (Osztály nélküli tartományközi útválasztás) formában, hogy szerepeljen az ügyfél IP-címeinek engedélyezett listájaként egy adott Azure Cosmos DB-fiók eléréséhez. A konfiguráció alkalmazása után az engedélyezett listán kívüli gépekről érkező kérések 403 (Tiltott) választ kapnak. IP-tűzfal használata esetén javasoljuk, hogy engedélyezze az Azure Portal számára a fiók elérését. Hozzáférés szükséges az adatkezelő használatához és az Azure Portalon megjelenő fiók metrikáinak lekéréséhez. Az Adatkezelő használatakor amellett, hogy lehetővé teszi az Azure Portal számára a fiók elérését, frissítenie kell a tűzfalbeállításokat is, hogy hozzáadja az aktuális IP-címet a tűzfalszabályokhoz. A tűzfalmódosítások propagálása akár 15 percet is igénybe vehet, és ebben az időszakban a tűzfal inkonzisztens viselkedést mutathat.
Az IP-alapú tűzfalat alhálózattal és virtuális hálózati hozzáférés-vezérléssel kombinálhatja. Ezek kombinálásával korlátozhatja a hozzáférést minden olyan forráshoz, amelynek nyilvános IP-címe és/vagy egy adott alhálózata van a virtuális hálózaton belül. Az alhálózat és a virtuális hálózatalapú hozzáférés-vezérlés használatáról további információt az Azure Cosmos DB-erőforrások elérése virtuális hálózatokból című témakörben talál.
Összefoglalva, az engedélyezési jogkivonatra mindig szükség van egy Azure Cosmos DB-fiók eléréséhez. Ha az IP-tűzfal és a virtuális hálózati hozzáférés-vezérlési lista (ACL) nincs beállítva, az Azure Cosmos DB-fiók az engedélyezési jogkivonattal érhető el. Miután az IP-tűzfal vagy a virtuális hálózati ACL-ek vagy mindkettő be lett állítva az Azure Cosmos DB-fiókban, csak a megadott forrásokból (és az engedélyezési jogkivonattal) származó kérések kapnak érvényes válaszokat.
Az Azure Cosmos DB-fiókban tárolt adatokat IP-tűzfalak használatával biztonságossá teheti. Az Azure Cosmos DB támogatja az IP-alapú hozzáférés-vezérlést a bejövő tűzfalak támogatásához. Ip-tűzfalat az Azure Cosmos DB-fiókon az alábbi módok egyikével állíthat be:
- Az Azure Portalról
- Deklaratívan az Azure Resource Manager-sablon használatával
- Programozott módon az Azure CLI vagy az Azure PowerShell használatával az ipRangeFilter tulajdonság frissítésével
IP-tűzfal konfigurálása az Azure Portal használatával
Az IP-hozzáférés-vezérlési szabályzat Azure Portalon való beállításához nyissa meg az Azure Cosmos DB-fiók lapját, és válassza a Navigációs menü Hálózatkezelés elemét. Módosítsa a Hozzáférés engedélyezése értékről a Kijelölt hálózatokra beállítást, majd válassza a Mentés lehetőséget. Ha még nem ad hozzá IP-címeket, akkor a jelölőnégyzetet is be kell jelölnie, hogy az összes virtuális hálózat és IP-cím le lesz tiltva. Ha módosítja a nyilvános hozzáférési hálózati beállításokat, vagy letiltja vagy engedélyezi az összes hálózat számára, elveszíti a korábban beállított tűzfal IP-címét.
Ha az IP-hozzáférés-vezérlés be van kapcsolva, az Azure Portal lehetővé teszi IP-címek, IP-címtartományok és kapcsolók megadását. A kapcsolók lehetővé teszik a hozzáférést más Azure-szolgáltatásokhoz és az Azure Portalhoz. A következő szakaszok részletesen ismertetik ezeket a kapcsolókat.
Feljegyzés
Miután engedélyezte az Ip-hozzáférés-vezérlési szabályzatot az Azure Cosmos DB-fiókhoz, a rendszer elutasítja az Azure Cosmos DB-fiókhoz az engedélyezett IP-címtartományokon kívüli gépekről érkező összes kérést. Az Azure Cosmos DB-erőforrások portálról való böngészése szintén le van tiltva a hozzáférés-vezérlés integritásának biztosítása érdekében.
Kérelmek engedélyezése az Azure Portalról
Ha programozott módon engedélyezi az IP-hozzáférés-vezérlési szabályzatot, előfordulhat, hogy bizonyos portálfunkciók használatához hozzá kell adnia az Azure Portal-szolgáltatások IP-címeit az ipRangeFilter tulajdonsághoz.
A portál azon forgatókönyvei, amelyekhez engedélyezni kell ezt a beállítást, a következők:
- Kifejezetten a MongoDB-hez vagy az Apache Cassandra API-hoz készült API-hoz, amely az Adatkezelővel vagy <cosmos.azure.com>
- Az összes API-hoz használja a következő Azure Cosmos DB paneleket az Azure Portalon:
- Gyűjtemények tallózása
- Power BI
- Azure Synapse
Az Azure Portal elérésére irányuló kéréseket az Azure Portal Köztes szoftver IP-címeinek hozzáadása lehetőség kiválasztásával engedélyezheti, ahogyan az alábbi képernyőképen látható:
Az Azure Portal Middleware IP-címei egy külön listához lesznek hozzáadva, az alábbi képernyőképen látható módon. A Mentés gombra kattintva felveheti ezeket a címeket az adatbázisfiókba. A Middleware IP-címekkel kapcsolatos további részleteket a jelen cikkben talál alább.
Az Azure Portal Middleware IP-címeit az Azure Portal Köztes szoftver IP-címeinek eltávolítása lehetőségre kattintva, majd a Mentés gombra kattintva távolíthatja el.
Az Azure Portal Köztes szoftver IP-címei
Az Azure Portal Middleware IP-címei az alábbiakban láthatók. Egyes IP-címek csak adott adatbázisfiók API-khoz szükségesek. Amikor hozzáadja a Middleware IP-címeket a portálon, a fentiekben leírtak szerint csak a fiókhoz szükséges IP-címek lesznek hozzáadva.
Példa:
A NoSQL-fiókhoz készült API-k esetében a rendszer hozzáadja a Minden kategóriából származó IP-címeket.
A MongoDB-fiókhoz készült API-k esetében a rendszer csak az Összes és a MongoDB kategóriából származó IP-címeket adja hozzá.
Nyilvános Azure
Adatbázisfiók API | IP-címek |
---|---|
Mind | 13.91.105.215, 4.210.172.107, 13.88.56.148, 40.91.218.243 |
Csak MongoDB | 20.245.81.54, 40.118.23.126, 40.80.152.199, 13.95.130.121 |
Csak Apache Cassandra | 40.113.96.14, 104.42.11.145, 137.117.230.240, 168.61.72.237 |
Azure China
Adatbázisfiók API | IP-címek |
---|---|
Mind | 163.228.137.6, 143.64.170.142 |
Csak MongoDB | 52.131.240.99, 143.64.61.130 |
Csak Apache Cassandra | 40.73.99.146, 143.64.62.47 |
Azure US Government
Adatbázisfiók API | IP-címek |
---|---|
Mind | 52.247.163.6, 52.244.134.181 |
Csak MongoDB | 52.244.176.112, 52.247.148.42 |
Csak Apache Cassandra | 52.244.50.101, 52.227.165.24 |
Régi Köztes szoftver IP-címei
A Cosmos DB portálszolgáltatásai nemrég átálltak új infrastruktúrára, amely új Middleware IP-címeket igényelt. Az áttűnés befejezésével a régi infrastruktúra által használt régi IP-címek mostantól biztonságosan eltávolíthatók. Ha a fiókjában régi Middleware IP-címek szerepelnek a tűzfalszabályokban, megjelenik az Azure Portal örökölt köztes szoftver IP-címeinek eltávolítása lehetőség. Válassza ki ezt a lehetőséget, majd a Mentés gombra kattintva távolítsa el az örökölt IP-címeket.
Az örökölt IP-címek a felhőkörnyezettől függnek:
Azure Environment | IP-címek |
---|---|
Nyilvános Azure | 104.42.195.92, 40.76.54.131, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure China | 139.217.8.252, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure US Government | 52.244.48.71, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Feljegyzés
Ha problémákat tapasztal az Azure Cosmos DB-fiókhoz való csatlakozáskor az Adatkezelőből, tekintse át az Adatkezelő hibaelhárítási útmutatóját.
Globális Azure-adatközpontokból vagy egyéb Azure-beli forrásokból érkező kérések engedélyezése
Ha az Azure Cosmos DB-fiókját olyan szolgáltatásokból éri el, amelyek nem biztosítanak statikus IP-címet (például Az Azure Stream Analytics és az Azure Functions), akkor is használhatja az IP-tűzfalat a hozzáférés korlátozására. Az Azure-on belül más forrásokból is engedélyezheti a hozzáférést az Azure-adatközpontok kapcsolatainak elfogadása lehetőség kiválasztásával, ahogyan az alábbi képernyőképen látható:
Ha engedélyezi ezt a beállítást, a rendszer hozzáadja az IP-címet 0.0.0.0
az engedélyezett IP-címek listájához. Az 0.0.0.0
IP-cím korlátozza az Azure Cosmos DB-fiókra irányuló kéréseket az Azure-adatközpont IP-címtartományából. Ez a beállítás nem teszi lehetővé más IP-tartományok elérését az Azure Cosmos DB-fiókhoz.
Feljegyzés
A publicNetworkAccess letiltva értékre állítása elsőbbséget élvez ezzel az Elfogadás kapcsolattal szemben az Azure-adatközpontokban . Lásd: blocking-public-network-access-during-account-creation
Feljegyzés
Ez a beállítás úgy konfigurálja a tűzfalat, hogy engedélyezze az Azure-ból érkező összes kérést, beleértve az Azure-ban üzembe helyezett többi ügyfél előfizetéséből érkező kéréseket is. A beállítás által engedélyezett IP-címek listája széles, ezért korlátozza a tűzfalszabályzat hatékonyságát. Ezt a lehetőséget csak akkor használja, ha a kérések nem statikus IP-címekről vagy virtuális hálózatok alhálózataiból származnak. Ha ezt a lehetőséget választja, az automatikusan engedélyezi a hozzáférést az Azure Portalról, mivel az Azure Portal az Azure-ban van üzembe helyezve.
Az aktuális IP-címről érkező kérések
A fejlesztés egyszerűsítése érdekében az Azure Portal segít azonosítani és hozzáadni az ügyfélszámítógép IP-címét az engedélyezett listához. A gépet futtató alkalmazások ezután hozzáférhetnek az Azure Cosmos DB-fiókhoz.
A portál automatikusan észleli az ügyfél IP-címét. Ez lehet a gép ügyfél IP-címe, vagy a hálózati átjáró IP-címe. Mielőtt éles környezetbe viszi a számítási feladatokat, távolítsa el ezt az IP-címet.
Ha az aktuális IP-címet fel szeretné adni az IP-címek listájára, válassza az Aktuális IP-cím hozzáadása lehetőséget. Ezután válassza a Mentés lehetőséget.
Felhőszolgáltatásoktól érkező kérések
Az Azure-ban a felhőszolgáltatások gyakran használják a középszintű szolgáltatáslogikát az Azure Cosmos DB használatával. Ha engedélyezni szeretné az Azure Cosmos DB-fiókhoz való hozzáférést egy felhőszolgáltatásból, az IP-hozzáférés-vezérlési szabályzat konfigurálásával hozzá kell adnia a felhőszolgáltatás nyilvános IP-címét az Azure Cosmos DB-fiókhoz társított IP-címek engedélyezett listájához. Ez biztosítja, hogy a felhőszolgáltatások összes szerepkörpéldánya hozzáférhessen az Azure Cosmos DB-fiókhoz.
Az Azure Portalon lekérheti a felhőszolgáltatások IP-címeit az alábbi képernyőképen látható módon:
Ha szerepkörpéldányok hozzáadásával skálázza fel a felhőszolgáltatást, ezek az új példányok automatikusan hozzáférnek az Azure Cosmos DB-fiókhoz, mert ugyanahhoz a felhőszolgáltatáshoz tartoznak.
Virtuális gépek kérelmei
A középső szintű szolgáltatások üzemeltetéséhez virtuális gépeket vagy virtuálisgép-méretezési csoportokat is használhat az Azure Cosmos DB használatával. Ha úgy szeretné konfigurálni az Azure Cosmos DB-fiókot, hogy az lehetővé teszi a virtuális gépekről való hozzáférést, az IP-hozzáférés-vezérlési szabályzat konfigurálásával konfigurálnia kell a virtuális gép és/vagy a virtuálisgép-méretezési csoport nyilvános IP-címét az Azure Cosmos DB-fiók egyik engedélyezett IP-címeként.
Az Azure Portalon lekérheti a virtuális gépek IP-címeit, ahogyan az alábbi képernyőképen látható:
Amikor virtuálisgép-példányokat ad hozzá a csoporthoz, azok automatikusan hozzáférést kapnak az Azure Cosmos DB-fiókhoz.
Internetes kérések
Amikor egy internetes számítógépről éri el az Azure Cosmos DB-fiókját, a számítógép ügyfél IP-címét vagy IP-címtartományát hozzá kell adni a fiók engedélyezett IP-címlistájához.
Kimenő szabályok hozzáadása a tűzfalhoz
A tűzfalhoz hozzáadni kívánt kimenő IP-címtartományok aktuális listájának megtekintéséhez lásd az Azure IP-címtartományok és szolgáltatáscímkék letöltése.
A lista automatizálásához lásd a Service Tag Discovery API használatát.
IP-tűzfal konfigurálása Resource Manager-sablonnal
Az Azure Cosmos DB-fiók hozzáférés-vezérlésének konfigurálásához győződjön meg arról, hogy a Resource Manager-sablon az ipRules tulajdonságot az engedélyezett IP-tartományok tömbjével határozza meg. Ha az IP-tűzfalat már üzembe helyezett Azure Cosmos DB-fiókra konfigurálja, győződjön meg arról, hogy a tömb megfelel a locations
jelenleg üzembe helyezettnek. A tömb és más locations
tulajdonságok egyidejűleg nem módosíthatók. Az Azure Cosmos DB-hez készült Azure Resource Manager-sablonokról további információt és mintákat az Azure Cosmos DB-hez készült Azure Resource Manager-sablonokban talál.
Fontos
Az ipRules tulajdonság az API 2020-04-01-es verziójával lett bevezetve. A korábbi verziók ehelyett egy ipRangeFilter tulajdonságot fedtek fel, amely a vesszővel elválasztott IP-címek listája.
A példa bemutatja, hogy az ipRules tulajdonság hogyan érhető el az API 2020-04-01-es vagy újabb verziójában:
{
"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"
}
]
}
}
A 2020-04-01-es verzió előtti API-verziók esetében ugyanez a példa:
{
"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"
}
}
IP-hozzáférés-vezérlési szabályzat konfigurálása az Azure CLI használatával
Az alábbi parancs bemutatja, hogyan hozhat létre Azure Cosmos DB-fiókot IP-hozzáférés-vezérléssel:
# 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
IP-hozzáférés-vezérlési szabályzat konfigurálása a PowerShell használatával
Az alábbi szkript bemutatja, hogyan hozhat létre Azure Cosmos DB-fiókot IP-hozzáférés-vezérléssel:
# 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
IP-hozzáférés-vezérlési szabályzattal kapcsolatos problémák elhárítása
Az IP-hozzáférés-vezérlési szabályzatokkal kapcsolatos problémákat az alábbi lehetőségek használatával háríthatja el:
Azure Portal
Az Azure Cosmos DB-fiók IP-hozzáférés-vezérlési szabályzatának engedélyezésével letilthatja a fiókra irányuló összes kérést az engedélyezett IP-címtartományokon kívüli gépekről. Ha engedélyezni szeretné a portál adatsík-műveleteit, például a tárolók böngészését és a dokumentumok lekérdezését, explicit módon engedélyeznie kell az Azure Portal elérését a portál Tűzfal paneljén.
SDK-k
Ha az Engedélyezett listában nem szereplő gépekről származó SDK-k használatával éri el az Azure Cosmos DB-erőforrásokat, a rendszer további részletek nélkül visszaad egy általános 403 Tiltott választ. Ellenőrizze a fiók engedélyezett IP-listáját, és győződjön meg arról, hogy a megfelelő szabályzatkonfiguráció van alkalmazva az Azure Cosmos DB-fiókra.
Forrás IP-címek blokkolt kérelmekben
Engedélyezze a diagnosztikai naplózást az Azure Cosmos DB-fiókjában. Ezek a naplók az egyes kéréseket és válaszokat jelenítik meg. A tűzfallal kapcsolatos üzenetek naplózva vannak egy 403-at tartalmazó visszatérési kóddal. Az üzenetek szűrésével láthatja a letiltott kérések forrás IP-címeit. Tekintse meg az Azure Cosmos DB diagnosztikai naplózását.
Az Azure Cosmos DB szolgáltatásvégpontjával rendelkező alhálózat kérései
Az Azure Cosmos DB-hez engedélyezett szolgáltatásvégponttal rendelkező virtuális hálózat alhálózatáról érkező kérések elküldik a virtuális hálózatot és az alhálózati identitást az Azure Cosmos DB-fiókoknak. Ezek a kérések nem rendelkeznek a forrás nyilvános IP-címével, ezért az IP-szűrők elutasítják őket. A virtuális hálózatok adott alhálózataiból való hozzáférés engedélyezéséhez adjon hozzá egy hozzáférés-vezérlési listát az Azure Cosmos DB-fiók virtuális hálózatának és alhálózat-alapú hozzáférésének konfigurálásához. A tűzfalszabályok alkalmazása akár 15 percet is igénybe vehet, és ebben az időszakban a tűzfal inkonzisztens viselkedést mutathat.
Privát IP-címek az engedélyezett címek listájában
A privát IP-címeket tartalmazó engedélyezett címek listájával rendelkező Azure Cosmos DB-fiók létrehozása vagy frissítése sikertelen. Győződjön meg arról, hogy nincs megadva privát IP-cím a listában.