Az Azure Cosmos DB tiltott kivételeinek diagnosztizálása és hibaelhárítása

A KÖVETKEZŐRE VONATKOZIK: NoSQL

A 403-ra vonatkozó HTTP-állapotkód azt jelzi, hogy a kérés nem teljesíthető.

Tűzfalblokkoló kérések

Az adatsík-kérelmek az alábbi három útvonalon érkezhetnek az Azure Cosmos DB-be.

  • Nyilvános internet (IPv4)
  • Service endpoint
  • Privát végpont

Ha egy adatsík-kérelmet blokkol a 403 Tiltott, a hibaüzenet megadja, hogy a fenti három útvonal közül melyiken érkezett a kérés az Azure Cosmos DB-be.

  • Request originated from client IP {...} through public internet.
  • Request originated from client VNET through service endpoint.
  • Request originated from client VNET through private endpoint.

Megoldás

Ismerje meg, hogy melyik útvonalon várható az Azure Cosmos DB-be érkező kérés.

  • Ha a hibaüzenet azt mutatja, hogy a kérés nem a várt útvonalon keresztül érkezett az Azure Cosmos DB-be, akkor a probléma valószínűleg az ügyféloldali beállítással kapcsolatos. Ellenőrizze az ügyféloldali beállításokat a következő dokumentációkban.
    • Nyilvános internet: IP-tűzfal konfigurálása az Azure Cosmos DB-ben.
    • Szolgáltatásvégpont: Az Azure Cosmos DB-hez való hozzáférés konfigurálása virtuális hálózatokról (VNet). Ha például szolgáltatásvégpontot szeretne használni, de a kérelem nyilvános interneten keresztül érkezett az Azure Cosmos DB-hez, lehet, hogy az az alhálózat, amelyben az ügyfél futott, nem engedélyezte a szolgáltatásvégpontot az Azure Cosmos DB-ben.
    • Privát végpont: Azure Cosmos DB-fiókhoz konfigurálja az Azure Private Linket. Ha például magánvégpontot szeretne használni, de a kérés nyilvános interneten keresztül érkezett az Azure Cosmos DB-hez, lehet, hogy a virtuális gép DNS-je nem úgy lett konfigurálva, hogy feloldja a fiókvégpontot a privát IP-címre, ezért inkább a fiók nyilvános IP-címén ment keresztül.
  • Ha a kérés a várt útvonalon keresztül érkezett az Azure Cosmos DB-be, a kérés le lett tiltva, mert a forráshálózati identitás nem lett konfigurálva úgy, hogy engedélyezve legyen a fiók számára. Ellenőrizze a fiók beállításait attól függően, hogy a kérés milyen útvonalon érkezett az Azure Cosmos DB-be.
    • Nyilvános internet: ellenőrizze a fiók nyilvános hálózati hozzáférésének és IP-tartományának szűrőkonfigurációit.
    • Szolgáltatásvégpont: ellenőrizze a fiók nyilvános hálózati hozzáférését és a VNET-szűrő konfigurációit.
    • Privát végpont: ellenőrizze a fiók privát végpontjának konfigurációját és az ügyfél privát DNS-konfigurációját. Ennek az lehet az oka, hogy egy másik fiókhoz beállított privát végpontról fér hozzá a fiókhoz.

Ha nemrég frissítette a fiók tűzfalkonfigurációit, vegye figyelembe, hogy a módosítások alkalmazása akár 15 percet is igénybe vehet.

A partíciókulcs túllépi a tárterületet

Ebben a forgatókönyvben gyakori az alábbihoz hasonló hibák észlelése:

Response status code does not indicate success: Forbidden (403); Substatus: 1014
Partition key reached maximum size of {...} GB

Megoldás

Ez a hiba azt jelenti, hogy az aktuális particionálási terv és számítási feladat a megadott partíciókulcs-értékhez megengedettnél több adatot próbál tárolni. A tárolóban nincs korlátozva a logikai partíciók száma, de az egyes logikai partíciók által tárolható adatok mérete korlátozott. A pontosításhoz segítséget kérhet.

Nem adatműveletek nem engedélyezettek

Ez a forgatókönyv akkor fordul elő, ha nem adatműveleteket próbál végrehajtani Microsoft Entra-identitásokkal. Ebben a forgatókönyvben gyakori az alábbihoz hasonló hibák észlelése:

Operation 'POST' on resource 'calls' is not allowed through Azure Cosmos DB endpoint
Forbidden (403); Substatus: 5300; The given request [PUT ...] cannot be authorized by AAD token in data plane.

Megoldás

Hajtsa végre a műveletet az Azure Resource Manager, az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával. Ha az Azure Functions Azure Cosmos DB-eseményindítót használja, győződjön meg arról, hogy az CreateLeaseContainerIfNotExists eseményindító tulajdonsága nincs beállítva true. A Microsoft Entra-identitások használata letilt minden nem adatműveletet, például a bérlettároló létrehozását.

Következő lépések

  • IP-tűzfal konfigurálása.
  • Konfigurálja a virtuális hálózatokhoz való hozzáférést.
  • Privát végpontokról való hozzáférés konfigurálása.