Megosztás a következőn keresztül:


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.

Képernyőkép az Azure Cosmos DB hálózati tűzfalbeállításairól az Azure Portalon.

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ó:

Képernyőkép a köztes szoftveres IP-címek hálózatkezeléshez való hozzáadásának lehetőségeiről az Azure Portalon.

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.

Képernyőkép a köztes szoftver ip-címeinek az Azure Portalon történő hálózatkezeléshez való listájáról.

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.

Képernyőkép a régi köztes szoftver IP-címeinek az Azure Portalon való eltávolításáról.

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ó:

Képernyőkép az Azure Portal nyilvános Azure-adatközpontjaiból érkező kapcsolatok elfogadásának lehetőségéről.

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.

Képernyőkép az aktuális IP-cím azure portalon történő hálózatkezeléshez való hozzáadásának lehetőségéről.

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:

Képernyőkép egy felhőszolgáltatás nyilvános IP-címének az Azure Portalon való megjelenítéséről

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ó:

Képernyőkép az Azure Portalon megjelenített virtuális gép nyilvános IP-címével

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.