Megosztás a következőn keresztül:


OAuth 2.0-hitelesítés az Azure DevOps REST API-khoz

Azure DevOps Services

Megtudhatja, hogyan használhatja az OAuth 2.0-t az alkalmazások Azure DevOps REST API-hozzáféréshez való hitelesítéséhez anélkül, hogy a felhasználóknak ismétlődő hitelesítő adatokat kellene megadniuk.

Fontos

Javasoljuk, hogy új alkalmazásokhoz használja a Microsoft Entra ID OAuth-ot. Az Azure DevOps OAuth 2.0 elavult, és 2025 áprilisától már nem fogad el új regisztrációkat, 2026-ra tervezett teljes elavulással.

Az OAuth 2.0 működése az Azure DevOpsszal

Feljegyzés

Az OAuth 2.0 csak az Azure DevOps Serviceshez érhető el, az Azure DevOps Serverhez nem. Helyszíni forgatókönyvek esetén használjon ügyfélkódtárakat, Windows-hitelesítést vagy személyes hozzáférési jogkivonatokat.

Az Azure DevOps Services az OAuth 2.0 protokoll használatával engedélyezi az alkalmazásokat, és hozzáférési jogkivonatokat hoz létre REST API-hívásokhoz. A folyamat a következő lépéseket foglalja magában:

  • Alkalmazásregisztráció: Regisztrálja az alkalmazást az OAuth-szolgáltatónál.
  • Felhasználói engedélyezés: Adjon engedélyt az alkalmazásnak a felhasználói adatokhoz való hozzáféréshez.
  • Tokencsere: Hozzáférési jogkivonat fogadása API-hívások indításához.
  • API-hozzáférés: Használja a jogkivonatot hitelesített REST API-kérésekhez.
  • Jogkivonat frissítése: Lejárt jogkivonatok frissítése a hozzáférés fenntartása érdekében.

Az OAuth 2.0 engedélyezési folyamatát ábrázoló ábra az alkalmazásregisztrációtól az API-hozzáférésig.

OAuth implementálási lehetőségek

Az alkalmazás igényeinek megfelelően válassza ki a megfelelő OAuth-implementációt.

A Microsoft Entra ID OAuth az Azure DevOps-alkalmazások legbiztonságosabb és időtállóbb hitelesítési módszerét biztosítja. A következő előnyöket biztosítja:

  • Nagyvállalati integráció: Zökkenőmentes integráció a meglévő Microsoft Entra ID-infrastruktúrával.
  • Fokozott biztonság: A speciális biztonsági funkciók közé tartozik a Microsoft Entra feltételes hozzáférés és a többtényezős hitelesítés.
  • Jövőbeli támogatás: Aktívan karbantartott és támogatott platform.
  • Egységes identitás: Egyszeri bejelentkezés a Microsoft-szolgáltatásokban.

Első lépések: Kövesse a Microsoft Entra ID OAuth útmutatóját a megvalósítás részleteihez és a migrálási útmutatóhoz.

Azure DevOps OAuth (elavult)

Figyelmeztetés

Az Azure DevOps OAuth már nem használható. Az új alkalmazásregisztrációk 2025 áprilisától már nem fogadhatók el. A szolgáltatás 2026-ban teljes elavulásra van ütemezve. Meglévő alkalmazások migrálása a Microsoft Entra ID OAuth-ba.

Meglévő Azure DevOps OAuth-alkalmazások esetén:

Migrálás tervezése: Kezdje el a Microsoft Entra ID OAuth-ba való migrálás korai megtervezését. A migrálási útmutató tippeket és szempontokat tartalmaz a zökkenőmentes átmenethez.

OAuth-hatókörök

A hatókörök határozzák meg, hogy az alkalmazás mely Azure DevOps-erőforrásokhoz férhet hozzá. A Microsoft Entra ID OAuth és az Azure DevOps OAuth is ugyanazokat a hatókördefiníciókat használja.

A hatókör kulcsfontosságú szempontjai

  • A minimális jogosultság elve: Csak az alkalmazás által igényelt minimális hatókörök kérése.
  • Hatóköröröklés: Egyes hatókörök másokat is tartalmaznak (például vso.code_manage tartalmazza vso.code_write-t).
  • API-lefedettség: A hatókörök engedélyezik a REST API-k elérését, és csak a Git-végpontokat jelölik ki (a SOAP API-k nem támogatottak).
  • Felhasználói hozzájárulás: A felhasználóknak külön engedélyt kell adniuk az egyes kért hatókörökhöz.

A szükséges hatókörök megkeresése

Annak meghatározásához, hogy az alkalmazásnak milyen hatókörökre van szüksége:

  • Tekintse meg a használni kívánt végpontok API-referenciadokumentációját.
  • Keresse meg az scopes fejlécet minden API-oldalon.
  • A redundáns engedélyek kérésének elkerülése érdekében fontolja meg a hatókörkapcsolatokat.

Elérhető hatókörök

Kategória Hatókör Név Magas szintű jogosultság Leírás Örökli a
Speciális biztonság vso.advsec Speciális biztonság (olvasás) Igen Lehetővé teszi a riasztások, az eredménypéldányok és az elemzési eredménypéldányok olvasását.
vso.advsec_write Speciális biztonság (olvasás és írás) Igen Lehetővé teszi elemzések feltöltését serif nyelven. vso.advsec
vso.advsec_manage Speciális biztonság (olvasás, írás és kezelés) Igen Lehetővé teszi elemzések feltöltését serif nyelven. vso.advsec_write
Ügynökkészletek vso.agentpools Ügynökkészletek (olvasás) Lehetővé teszi a feladatok, csoportok, üzenetsorok, ügynökök megtekintését, valamint az ügynökök jelenleg futó vagy nemrég befejezett feladatait.
vso.agentpools_manage Ügynökkészletek (olvasás és kezelés) Igen Lehetővé teszi csoportok, üzenetsorok és ügynökök kezelését. vso.agentpools
vso.environment_manage Környezet (olvasás és kezelés) Igen Lehetővé teszi csoportok, üzenetsorok, ügynökök és környezetek kezelését. vso.agentpools_manage
Adat-elemzés vso.analytics Analitika (áttekintés) Lehetővé teszi az elemzési adatok lekérdezését.
Auditing vso.auditlog Naplózási napló (olvasás) Lehetővé teszi a naplózási napló olvasását a felhasználóknak.
vso.auditstreams_manage Streamek naplózása (olvasás) Igen Lehetővé teszi a felhasználók számára a naplózási folyamatok kezelését. vso.auditlog
Épít vso.build Fordítás (olvasás) Lehetővé teszi a buildösszetevők, köztük a builderedmények, a definíciók és a kérések elérését, valamint a buildeseményekkel kapcsolatos értesítések szolgáltatáshookokon keresztüli fogadását. vso.hooks_write
vso.build_execute Építés (olvasás és végrehajtás) Igen Lehetővé teszi a buildösszetevők elérését, beleértve a builderedményeket, a definíciókat és a kéréseket. Emellett lehetővé teszi a buildek várólistára helyezését, a buildtulajdonságok frissítését, valamint a buildeseményekről szóló értesítések fogadását szolgáltatáshookokon keresztül. vso.build
Kód vso.code Kód (olvas) Lehetővé teszi a forráskód és a metaadatok olvasását a véglegesítésekről, a módosításkészletekről, az ágakról és más verziókövetési összetevőkről. Emellett lehetővé teszi a kódkeresést és a verziókövetési eseményekről való értesítést szolgáltatáshookokon keresztül. vso.hooks_write
vso.code_write Kód (olvasás és írás) Igen Lehetővé teszi a forráskód olvasását, frissítését és törlését, valamint a véglegesítésekkel, módosításokkal, ágakkal és más verziókövetési összetevőkkal kapcsolatos metaadatok elérését. Emellett lehetővé teszi lekéréses kérelmek és kódellenőrzések létrehozását és kezelését, valamint a verziókövetési eseményekről szóló értesítések fogadását szolgáltatáshookokon keresztül. vso.code
vso.code_manage Kód (olvasás, írás és kezelés) Igen Lehetővé teszi a forráskód olvasását, frissítését és törlését, a véglegesítések metaadatainak elérését, a módosításkészleteket, az ágakat és más verziókövetési összetevőket. Emellett lehetővé teszi a kódtárak létrehozását és kezelését, a lekéréses kérelmek és a kódértékelések létrehozását és kezelését, valamint a verziókövetési eseményekről szóló értesítések fogadását szolgáltatáshookokon keresztül. vso.code_write
vso.code_full Kód (teljes) Igen Teljes hozzáférést biztosít a forráskódhoz, a véglegesítések metaadataihoz, a módosításkészletekhez, az ágakhoz és más verziókövetési összetevőkhöz. Emellett lehetővé teszi a kódtárak létrehozását és kezelését, a lekéréses kérelmek és a kódellenőrzések létrehozását és kezelését, valamint a verziókövetési eseményekről szóló értesítések fogadását szolgáltatáshookokon keresztül. Emellett korlátozott támogatást is biztosít az ügyféloldali OM API-khoz. vso.code_manage
vso.code_status Kód (állapot) Lehetővé teszi a véglegesítés és a lekéréses kérelem állapotának olvasását és írását.
Csatlakoztatott kiszolgáló vso.connected_server Csatlakoztatott kiszolgáló Lehetővé teszi a helyszíni csatlakoztatott kiszolgálóról szükséges végpontok elérését.
Jogosultságok vso.entitlements Jogosultságok (olvasás) Csak olvasható hozzáférést biztosít a licencjogosultság-végpontokhoz a fiókjogosultságok lekéréséhez.
vso.memberentitlementmanagement Tagjogosultság-kezelés (olvasás) Lehetővé teszi a felhasználók, a licencek, valamint az általuk elérhető projektek és bővítmények olvasását.
vso.memberentitlementmanagement_write Tagjogosultság-kezelés (írás) Igen Lehetővé teszi a felhasználók és licenceik, valamint az általuk elérhető projektek és bővítmények kezelését. vso.memberentitlementmanagement
Extensions vso.extension Bővítmények (Megtekintés) Lehetővé teszi a telepített bővítmények olvasását. vso.profile
vso.extension_manage Bővítmények (olvasás és kezelés) Igen Lehetővé teszi más felügyeleti műveletek telepítését, eltávolítását és végrehajtását a telepített bővítményeken. vso.extension
vso.extension.data Bővítményadatok olvasása Lehetővé teszi a telepített bővítmények által tárolt adatok (beállítások és dokumentumok) olvasását. vso.profile
vso.extension.data_write Bővítményadatok (olvasás és írás) Lehetővé teszi a telepített bővítmények által tárolt adatok (beállítások és dokumentumok) olvasását és írását. vso.extension.data
GitHub-kapcsolatok vso.githubconnections GitHub-kapcsolatok (olvasás) Lehetővé teszi a GitHub-kapcsolatok és a GitHub-adattárak adatainak olvasását.
vso.githubconnections_manage GitHub-kapcsolatok (olvasás és kezelés) Igen Lehetővé teszi a GitHub-kapcsolatok és a GitHub-adattárak adatainak olvasását és kezelését. vso.githubconnections
Gráf és identitás vso.graph Gráf (olvasás) Lehetővé teszi a felhasználói, csoport-, hatókör- és csoporttagság-információk olvasását.
vso.graph_manage Gráf (kezelés) Igen Lehetővé teszi a felhasználók, csoportok, hatókörök és csoporttagságok információinak olvasását, felhasználók és csoportok hozzáadását, valamint csoporttagságok kezelését. vso.graph
vso.identity Identitás (olvasott) Lehetővé teszi az identitások és csoportok olvasását.
vso.identity_manage Identitás (kezelés) Igen Lehetővé teszi az identitások és csoportok olvasását, írását és kezelését. vso.identity
Gépcsoport vso.machinegroup_manage Üzembe helyezési csoport (hozzáférés, kezelés) Igen Lehetővé teszi az üzembehelyezési csoport és az ügynökkészletek kezelését. vso.agentpools_manage
Marketplace vso.gallery Marketplace Olvasási hozzáférést biztosít a nyilvános és privát elemekhez, valamint a közzétevőkhöz. vso.profile
vso.gallery_acquire Marketplace (beszerzés) Olvasási hozzáférést és elemek beszerzését teszi lehetővé. vso.gallery
vso.gallery_publish Marketplace (megjelentetés) Igen Olvasási hozzáférést biztosít, valamint lehetővé teszi elemek feltöltését, frissítését és megosztását. vso.gallery
vso.gallery_manage Marketplace (kezelése) Igen Olvasási hozzáférést biztosít, valamint lehetővé teszi az elemek és közzétevők közzétételét és kezelését. vso.gallery_publish
Notifications vso.notification Értesítések (olvasás) Olvasási hozzáférést biztosít az előfizetésekhez és az esemény metaadataihoz, beleértve a szűrhető mezőértékeket is. vso.profile
vso.notification_write Értesítések (írás) Olvasási és írási hozzáférést biztosít az előfizetésekhez, és olvasási hozzáférést biztosít az esemény metaadataihoz, beleértve a szűrhető mezőértékeket is. vso.notification
vso.notification_manage Értesítések (kezelés) Olvasási, írási és felügyeleti hozzáférést biztosít az előfizetésekhez, és olvasási hozzáférést biztosít az esemény metaadataihoz, beleértve a szűrhető mezőértékeket is. vso.notification_write
vso.notification_diagnostics Értesítések (diagnosztika) Hozzáférést biztosít az értesítésekkel kapcsolatos diagnosztikai naplókhoz, és lehetővé teszi a diagnosztikát az egyes előfizetésekhez. vso.notification
Csomagolás vso.packaging Csomagolás (olvasd el) Lehetővé teszi a hírcsatornák és csomagok olvasását. vso.profile
vso.packaging_write Csomagolás (olvasás és írás) Igen Lehetővé teszi hírcsatornák és csomagok létrehozását és olvasását. vso.packaging
vso.packaging_manage Csomagolás (olvasás, írás és kezelés) Igen Lehetővé teszi hírcsatornák és csomagok létrehozását, olvasását, frissítését és törlését. vso.packaging_write
Folyamaterőforrások vso.pipelineresources_use Folyamaterőforrások (használat) Igen Lehetővé teszi egy folyamat védett erőforrás használatára vonatkozó kérésének jóváhagyását: ügynökkészlet, környezet, üzenetsor, adattár, biztonságos fájlok, szolgáltatáskapcsolat és változócsoport.
vso.pipelineresources_manage Folyamaterőforrások (használat és kezelés) Igen Lehetővé teszi védett erőforrás vagy folyamat védett erőforrás használatára vonatkozó kérésének kezelését: ügynökkészlet, környezet, üzenetsor, adattár, biztonságos fájlok, szolgáltatáskapcsolat és változócsoport. vso.pipelineresources_use
Projekt és csapat vso.project Projekt és csapat (olvasás) Lehetővé teszi projektek és csapatok megtekintését.
vso.project_write Projekt és csapat (olvasás és írás) Lehetővé teszi a projektek és csapatok olvasását és frissítését. vso.project
vso.project_manage Projekt és csapat (olvasás, írás és kezelés) Igen Lehetővé teszi projektek és csapatok létrehozását, olvasását, frissítését és törlését. vso.project_write
Release vso.release Kiadás (olvasás) Lehetővé teszi a kiadási összetevők olvasását, beleértve a kiadásokat, a kiadási definíciókat és a kiadási környezetet. vso.profile
vso.release_execute Kiadás (olvasás, írás és végrehajtás) Igen Lehetővé teszi a kiadási összetevők olvasását és frissítését, beleértve a kiadásokat, a kiadási definíciókat és a kiadási környezetet. Emellett lehetővé teszi az új kiadások várólistára helyezését is. vso.release
vso.release_manage Kiadás (olvasás, írás, végrehajtás és kezelés) Igen Lehetővé teszi a kiadási összetevők olvasását, frissítését és törlését, beleértve a kiadásokat, a kiadási definíciókat és a kiadási környezetet. Emellett lehetővé teszi az új kiadás várólistára helyezését és jóváhagyását is. vso.release_execute
Fájlok biztonságossá tétele vso.securefiles_read Biztonságos fájlok (olvasás) Igen Lehetővé teszi a biztonságos fájlok olvasását.
vso.securefiles_write Biztonságos fájlok (olvasás és létrehozás) Igen Lehetővé teszi a biztonságos fájlok olvasását és létrehozását. vso.securefiles_read
vso.securefiles_manage Biztonságos fájlok (olvasás, létrehozás és kezelés) Igen Lehetővé teszi a biztonságos fájlok olvasását, létrehozását és kezelését. vso.securefiles_write
Biztonság vso.security_manage Biztonság (kezelés) Igen Lehetővé teszi a biztonsági engedélyek olvasását, írását és kezelését.
Szolgáltatáskapcsolatok vso.serviceendpoint Szolgáltatásvégpontok (olvasás) Lehetővé teszi a szolgáltatásvégpontok olvasását. vso.profile
vso.serviceendpoint_query Szolgáltatásvégpontok (olvasás és lekérdezés) Lehetővé teszi a szolgáltatásvégpontok olvasását és lekérdezését. vso.serviceendpoint
vso.serviceendpoint_manage Szolgáltatásvégpontok (olvasás, lekérdezés és kezelés) Igen Lehetővé teszi a szolgáltatásvégpontok olvasását, lekérdezését és kezelését. vso.serviceendpoint_query
Szolgáltatási kapcsolók vso.hooks Szolgáltatáskapcsolatok (olvasás) Lehetővé teszi a szolgáltatáshook-előfizetések és metaadatok olvasását, beleértve a támogatott eseményeket, a fogyasztókat és a műveleteket. (Már nem nyilvános.) vso.profile
vso.hooks_write Szolgáltatáshookok (olvasás és írás) Lehetővé teszi a szolgáltatáshook-előfizetések létrehozását és frissítését, valamint a metaadatok olvasását, beleértve a támogatott eseményeket, fogyasztókat és műveleteket. (Már nem nyilvános.) vso.hooks
vso.hooks_interact Szolgáltatáskampók (interakció) Lehetővé teszi az interakciót és a műveletek végrehajtását a szolgáltatáskapcsolók által fogadott eseményeken. (Már nem nyilvános.) vso.profile
Settings vso.settings Beállítások (olvasási mód) Lehetővé teszi a beállítások olvasását.
vso.settings_write Beállítások (olvasás és írás) Olvasási és írási beállításokat biztosít. vso.settings
Symbols vso.symbols Szimbólumok (olvasás) Lehetővé teszi a szimbólumok olvasását. vso.profile
vso.symbols_write Szimbólumok (olvasás és írás) Lehetővé teszi szimbólumok olvasását és írását. vso.symbols
vso.symbols_manage Szimbólumok (olvasás, írás és kezelés) Lehetővé teszi a szimbólumok olvasását, írását és kezelését. vso.symbols_write
Tevékenységcsoportok vso.taskgroups_read Tevékenységcsoportok (olvasás) Lehetővé teszi a feladatcsoportok olvasását.
vso.taskgroups_write Tevékenységcsoportok (olvasás és létrehozás) Lehetővé teszi a tevékenységcsoportok olvasását és létrehozását. vso.taskgroups_read
vso.taskgroups_manage Tevékenységcsoportok (olvasás, létrehozás és kezelés) Igen Lehetővé teszi a feladatcsoportok olvasását, létrehozását és kezelését. vso.taskgroups_write
Csapat irányítópultja vso.dashboards Csapat irányítópultjai (megtekintés) Lehetővé teszi a csapat irányítópultjának információinak olvasását.
vso.dashboards_manage Csapat irányítópultjai (kezelés) Lehetővé teszi a csapat irányítópult-adatainak kezelését. vso.dashboards
Tesztkezelés vso.test Tesztkezelés (olvasás) Lehetővé teszi a teszttervek, esetek, eredmények és más, teszteléssel kapcsolatos összetevők olvasását. vso.profile
vso.test_write Tesztkezelés (olvasás és írás) Lehetővé teszi a teszttervek, esetek, eredmények és más, tesztkezeléssel kapcsolatos összetevők olvasását, létrehozását és frissítését. vso.test
Threads vso.threads_full PR-szálak Olvasási és írási lehetőséget biztosít a kérések megjegyzésszálainak lekéréséhez.
tokenek vso.tokens Delegált engedélyezési jogkivonatok Igen Lehetővé teszi a felhasználók számára delegált engedélyezési jogkivonatok kezelését.
vso.tokenadministration Jogkivonat-felügyelet Igen Lehetővé teszi a meglévő jogkivonatok kezelését (megtekintését és visszavonását) a szervezet adminisztrátorai számára.
Felhasználói profil vso.profile Felhasználói profil (megtekintése) Lehetővé teszi a profil, a fiókok, a gyűjtemények, a projektek, a csapatok és más legfelső szintű szervezeti összetevők olvasását.
vso.profile_write Felhasználói profil (írás) Lehetővé teszi a profilba való írást. vso.profile
Változócsoportok vso.variablegroups_read Változócsoportok (olvasás) Lehetővé teszi a változócsoportok olvasását.
vso.variablegroups_write Változócsoportok (olvasás és létrehozás) Lehetővé teszi változócsoportok olvasását és létrehozását. vso.variablegroups_read
vso.variablegroups_manage Változócsoportok (olvasás, létrehozás és kezelés) Igen Lehetővé teszi a változócsoportok olvasását, létrehozását és kezelését. vso.variablegroups_write
Wiki - egy online enciklopédia, amit a felhasználók közösen szerkesztenek. vso.wiki Wiki (olvasni) Lehetővé teszi a wikik, wikilapok és wikimellékletek olvasását. Emellett lehetővé teszi a wikilapok keresését is.
vso.wiki_write Wiki (olvasás és írás) Lehetővé teszi wikik, wikilapok és wikimellékletek olvasását, létrehozását és frissítését. vso.wiki
Munkaelemek vso.work Munkaelemek (olvasás) Lehetővé teszi a munkaelemek, lekérdezések, táblák, terület- és iterációs útvonalak és egyéb munkaelemek nyomon követésével kapcsolatos metaadatok olvasását. Emellett lehetővé teszi a lekérdezések végrehajtását, a munkaelemek keresését és a munkaelemek eseményeiről szóló értesítések fogadását szolgáltatáshookokon keresztül. vso.hooks_write
vso.work_write Munkaelemek (olvasás és írás) Lehetővé teszi a munkaelemek és lekérdezések olvasását, létrehozását és frissítését, a tábla metaadatainak frissítését, az olvasási területet és az iterációkat, valamint a munkaelemek nyomon követésével kapcsolatos egyéb metaadatokat, lekérdezéseket hajthat végre, és szolgáltatáshookokon keresztül értesítéseket kaphat a munkaelem-eseményekről. vso.work
vso.work_full Munkaelemek (teljes) Teljes hozzáférést biztosít a munkaelemekhez, a lekérdezésekhez, a hátralékokhoz, a tervekhez és a munkaelem-nyomkövetési metaadatokhoz. Emellett lehetővé teszi a munkaelem-eseményekről szóló értesítések fogadását szolgáltatáshookokon keresztül. vso.work_write
Felhasználó megszemélyesítése user_impersonation Felhasználó megszemélyesítése Igen Teljes hozzáférést biztosít a Visual Studio Team Services REST API-khoz. Kérje vagy hagyja jóvá ezt a hatókört óvatosan, mert nagyon hatékony.

Gyakori kérdések

Q. Használhatom az OAuthot mobilalkalmazásokkal?

A. Nem. Az Azure DevOps Services csak a webkiszolgálói folyamatot (engedélyezési kódfolyamatot) támogatja, amelyhez egy alkalmazás titkos kódjának biztonságos tárolása szükséges. A mobilalkalmazások nem tudják biztonságosan tárolni a titkos kulcsokat, ami miatt az OAuth nem alkalmas mobilforgatókönyvekre.

Alternatív megoldás mobilalkalmazásokhoz: Személyes hozzáférési jogkivonatok használata mobilalkalmazás-hitelesítéshez .

Q. Működik az OAuth az összes Azure DevOps API-val?

A. Az OAuth támogatja a REST API-kat, és csak a Git-végpontokat választja. A SOAP API-k nem támogatják az OAuth-hitelesítést.

Q. Hogyan migrálhatok az Azure DevOps OAuth-ból a Microsoft Entra ID OAuth-ba?

A. Kövesse a Microsoft Entra ID OAuth migrálási útmutatóját, amely a következőket tartalmazza:

  • Részletes migrálási utasítások.
  • Példakódok és ajánlott eljárások.
  • Az elavulással kapcsolatos idővonal-szempontok.

Q. Mi történik a meglévő Azure DevOps OAuth-alkalmazásommal 2026 után?

A. A meglévő Azure DevOps OAuth-alkalmazások leállnak, ha a szolgáltatás 2026-ban teljesen elavult. Tervezze meg a Microsoft Entra ID OAuth-ba való migrálást jóval a határidő előtt.

A megvalósítási útvonal kiválasztása