IP-tűzfal konfigurálása az Azure Cosmos DB-ben

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

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.

Képernyőkép a Tűzfal lap megnyitásáró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, 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,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26

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

Képernyőkép az Azure Portal hozzáférésének engedélyezéséről

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

Képernyőkép az Azure-adatközpontok közötti kapcsolatok elfogadásá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. 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.

Képernyőkép az aktuális IP-cím tűzfalbeállításainak konfigurálásá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ű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": "40.76.54.131"
      },
      {
        "ipAddressOrRange": "52.176.6.30"
      },
      {
        "ipAddressOrRange": "52.169.50.45"
      },
      {
        "ipAddressOrRange": "52.187.184.26"
      }
    ]
  }
}

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":"40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26"
  }
}

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: