Diagnostika a řešení potíží s výjimkami zakázáno ve službě Azure Cosmos DB
PLATÍ PRO: NoSQL
Stavový kód HTTP 403 představuje požadavek zakázáno dokončit.
Blokování požadavků brány firewall
Požadavky na rovinu dat můžou do služby Azure Cosmos DB přicházet prostřednictvím následujících tří cest.
- Veřejný internet (IPv4)
- Koncový bod služby
- Privátní koncový bod
Pokud je požadavek na rovinu dat zablokovaný s chybou 403 Zakázáno, chybová zpráva určuje, kterou z předchozích tří cest žádost přišla do služby Azure Cosmos DB.
Request originated from client IP {...} through public internet.
Request originated from client VNET through service endpoint.
Request originated from client VNET through private endpoint.
Řešení
Seznamte se s tím, jakou cestou se očekává, že požadavek přijde do služby Azure Cosmos DB.
- Pokud chybová zpráva ukazuje, že požadavek nepřišel do služby Azure Cosmos DB přes očekávanou cestu, pravděpodobně bude problém s nastavením na straně klienta. Pečlivě zkontrolujte nastavení na straně klienta podle dokumentace.
- Veřejný internet: Konfigurace brány firewall protokolu IP ve službě Azure Cosmos DB
- Koncový bod služby: Nakonfigurujte přístup ke službě Azure Cosmos DB z virtuálních sítí. Zvažte, jestli byste očekávali použití koncového bodu služby, ale požadavek přišel do služby Azure Cosmos DB z veřejného internetu. Tato situace může značit, že podsíť, ve které byl klient spuštěný, nepovolila koncový bod služby do služby Azure Cosmos DB.
- Privátní koncový bod: Konfigurace služby Azure Private Link pro účet služby Azure Cosmos DB Zvažte také, jestli jste očekávali použití privátního koncového bodu, ale požadavek přišel do služby Azure Cosmos DB z veřejného internetu. Tato situace může znamenat, že server DNS (Domain Name Server) na virtuálním počítači nebyl nakonfigurovaný tak, aby přeložil koncový bod účtu na privátní místo veřejné IP adresy.
- Pokud žádost přišla do Služby Azure Cosmos DB přes očekávanou cestu, požadavek byl zablokovaný, protože pro účet nebyla nakonfigurovaná identita zdrojové sítě. Zkontrolujte nastavení účtu v závislosti na cestě, kterou požadavek přišel do služby Azure Cosmos DB.
- Veřejný internet: Zkontrolujte konfiguraci filtru rozsahu IP adres a přístupu k veřejné síti účtu.
- Koncový bod služby: Zkontrolujte přístup k veřejné síti účtu a konfigurace filtrů virtuálních sítí.
- Privátní koncový bod: Zkontrolujte konfiguraci privátního koncového bodu účtu a konfiguraci privátního DNS klienta. Příčinou tohoto problému může být přístup k účtu z privátního koncového bodu, který je nastavený pro jiný účet.
Pokud jste nedávno aktualizovali konfigurace brány firewall účtu, mějte na paměti, že použití změn může trvat až 15 minut.
Klíč oddílu překračující úložiště
V tomto scénáři se běžně zobrazují chyby jako tady:
Response status code does not indicate success: Forbidden (403); Substatus: 1014
Partition key reached maximum size of {...} GB
Řešení
Tato chyba znamená, že aktuální návrh dělení a úloha se pokouší uložit více než povolené množství dat pro danou hodnotu klíče oddílu. Počet logických oddílů v kontejneru není omezený, ale velikost dat, která může každý logický oddíl uložit, je omezený. Můžete se obrátit na podporu pro objasnění.
Nedata operace nejsou povolené.
K tomuto scénáři dochází při pokusu o provádění nedata operací pomocí identit Microsoft Entra. V tomto scénáři se běžně zobrazují chyby jako tady:
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.
Řešení
Proveďte operaci prostřednictvím Azure Resource Manageru, webu Azure Portal, Azure CLI nebo Azure PowerShellu.
Pokud používáte trigger azure Cosmos DB služby Azure Functions, ujistěte se, že CreateLeaseContainerIfNotExists
vlastnost triggeru není nastavená na true
hodnotu . Použití identit Microsoft Entra blokuje jakoukoli operaci bez dat, například vytvoření kontejneru zapůjčení.
Související obsah
- Brána firewall protokolu IP.
- Virtuální sítě.
- Privátní koncové body.