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 további biztonsági szintet biztosít a fiók számára. 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, valamint 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. Vegye figyelembe, hogy 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 kombinálhatja az alhálózattal és a virtuális hálózat hozzáférés-vezérlésével. 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 VNET-ben. További információ az alhálózat és a VNET-alapú hozzáférés-vezérlés használatáról: Azure Cosmos DB-erőforrások elérése virtuális hálózatokró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ózatok hozzáférés-vezérlési listája (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 VNET ACL-ek vagy mindkettő be van á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 tűzfalat és a virtuális hálózatokat a navigációs menüben. 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ó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, a hozzáférés fenntartásához hozzá kell adnia az Azure Portal IP-címét az ipRangeFilter tulajdonsághoz. A portál IP-címei a következők:
Régió | IP-cím |
---|---|
Kína | 139.217.8.252 |
US Gov | 52.244.48.71 |
Minden egyéb régió | 104.42.195.92 |
Az Azure Portal elérésére irányuló kéréseket az Azure Portal hozzáférésének engedélyezése lehetőség kiválasztásával engedélyezheti, ahogyan az alábbi képernyőképen látható:
Új Azure Portal IP-címek
A Cosmos DB portálszolgáltatásai 2024-ben új infrastruktúrára váltanak. Az áttűnés részeként a tűzfallal rendelkező fiókokhoz új IP-címekre lesz szükség ahhoz, hogy továbbra is hozzáférhessenek bizonyos portálfunkciókhoz, például az Adatkezelőhöz. Ez a lépés dedikált IP-címeket is bevezet Mongo DB- és Apache Cassandra API-fiókokhoz.
Az áttűnés során az Azure Portalról való hozzáférés engedélyezése beállítás az aktuális és az új IP-címeket is hozzáadja a fiók tűzfalbeállításaihoz (beleértve a MongoDB-t és a Cassandra-specifikus címeket ezekhez a fiókokhoz). Ha az áttűnés befejeződött, egy portálbeállítás válik elérhetővé a régi IP-címek eltávolításához.
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 |
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. A beállítás semmilyen más IP-tartomány számára nem engedélyezi a hozzáférést az Azure Cosmos DB-fiókhoz.
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űzfalbeállításokhoz hozzáadni kívánt kimenő IP-tartományok aktuális listájának eléréséhez tekintse meg az Azure IP-tartományok és szolgáltatáscímkék letöltését.
A lista automatizálásához tekintse meg 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.
Az alábbi példa bemutatja, hogyan érhető el az ipRules tulajdonság 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"
}
]
}
}
Ugyanez a példa a 2020.04.01. előtti API-verziókra:
{
"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 fér hozzá az Azure Cosmos DB-erőforrásokhoz, 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 lesz. Győződjön meg arról, hogy nincs megadva privát IP-cím a listában.
Következő lépések
Az Azure Cosmos DB-fiókhoz tartozó virtuális hálózati szolgáltatásvégpont konfigurálásához tekintse meg a következő cikkeket: