Sdílet prostřednictvím


Diagnostika a řešení potíží s neautorizovanými výjimkami ve službě Azure Cosmos DB for NoSQL

Neautorizované výjimky ve službě Azure Cosmos DB for NoSQL, jako jsou chyby HTTP 401, obvykle dochází v případě, že podpis MAC v požadavku neodpovídá očekávané hodnotě. Příčinou této chybové zprávy jsou často nesprávné klíče, neúplné obměny klíčů nebo použití klíčů jen pro čtení pro operace zápisu.

Příznaky

Běžným příznakem neoprávněných výjimek je chybová zpráva HTTP 401. Tato chyba značí, že požadavek nebyl správně ověřen.

HTTP 401: The MAC signature found in the HTTP request isn't the same as the computed signature.

U starších sad SDK (Software Development Kit) se výjimka může zobrazit jako neplatná výjimka JSON místo správné výjimky 401– neautorizováno. Novější sady SDK tento scénář zpracovávají a zobrazují platnou chybovou zprávu.

Příčina

K této chybě dochází v případě, že podpis ověřování (MAC) v požadavku neodpovídá tomu, co služba Azure Cosmos DB očekává. Mezi běžné důvody patří použití nesprávného klíče, neúplné obměně klíčů nebo pokus o provedení operací zápisu s klíčem jen pro čtení. Tato neshoda brání službě Cosmos DB v ověření vaší identity, což vede k chybě HTTP 401 neautorizováno.

Řešení: Počkejte na dokončení obměně klíčů.

Toto řešení použijte, pokud dojde k chybám podpisu MAC 401 hned po obměně klíčů účtu. Obměně klíčů ve službě Azure Cosmos DB může trvat od několika sekund do několika dnů v závislosti na velikosti účtu.

Před použitím nového klíče k ověření se ujistěte, že vaše aplikace čeká na úplné dokončení procesu obměny klíčů. Po dokončení rotace by se chyba měla vyřešit automaticky.

Řešení: Oprava chybně nakonfigurovaných klíčů

Toto řešení použijte, pokud u všech požadavků s použitím konkrétního klíče konzistentně obdržíte chyby podpisu MAC 401. Tento scénář obvykle znamená, že klíč není v konfiguraci aplikace nesprávný nebo neúplný.

Ověřte, že klíč v aplikaci odpovídá správnému klíči účtu, a ujistěte se, že se celý klíč zkopíruje bez zkrácení.

Řešení: Použití klíčů pro čtení a zápis pro operace zápisu

Toto řešení použijte, pokud chyby podpisu MAC 401 dochází pouze během operací zápisu, zatímco požadavky na čtení jsou úspěšné. Tento scénář značí, že aplikace používá klíče jen pro čtení pro akce zápisu.

Aktualizujte aplikaci tak, aby používala klíč pro čtení a zápis nebo autorizační mechanismus s přístupem k zápisu pro všechny operace zápisu.

Řešení: Počkejte na dokončení vytváření kontejneru.

Toto řešení vyberte, pokud se chyby podpisu MAC 401 zobrazí okamžitě po vytvoření kontejneru, zejména pokud se kontejnery odstraní a znovu vytvoří se stejným názvem.

Před pokusem o přístup k kontejneru nebo provádění operací v kontejneru se ujistěte, že vaše aplikace čeká na úplné dokončení procesu vytváření kontejneru.