Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Související obsah
- Diagnostika a řešení potíží při použití sady .NET SDK služby Azure Cosmos DB
- Přečtěte si informace o pokynech k výkonu pro .NET v3 a .NET v2.
- Diagnostika a řešení potíží při používání sady Azure Cosmos DB Java SDK v4
- Přečtěte si o pokynech k výkonu sady Java SDK v4.