使用 Microsoft Entra OAuth Apps 建置 Azure DevOps
重要
建立新的 OAuth 2.0 應用程式時,請從 Microsoft Entra OAuth 應用程式開始,因為 Azure DevOps OAuth 應用程式 計劃於 2026 年淘汰。 在我們的部落格文章中深入瞭解。
Microsoft Entra ID OAuth
Microsoft Entra ID 是個別的Microsoft產品,其平臺為 。 在 Microsoft Entra 上,您可以註冊應用程式來存取 Azure 租使用者,並定義 Azure 資源所需的許可權,其中 Azure DevOps 會被視為其中一個。
Microsoft Entra 應用程式和 Azure DevOps 應用程式是個別的實體,彼此都不知道。 驗證應用程式的方法與 Microsoft Entra OAuth 與 Azure DevOps OAuth 不同。 有一件事, Microsoft Entra ID OAuth 應用程式 會發行Microsoft Entra 令牌,而不是 Azure DevOps 存取令牌。 這些令牌在到期前有標準一小時的持續時間。
建議您徹底閱讀 Microsoft Entra 檔,以瞭解透過 Microsoft Entra 取得的新功能,以及 您在安裝期間的不同期望 。
為何選擇 Microsoft Entra?
身為領先的身分識別和存取管理 (IAM) 提供者, Microsoft Entra ID 著重於需要管理小組成員並保護公司資源的公司需求。 Microsoft Entra ID 提供許多功能 -- 應用程式開發和管理是其中之一。 Microsoft Entra 應用程式模型比 Azure DevOps OAuth 應用程式模型提供一些優點,讓它們更吸引應用程式開發人員。
1. Microsoft內外範圍更廣
藉由在 Microsoft Entra 上建置應用程式,即可透過Microsoft生態系統的其餘部分取得更廣泛的觸達。 一個Microsoft Entra 應用程式可用來存取多個Microsoft產品,讓應用程式認證管理更為簡單。 Teams 供應 SaaS 產品可能會考慮建立預先整合的應用程式,此應用程式會出現在 Microsoft Entra 應用連結庫中的其他熱門應用程式。
2. 更高的系統管理員可見度、同意和管理
受信任的租用戶系統管理員可以管理 哪些應用程式存取公司資源、組織中的誰可以使用應用程式,以及如何取得同意。 Azure DevOps OAuth 並不知道租使用者或其系統管理員的知識,完全依賴用戶來授權存取潛在敏感數據。 先前授權存取長期遺忘應用程式的用戶會離開大門,以供日後潛在滲透使用。 系統管理監督提供額外的一組眼睛,其中包含適當的檢閱程式,並有助於清除未使用或未經授權的應用程式。
3. 更嚴格的條件式訪問控制
條件式存取原則 可讓您輕鬆設定用戶可透過 Microsoft Entra 應用程式存取貴組織的適當訪問控制。 Azure DevOps OAuth 應用程式位於 Microsoft Entra 生態系統之外,且不符合所有條件式存取原則。
4.自助式應用程式設定
相較於 Azure DevOps OAuth 應用程式,變更Microsoft Entra 應用程式上的應用程式範圍和應用程式擁有權是相對微不足道的。 應用程式開發人員會連絡客戶支援小組,在 Azure DevOps OAuth 應用程式上進行變更,但在Microsoft Entra 中,變更範圍的能力會傳回給開發人員。 應用程式擁有權甚至可以在多個使用者之間共用,而且不限於單一使用者,如果說使用者未來離開公司,可能會造成問題。
5.可用的登入記錄
Microsoft Entra 會將所有「登入」記錄到 Azure 租使用者,其中包含您的內部應用程式和資源。 這項額外資訊可以提供一些更深入的見解,讓您深入瞭解誰正在使用無法透過我們的稽核取得的應用程式。
有用的資源
在新的平臺上建置可能是壓倒性的。 我們提供一些有用的連結,我們認為對於 Microsoft Entra 上的 OAuth 應用程式開發程式可能很有用。 對於開發人員從 Azure DevOps OAuth 切換至 Microsoft Entra OAuth,我們提供在移轉工作期間考慮的實用秘訣。
適用於開發人員的良好資源
- Microsoft 身分識別平台 和 OAuth 2.0 代理者流程
- 瞭解委派存取
- 快速入門:使用 Microsoft 身分識別平台來註冊應用程式
- 新增許可權以存取 Microsoft Graph:瞭解如何從 Azure 資源新增委派的許可權很有用。 請改為從資源清單中選取
Azure DevOps
,而不是Microsoft Graph。 - Microsoft 身分識別平台 中的範圍和許可權:讀取
.default
範圍。 在我們的範圍清單中,請參閱 Azure DevOps 可用的範圍。 - 透過同意要求許可權
- 驗證連結庫 和 程式代碼範例
- 透過 API 管理個人存取令牌:使用 PAT 生命週期管理 API 需要Microsoft Entra 令牌和我們的文件和 相關聯的範例應用程式,可能是設定 Microsoft Entra 應用程式 以使用 Azure DevOps REST API 的實用範例。
- 適用於開發人員的支援與說明選項
適用於系統管理員的良好資源
建置和移轉秘訣
注意
Microsoft Entra OAuth 應用程式原生不支援適用於 Azure DevOps REST API 的 MSA 使用者。 如果您要建置必須迎合 MSA 使用者的應用程式,或同時支援 Microsoft Entra 和 MSA 使用者, Azure DevOps OAuth 應用程式 仍然是最佳選項。 我們目前正透過 Microsoft Entra OAuth,為 MSA 使用者提供原生支援。
- 熟悉的 Azure DevOps 標識符:
- Microsoft Entra 資源標識符:
499b84ac-1321-427f-aa17-267ca6975798
- 資源 URI:
https://app.vssps.visualstudio.com
.default
在要求具有應用程式許可權之所有範圍的令牌時,請使用範圍。
- Microsoft Entra 資源標識符:
- 移轉現有的應用程式時,您可能會使用不存在於 Microsoft Entra 中的 Azure DevOps 使用者識別碼。 使用 ReadIdentities API 來解析並比對每個識別提供者所使用的不同身分識別。
Microsoft Entra 上的僅限應用程式流程
Microsoft Entra OAuth 是建置應用程式以代表同意使用者存取 Azure DevOps 服務的建議解決方案。
如果您想要建置應用程式來代表自己採取行動,請查看我們的服務主體支援檔。 在這些檔中,我們會詳細說明如何設定服務主體或受控識別,而不需要依賴用戶權力對組織資源採取行動,而是只依賴自己的許可權。 此驗證機制是針對小組建置自動化工具的建議驗證。