Autorizace přístupu k rozhraním REST API s OAuth 2.0
Služby Azure DevOps
Zjistěte, jak ověřovat uživatele webové aplikace pro přístup k rozhraní REST API, takže vaše aplikace nebude dál žádat o uživatelská jména a hesla.
Poznámka:
- Následující doprovodné materiály jsou určené pro uživatele Azure DevOps Services, protože OAuth 2.0 se na Azure DevOps Serveru nepodporuje. Klientské knihovny jsou řadou balíčků vytvořených speciálně pro rozšíření funkcí Azure DevOps Serveru. Pro místní uživatele doporučujeme používat klientské knihovny, ověřování systému Windows nebo tokeny patního přístupu (PAT) k ověření jménem uživatele.
- Další informace najdete v ukázce GitHubu V# OAuth.
O OAuth 2.0
Azure DevOps Services používá protokol OAuth 2.0 k autorizaci aplikace pro uživatele a vygenerování přístupového tokenu. Tento token použijte při volání rozhraní REST API z aplikace. Při volání rozhraní API Azure DevOps Services pro daného uživatele použijte přístupový token daného uživatele. Platnost přístupových tokenů vyprší, takže pokud vypršela platnost přístupového tokenu, aktualizujte ho.
Dostupné modely OAuth
Důležité
Při vytváření nové aplikace OAuth 2.0 použijte Microsoft Entra ID OAuth. Azure DevOps OAuth 2.0 se plánuje pro vyřazení v roce 2026. Od března 2025 přestaneme přijímat nové aplikace Azure DevOps OAuth. Další informace najdete v našem blogovém příspěvku.
Microsoft Entra ID OAuth
Vytváření na nové platformě může být ohromující. V této příručce pro vytvoření aplikace Microsoft Entra pro Azure DevOps shromažďujeme užitečné odkazy, které by mohly být užitečné při zahájení procesu vývoje aplikací OAuth v Microsoft Entra. Pro lidi, kteří migrují z Azure DevOps OAuth na Microsoft Entra OAuth, nabízíme tipy, které je potřeba zvážit během migrace.
Azure DevOps OAuth
Informace o existujících aplikacích najdete v průvodci aplikací Azure DevOps OAuth. Můžete také spravovat, které aplikace Azure DevOps mají oprávnění pro přístup k vašim prostředkům.
Rozsahy
Očekává se, že vývojáři určí, jaké obory od uživatelů vyžadují. Stejné obory jsou k dispozici v obou modelech OAuth. Následující obory jsou k dispozici pouze prostřednictvím delegovaných toků (uživatele jménem uživatele).
Pokud chcete zjistit, jaké obory pro vaši aplikaci potřebujete, podívejte se do scopes
záhlaví na stránce Reference k rozhraní API pro každé rozhraní API, které používáte.
Některé obory můžou zahrnovat i jiné obory, vso.code_manage
například .vso.code_write
Například mnoho oborů dědí z vso.profile
. Při vyžádání souhlasu s oborem od uživatelů zvažte minimální počet rozsahů, které potřebujete.
Poznámka:
Obory umožňují přístup pouze k rozhraním REST API a vyberou koncové body Gitu. Přístup k rozhraní API PROTOKOLU SOAP se nepodporuje.
Kategorie | Obor | Název | Popis | Dědí z |
---|---|---|---|---|
Pokročilé zabezpečení | vso.advsec |
AdvancedSecurity (čtení) | Uděluje možnost číst výstrahy, instance výsledků, instance výsledků analýzy. | |
vso.advsec_write |
AdvancedSecurity (čtení a zápis) | Uděluje možnost nahrávání analýz v sarifu. | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (čtení, zápis a správa) | Uděluje možnost nahrávání analýz v sarifu. | vso.advsec_write |
|
Fondy agentů | vso.agentpools |
Fondy agentů (čtení) | Umožňuje zobrazit úkoly, fondy, fronty, agenty a aktuálně spuštěné nebo nedávno dokončené úlohy pro agenty. | |
vso.agentpools_manage |
Fondy agentů (čtení, správa) | Uděluje možnost spravovat fondy, fronty a agenty. | vso.agentpools |
|
vso.environment_manage |
Prostředí (čtení, správa) | Uděluje možnost spravovat fondy, fronty, agenty a prostředí. | vso.agentpools_manage |
|
Analytické nástroje | vso.analytics |
Analýza (čtení) | Uděluje možnost dotazovat se na analytická data. | |
Auditování | vso.auditlog |
Protokol auditu (čtení) | Uděluje možnost číst protokol auditování uživatelům. | |
vso.auditstreams_manage |
Auditovat streamy (číst) | Uděluje možnost spravovat streamy auditování uživatelům. | vso.auditlog |
|
Sestavit | vso.build |
Sestavení (čtení) | Uděluje možnost přístupu k artefaktům sestavení, včetně výsledků sestavení, definic a požadavků, a možnost přijímat oznámení o událostech sestavení prostřednictvím volání služby. | vso.hooks_write |
vso.build_execute |
Sestavení (čtení a spuštění) | Uděluje možnost získat přístup k artefaktům sestavení, včetně výsledků sestavení, definic a požadavků, a možnost zařadit sestavení do fronty, aktualizovat vlastnosti sestavení a možnost přijímat oznámení o událostech sestavení prostřednictvím volání služeb. | vso.build |
|
Kód | vso.code |
Kód (přečteno) | Uděluje možnost číst zdrojový kód a metadata o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Umožňuje také prohledávat kód a dostávat oznámení o událostech správy verzí prostřednictvím háků služby. | vso.hooks_write |
vso.code_write |
Kód (čtení a zápis) | Uděluje možnost číst, aktualizovat a odstraňovat zdrojový kód, přistupovat k metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Umožňuje také vytvářet a spravovat žádosti o přijetí změn a kontroly kódu a přijímat oznámení o událostech správy verzí prostřednictvím volání služeb. | vso.code |
|
vso.code_manage |
Kód (čtení, zápis a správa) | Uděluje možnost číst, aktualizovat a odstraňovat zdrojový kód, přistupovat k metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Poskytuje také možnost vytvářet a spravovat úložiště kódu, vytvářet a spravovat žádosti o přijetí změn a kontroly kódu a přijímat oznámení o událostech správy verzí prostřednictvím volání služeb. | vso.code_write |
|
vso.code_full |
Kód (plný) | Uděluje úplný přístup ke zdrojovému kódu, metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Poskytuje také možnost vytvářet a spravovat úložiště kódu, vytvářet a spravovat žádosti o přijetí změn a kontroly kódu a přijímat oznámení o událostech správy verzí prostřednictvím volání služeb. Zahrnuje také omezenou podporu rozhraní API klientského OM. | vso.code_manage |
|
vso.code_status |
Kód (stav) | Uděluje možnost čtení a zápisu potvrzení a žádosti o přijetí změn. | ||
Připojený server | vso.connected_server |
Připojený server | Uděluje možnost přistupovat ke koncovým bodům potřebným z místního připojeného serveru. | |
Nároky | vso.entitlements |
Nároky (čtení) | Poskytuje přístup jen pro čtení ke koncovému bodu licenčních nároků pro získání nároků na účet. | |
vso.memberentitlementmanagement |
Správa memberEntitlement (read) | Umožňuje číst uživatele, jejich licence i projekty a rozšíření, ke kterým mají přístup. | ||
vso.memberentitlementmanagement_write |
Správa memberEntitlement (zápis) | Uděluje možnost spravovat uživatele, jejich licence a projekty a rozšíření, ke kterým mají přístup. | vso.memberentitlementmanagement |
|
Rozšíření | vso.extension |
Rozšíření (čtení) | Uděluje možnost číst nainstalovaná rozšíření. | vso.profile |
vso.extension_manage |
Rozšíření (čtení a správa) | Uděluje možnost instalovat, odinstalovat a provádět další akce správy u nainstalovaných rozšíření. | vso.extension |
|
vso.extension.data |
Data rozšíření (čtení) | Uděluje možnost číst data (nastavení a dokumenty) uložená nainstalovanými rozšířeními. | vso.profile |
|
vso.extension.data_write |
Data rozšíření (čtení a zápis) | Uděluje možnost číst a zapisovat data (nastavení a dokumenty) uložená nainstalovanými rozšířeními. | vso.extension.data |
|
Připojení GitHubu | vso.githubconnections |
Připojení GitHubu (čtení) | Uděluje možnost číst připojení GitHubu a data úložišť GitHub. | |
vso.githubconnections_manage |
Připojení GitHubu (čtení a správa) | Uděluje možnost číst a spravovat připojení GitHubu a data úložišť GitHub. | vso.githubconnections |
|
Graph & identity | vso.graph |
Graph (čtení) | Uděluje možnost číst informace o členství uživatelů, skupin, oborů a skupin. | |
vso.graph_manage |
Graf (správa) | Uděluje možnost číst informace o členství uživatelů, skupin, oborů a skupin a přidávat uživatele, skupiny a spravovat členství ve skupinách. | vso.graph |
|
vso.identity |
Identita (čtení) | Uděluje možnost číst identity a skupiny. | ||
vso.identity_manage |
Identita (správa) | Uděluje možnost čtení, zápisu a správy identit a skupin. | vso.identity |
|
Skupina počítačů | vso.machinegroup_manage |
Skupina nasazení (čtení, správa) | Umožňuje spravovat skupiny nasazení a fondy agentů. | vso.agentpools_manage |
Tržiště | vso.gallery |
Marketplace | Uděluje přístup ke čtení veřejným a soukromým položkám a vydavatelům. | vso.profile |
vso.gallery_acquire |
Marketplace (získání) | Uděluje přístup pro čtení a možnost získat položky. | vso.gallery |
|
vso.gallery_publish |
Marketplace (publikování) | Uděluje přístup pro čtení a možnost nahrávat, aktualizovat a sdílet položky. | vso.gallery |
|
vso.gallery_manage |
Marketplace (správa) | Uděluje přístup pro čtení a umožňuje publikovat a spravovat položky a vydavatele. | vso.gallery_publish |
|
Oznámení | vso.notification |
Oznámení (čtení) | Poskytuje přístup pro čtení k odběrům a metadatům událostí, včetně filtrovatelných hodnot polí. | vso.profile |
vso.notification_write |
Oznámení (zápis) | Poskytuje přístup pro čtení a zápis k odběrům a přístup pro čtení k metadatům událostí, včetně filtrovatelných hodnot polí. | vso.notification |
|
vso.notification_manage |
Oznámení (správa) | Poskytuje přístup ke čtení, zápisu a správě předplatných a přístup pro čtení k metadatům událostí, včetně filtrovatelných hodnot polí. | vso.notification_write |
|
vso.notification_diagnostics |
Oznámení (diagnostika) | Poskytuje přístup k diagnostickým protokolům souvisejícím s oznámeními a poskytuje možnost povolit diagnostiku pro jednotlivá předplatná. | vso.notification |
|
Balení | vso.packaging |
Balení (čtení) | Uděluje možnost číst informační kanály a balíčky. | vso.profile |
vso.packaging_write |
Balení (čtení a zápis) | Uděluje možnost vytvářet a číst informační kanály a balíčky. | vso.packaging |
|
vso.packaging_manage |
Balení (čtení, zápis a správa) | Uděluje možnost vytvářet, číst, aktualizovat a odstraňovat informační kanály a balíčky. | vso.packaging_write |
|
Prostředky kanálu | vso.pipelineresources_use |
Prostředky kanálu (použití) | Udělí možnost schválit žádost kanálu o použití chráněného prostředku: fond agentů, prostředí, fronta, úložiště, zabezpečené soubory, připojení služby a skupina proměnných. | |
vso.pipelineresources_manage |
Prostředky kanálu (použití a správa) | Uděluje možnost spravovat chráněný prostředek nebo žádost kanálu o použití chráněného prostředku: fond agentů, prostředí, fronta, úložiště, zabezpečené soubory, připojení služby a skupina proměnných. | vso.pipelineresources_manage |
|
Projekt a tým | vso.project |
Projekt a tým (čtení) | Uděluje možnost číst projekty a týmy. | |
vso.project_write |
Projekt a tým (čtení a zápis) | Uděluje možnost číst a aktualizovat projekty a týmy. | vso.project |
|
vso.project_manage |
Projekt a tým (čtení, zápis a správa) | Uděluje možnost vytvářet, číst, aktualizovat a odstraňovat projekty a týmy. | vso.project_write |
|
Vydaná verze | vso.release |
Vydání (čtení) | Uděluje možnost číst artefakty vydané verze, včetně vydaných verzí, definic vydaných verzí a prostředí vydaných verzí. | vso.profile |
vso.release_execute |
Verze (čtení, zápis a spuštění) | Uděluje možnost číst a aktualizovat artefakty vydané verze, včetně vydaných verzí, definic verzí a prostředí vydaných verzí a schopnost zařadit novou verzi do fronty. | vso.release |
|
vso.release_manage |
Vydání (čtení, zápis, spouštění a správa) | Uděluje možnost číst, aktualizovat a odstraňovat artefakty vydané verze, včetně vydaných verzí, definic verzí a prostředí vydaných verzí, a možnost zařadit do fronty a schválit novou verzi. | vso.release_manage |
|
Zabezpečené soubory | vso.securefiles_read |
Zabezpečené soubory (čtení) | Uděluje možnost číst zabezpečené soubory. | |
vso.securefiles_write |
Zabezpečené soubory (čtení, vytvoření) | Uděluje možnost číst a vytvářet zabezpečené soubory. | vso.securefiles_read |
|
vso.securefiles_manage |
Zabezpečené soubory (čtení, vytváření a správa) | Uděluje možnost číst, vytvářet a spravovat zabezpečené soubory. | vso.securefiles_write |
|
Zabezpečení | vso.security_manage |
Zabezpečení (správa) | Uděluje možnost číst, zapisovat a spravovat oprávnění zabezpečení. | |
Připojení služeb | vso.serviceendpoint |
Koncové body služby (čtení) | Uděluje možnost číst koncové body služby. | vso.profile |
vso.serviceendpoint_query |
Koncové body služby (čtení a dotazování) | Uděluje možnost čtení a dotazování koncových bodů služby. | vso.serviceendpoint |
|
vso.serviceendpoint_manage |
Koncové body služby (čtení, dotazování a správa) | Uděluje možnost číst, dotazovat a spravovat koncové body služby. | vso.serviceendpoint_query |
|
Háky služby | vso.hooks |
Háky služby (čtení) | Uděluje možnost číst předplatná a metadata připojení služeb, včetně podporovaných událostí, příjemců a akcí. (Už není veřejné.) | vso.profile |
vso.hooks_write |
Háky služby (čtení a zápis) | Uděluje možnost vytvářet a aktualizovat odběry připojení služeb a číst metadata, včetně podporovaných událostí, příjemců a akcí. (Už není veřejné.) | vso.hooks |
|
vso.hooks_interact |
Háky služby (interakce) | Uděluje možnost interakce a provádění akcí s událostmi přijatými prostřednictvím volání služeb. (Už není veřejné.) | vso.profile |
|
Možnosti | vso.settings |
Nastavení (čtení) | Uděluje možnost čtení nastavení. | |
vso.settings_write |
Nastavení (čtení a zápis) | Uděluje možnost vytvářet a číst nastavení. | ||
Symboly | vso.symbols |
Symboly (přečteno) | Uděluje možnost číst symboly. | vso.profile |
vso.symbols_write |
Symboly (čtení a zápis) | Uděluje možnost číst a zapisovat symboly. | vso.symbols |
|
vso.symbols_manage |
Symboly (čtení, zápis a správa) | Uděluje možnost číst, zapisovat a spravovat symboly. | vso.symbols_write |
|
Skupiny úloh | vso.taskgroups_read |
Skupiny úloh (čtení) | Uděluje možnost číst skupiny úkolů. | |
vso.taskgroups_write |
Skupiny úloh (čtení, vytvoření) | Uděluje možnost číst a vytvářet skupiny úloh. | vso.taskgroups_read |
|
vso.taskgroups_manage |
Skupiny úloh (čtení, vytváření a správa) | Uděluje možnost číst, vytvářet a spravovat skupiny úloh. | vso.taskgroups_write |
|
Týmový řídicí panel | vso.dashboards |
Týmové řídicí panely (číst) | Uděluje možnost číst informace o týmovém řídicím panelu. | |
vso.dashboards_manage |
Týmové řídicí panely (správa) | Uděluje možnost spravovat informace o týmovém řídicím panelu. | vso.dashboards |
|
Správa testů | vso.test |
Správa testů (čtení) | Uděluje možnost číst testovací plány, případy, výsledky a další artefakty související se správou testů. | vso.profile |
vso.test_write |
Správa testů (čtení a zápis) | Uděluje možnost číst, vytvářet a aktualizovat testovací plány, případy, výsledky a další artefakty související se správou testů. | vso.test |
|
Vlákna | vso.threads_full |
Vlákna žádosti o přijetí změn | Uděluje možnost čtení a zápisu do vláken komentářů žádostí o přijetí změn. | |
Tokeny | vso.tokens |
Delegovaná autorizační tokeny | Uděluje uživatelům možnost spravovat delegovaný autorizační tokeny. | |
vso.tokenadministration |
Správa tokenů | Uděluje možnost spravovat (zobrazit a odvolat) stávající tokeny správcům organizace. | ||
Uživatelský profil | vso.profile |
Profil uživatele (přečteno) | Uděluje možnost číst váš profil, účty, kolekce, projekty, týmy a další artefakty organizace nejvyšší úrovně. | |
vso.profile_write |
Profil uživatele (zápis) | Uděluje možnost psát do vašeho profilu. | vso.profile |
|
Skupiny proměnných | vso.variablegroups_read |
Skupiny proměnných (čtení) | Uděluje možnost číst skupiny proměnných. | |
vso.variablegroups_write |
Skupiny proměnných (čtení, vytvoření) | Uděluje možnost číst a vytvářet skupiny proměnných. | vso.variablegroups_read |
|
vso.variablegroups_manage |
Skupiny proměnných (čtení, vytváření a správa) | Uděluje možnost číst, vytvářet a spravovat skupiny proměnných. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (přečteno) | Uděluje možnost číst wikiweby, stránky wikiwebu a přílohy wikiwebu. Umožňuje také prohledávat stránky wikiwebu. | |
vso.wiki_write |
Wiki (čtení a zápis) | Uděluje možnost číst, vytvářet a aktualizovat wikiweby, stránky wikiwebu a přílohy wikiwebu. | vso.wiki |
|
Pracovní položky | vso.work |
Pracovní položky (čtení) | Umožňuje číst pracovní položky, dotazy, panely, cesty oblastí a iterací a další metadata související se sledováním pracovních položek. Umožňuje také spouštět dotazy, prohledávat pracovní položky a přijímat oznámení o událostech pracovních položek prostřednictvím volání služby. | vso.hooks_write |
vso.work_write |
Pracovní položky (čtení a zápis) | Uděluje možnost číst, vytvářet a aktualizovat pracovní položky a dotazy, metadata aktualizačního panelu, oblast čtení a iterace cesty k jiným metadatům souvisejícím se sledováním pracovních položek, spouštění dotazů a přijímání oznámení o událostech pracovních položek prostřednictvím volání služeb. | vso.work |
|
vso.work_full |
Pracovní položky (úplné) | Uděluje úplný přístup k pracovním položkám, dotazům, backlogům, plánům a metadatům sledování pracovních položek. Poskytuje také možnost přijímat oznámení o událostech pracovních položek prostřednictvím zahoknutých služeb. | vso.work_write |
|
Zosobnění uživatele | user_impersonation |
Zosobnění uživatele | Získejte úplný přístup k rozhraním REST API služby Visual Studio Team Services. Požádejte a/nebo odsouhlaste tento rozsah s opatrností, protože je velmi výkonný! |
Nejčastější dotazy
Otázka: Můžu v mobilní aplikaci používat OAuth?
Odpověď: Ne. Azure DevOps Services podporuje jenom tok webového serveru, takže neexistuje způsob, jak implementovat OAuth, protože tajný klíč aplikace nejde bezpečně uložit.
Otázka: Můžu použít OAuth s koncovými body SOAP a rozhraními REST API?
Odpověď: Ne. OAuth se podporuje jenom v rozhraních REST API.