Sdílet prostřednictvím


Ověřování OAuth 2.0 pro rozhraní REST API Azure DevOps

Služby Azure DevOps

Naučte se používat OAuth 2.0 k ověřování aplikací pro přístup k rozhraní REST API Azure DevOps, aniž by uživatelé museli opakovaně zadávat přihlašovací údaje.

Důležité

Doporučujeme používat Microsoft Entra ID OAuth pro nové aplikace. Azure DevOps OAuth 2.0 je zastaralý a od dubna 2025 už nepřijímá nové registrace s plánovaným úplným vyřazením z roku 2026.

Jak OAuth 2.0 funguje s Azure DevOps

Poznámka:

OAuth 2.0 je k dispozici jenom pro Azure DevOps Services, nikoli Pro Azure DevOps Server. V případě místních scénářů použijte klientské knihovny, ověřování systému Windows nebo tokeny patového přístupu.

Azure DevOps Services používá protokol OAuth 2.0 k autorizaci aplikací a generování přístupových tokenů pro volání rozhraní REST API. Tento proces zahrnuje následující kroky:

  • Registrace aplikace: Zaregistrujte aplikaci u poskytovatele OAuth.
  • Autorizace uživatele: Udělte aplikaci oprávnění pro přístup k uživatelským datům.
  • Výměna tokenů: Příjem přístupového tokenu pro volání rozhraní API.
  • Přístup k rozhraní API: Použijte token pro ověřené požadavky rozhraní REST API.
  • Aktualizace tokenu: Obnovte tokeny s vypršenou platností, aby se zachoval přístup.

Diagram znázorňující proces toku autorizace OAuth 2.0 z registrace aplikace do přístupu k rozhraní API

Možnosti implementace OAuth

Zvolte odpovídající implementaci OAuth na základě potřeb vaší aplikace.

Microsoft Entra ID OAuth poskytuje nejbezpečnější a budoucí metodu ověřování pro aplikace Azure DevOps. Mezi výhody patří:

  • Podniková integrace: Bezproblémová integrace se stávající infrastrukturou Microsoft Entra ID.
  • Rozšířené zabezpečení: Rozšířené funkce zabezpečení zahrnují podmíněný přístup Microsoft Entra a vícefaktorové ověřování.
  • Budoucí podpora: Aktivně udržovaná a podporovaná platforma
  • Sjednocená identita: Jednotné přihlašování napříč službami Microsoftu.

Začínáme: Podrobné informace o implementaci a pokyny k migraci najdete v průvodci OAuth pro Microsoft Entra ID .

Azure DevOps OAuth (zastaralé)

Výstraha

Azure DevOps OAuth je zastaralý. Od dubna 2025 se už registrace nových aplikací nepřijímají. Služba je naplánovaná na úplné vyřazení v roce 2026. Migrujte existující aplikace do OAuth Microsoft Entra ID.

Pro existující aplikace Azure DevOps OAuth:

Plánování migrace: Začněte plánovat migraci na Microsoft Entra ID OAuth v rané fázi. Průvodce migrací obsahuje tipy a důležité informace pro hladký přechod.

Obory OAuth

Obory definují, k jakým prostředkům Azure DevOps má vaše aplikace přístup. Microsoft Entra ID OAuth i Azure DevOps OAuth používají stejné definice oboru.

Klíčové úvahy o rozsahu

  • Princip nejnižšího oprávnění: Požádejte pouze o minimální obory, které vaše aplikace potřebuje.
  • Dědičnost oboru: Některé obory zahrnují jiné (například vso.code_manage včetně vso.code_write).
  • Pokrytí rozhraní API: Obory umožňují přístup k rozhraním REST API a vyberou pouze koncové body Gitu (nepodporují se rozhraní API SOAP).
  • Souhlas uživatele: Uživatelé musí explicitně udělit oprávnění pro každý požadovaný obor.

Vyhledání požadovaných oborů

Určení rozsahů, které vaše aplikace potřebuje:

  • Projděte si referenční dokumentaci k rozhraní API pro každý koncový bod, který plánujete použít.
  • Na každé stránce API vyhledejte scopes záhlaví.
  • Abyste se vyhnuli vyžádání redundantních oprávnění, zvažte relace oboru.

Dostupné obory

Kategorie Scope Název Vysoká oprávnění Popis Dědí z
Pokročilé zabezpečení vso.advsec Pokročilé zabezpečení (čtení) Ano Uděluje možnost číst výstrahy, instance výsledků a instance výsledků analýzy.
vso.advsec_write Pokročilé zabezpečení (čtení a zápis) Ano Uděluje možnost nahrávat analýzy v bezpatku. vso.advsec
vso.advsec_manage Pokročilé zabezpečení (čtení, zápis a správa) Ano Uděluje možnost nahrávat analýzy v bezpatku. vso.advsec_write
Fondy agentů vso.agentpools Fondy agentů (čtení) Umožňuje zobrazit úkoly, fondy, fronty, agenty a aktuálně probíhající nebo nedávno dokončené úlohy pro agenty.
vso.agentpools_manage Fondy agentů (čtení a správa) Ano Poskytuje oprávnění ke správě fondů, front a agentů. vso.agentpools
vso.environment_manage Prostředí (čtení a správa) Ano Uděluje možnost spravovat fondy, fronty, agenty a prostředí. vso.agentpools_manage
Analytika vso.analytics Analytika (přečteno) Uděluje možnost dotazovat se na analytická data.
Auditing vso.auditlog Protokol auditu (čtení) Uděluje možnost číst protokol auditování uživatelům.
vso.auditstreams_manage Auditování datových proudů (čtení) Ano Uděluje možnost spravovat streamy auditování uživatelům. vso.auditlog
Build vso.build Sestavení (viz) 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 propojení služby. vso.hooks_write
vso.build_execute Sestavení (čtení a spuštění) Ano Uděluje možnost přístupu k artefaktům sestavení, včetně výsledků sestavení, definic a požadavků. Umožňuje také zařadit sestavení do fronty, aktualizovat vlastnosti sestavení a přijímat oznámení o událostech sestavení prostřednictvím volání služby. vso.build
Code 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) Ano Uděluje možnost číst, aktualizovat a odstraňovat zdrojový kód a 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) Ano 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ý) Ano 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í. Uděluje 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 API pro klientské OM. vso.code_manage
vso.code_status Stav kódu 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í) Uděluje přístup jen pro čtení ke koncovým bodům licenčního nároku, aby získal nároky na účty.
vso.memberentitlementmanagement Správa nároků členů (čtení) Umožňuje číst uživatele, jejich licence a projekty a rozšíření, ke kterým mají přístup.
vso.memberentitlementmanagement_write Správa nároků členů (zápis) Ano Uděluje možnost spravovat uživatele a jejich licence a projekty a rozšíření, ke kterým mají přístup. vso.memberentitlementmanagement
Extensions vso.extension Rozšíření (čtení) Uděluje možnost číst nainstalovaná rozšíření. vso.profile
vso.extension_manage Rozšíření (pro čtení a správu) Ano 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 pro 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) Ano Uděluje možnost číst a spravovat připojení GitHubu a data úložišť GitHub. vso.githubconnections
Graf a identita vso.graph Graf (čtení) Uděluje možnost číst informace o uživatelích, skupinách, oblastech a členství ve skupinách.
vso.graph_manage Graf (spravovat) Ano Uděluje možnost číst informace o členství uživatelů, skupin, oborů a skupin, přidávat uživatele a skupiny a spravovat členství ve skupinách. vso.graph
vso.identity Identita (po přečtení) Uděluje oprávnění ke čtení identit a skupin.
vso.identity_manage Identita (řízení) Ano 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) Ano Uděluje možnost spravovat skupiny nasazení a fondy agentů. vso.agentpools_manage
Marketplace vso.gallery Marketplace Uděluje přístup k prohlížení veřejných a soukromých položek a materiálů zveřejněných vydavateli. vso.profile
vso.gallery_acquire Marketplace (pořízení) Uděluje přístup pro čtení a umožňuje získávání položek. vso.gallery
vso.gallery_publish Marketplace (publikovat) Ano 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) Ano Uděluje přístup pro čtení a umožňuje publikovat a spravovat položky a vydavatele. vso.gallery_publish
Notifications vso.notification Přečtená oznámení Uděluje 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í (zapsat) Uděluje 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í (spravování) Uděluje přístup ke čtení, zápisu a správě předplatných a oprávnění ke čtení metadat událostí, včetně filtrovatelných hodnot polí. vso.notification_write
vso.notification_diagnostics Oznámení (diagnostika) Uděluje přístup k diagnostickým protokolům souvisejícím s oznámeními a uděluje možnost povolit diagnostiku pro jednotlivá předplatná. vso.notification
Balení vso.packaging Balení (návod) Uděluje schopnost číst balíčky a informační kanály. vso.profile
vso.packaging_write Balení (čtení a zápis) Ano 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) Ano Uděluje možnost vytvářet, číst, aktualizovat a odstraňovat informační kanály a balíčky. vso.packaging_write
Zdroje potrubí vso.pipelineresources_use Prostředky kanálu (použití) Ano Udělí možnost schválit žádost potrubí 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) Ano Uděluje možnost spravovat chráněný prostředek nebo žádost pipeline o použití chráněného prostředku: fond agentů, prostředí, frontu, úložiště, zabezpečené soubory, připojení služby a skupinu proměnných. vso.pipelineresources_use
Projekt a tým vso.project Projekt a tým (přečtěte si) 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) Ano Uděluje možnost vytvářet, číst, aktualizovat a odstraňovat projekty a týmy. vso.project_write
Release vso.release Uvolnění (přečíst) 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 Vydání (čtení, zápis a spuštění) Ano Uděluje možnost číst a aktualizovat artefakty vydané verze, včetně vydaných verzí, definic vydaných verzí a prostředí verze. Také uděluje možnost zařadit novou verzi do fronty. vso.release
vso.release_manage Verze (čtení, zápis, spouštění a správa) Ano 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í. Umožňuje také zařadit frontu a schválit novou verzi. vso.release_execute
Zabezpečené soubory vso.securefiles_read Zabezpečené soubory (čtení) Ano Uděluje možnost číst zabezpečené soubory.
vso.securefiles_write Zabezpečené soubory (čtení a vytváření) Ano 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) Ano Uděluje možnost číst, vytvářet a spravovat zabezpečené soubory. vso.securefiles_write
Zabezpečení vso.security_manage Zabezpečení (řízení) Ano 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 oprávnění ke čtení koncových bodů 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) Ano Uděluje možnost číst, dotazovat a spravovat koncové body služby. vso.serviceendpoint_query
Servisní háky vso.hooks Háky služby (čtení) Uděluje možnost číst předplatná na háčky služeb a metadata, včetně podporovaných událostí, spotřebitelů 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 háčků služeb a číst metadata, včetně podporovaných událostí, spotřebitelů a akcí. (Už není veřejné.) vso.hooks
vso.hooks_interact Služební háky (interakce) Uděluje možnost interakce a provádění akcí s událostmi přijatými prostřednictvím service hooks. (Už není veřejné.) vso.profile
Nastavení vso.settings Nastavení (čtení) Uděluje možnost čtení nastavení.
vso.settings_write Nastavení (čtení a zápis) Uděluje možnost čtení a zápisu nastavení. vso.settings
Symbols 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í) Umožňuje číst skupiny úkolů.
vso.taskgroups_write Skupiny úloh (čtení a vytvář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) Ano Uděluje možnost číst, vytvářet a spravovat skupiny úloh. vso.taskgroups_write
Týmový řídicí panel vso.dashboards Týmové řídicí panely (pro čtení) 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
Threads vso.threads_full Vlákna PR Uděluje možnost čtení a zápisu do vláken komentářů u žádostí o přijetí změn.
Tokény vso.tokens Delegovaná autorizační tokeny Ano Uživatelům uděluje možnost spravovat delegované autorizační tokeny.
vso.tokenadministration Správa tokenů Ano Uděluje možnost spravovat (zobrazit a odvolat) stávající tokeny správcům organizace.
Profil uživatele 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 (napsat) 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í a vytvář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) Ano 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 Položky práce (ke čtení) Uděluje možnost čí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) Umožňuje číst, vytvářet a aktualizovat pracovní položky a dotazy, metadata aktualizačních panelů, cesty ke čtení a iterace a další metadata související se sledováním pracovních položek, spouštět dotazy a přijímat 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. Umožňuje také 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 Ano Uděluje úplný přístup k rozhraním REST API služby Visual Studio Team Services. Požádejte nebo odsouhlaste tento rozsah s opatrností, protože je velmi výkonný.

Nejčastější dotazy

Q. Můžu používat OAuth s mobilními aplikacemi?

A. Ne. Azure DevOps Services podporuje pouze tok webového serveru (tok autorizačního kódu), který vyžaduje bezpečné uložení tajného kódu aplikace. Mobilní aplikace nemůžou bezpečně ukládat tajné kódy, což zneužito OAuth pro mobilní scénáře.

Alternativa pro mobilní aplikace: Pro ověřování mobilních aplikací používejte osobní přístupové tokeny .

Q. Funguje OAuth se všemi rozhraními API Azure DevOps?

A. OAuth podporuje rozhraní REST API a pouze koncové body Gitu. SOAP API nepodporují autentizaci OAuth.

Q. Jak můžu migrovat z Azure DevOps OAuth na Microsoft Entra ID OAuth?

A. Postupujte podle průvodce migrací Microsoft Entra ID OAuth, který zahrnuje:

  • Podrobné pokyny k migraci
  • Příklady kódu a osvědčené postupy
  • Důležité informace o časové ose pro vyřazení

Q. Co se stane s existující aplikací Azure DevOps OAuth po roce 2026?

A. Stávající aplikace Azure DevOps OAuth přestanou fungovat, když je služba v roce 2026 plně zastaralá. Naplánujte migraci na Microsoft Entra ID OAuth dobře před tímto termínem.

Volba cesty implementace