Azure DevOps Services |Azure DevOps Server 2022 および Azure DevOps Server 2019
Azure DevOps Services とインターフェイスするアプリケーションの場合は、 Azure DevOps Services REST API を使用してリソースにアクセスするために認証する必要があります。 この記事では、アプリケーションに適した認証メカニズムを選択するのに役立つガイダンスを提供します。
次の表は、さまざまなアプリケーション シナリオで考慮すべき推奨される認証の概念の概要を示しています。 作業を開始するには、付属の説明、例、およびコード サンプルを参照してください。
アプリケーションの種類 | 説明 | 例 | 認証メカニズム | コード サンプル |
---|---|---|---|---|
対話型クライアント側アプリ (REST) | ユーザーの操作を許可し、REST API を直接呼び出すクライアント アプリケーション | organization内のプロジェクトを列挙するコンソール アプリケーション | OAuth の Microsoft Authentication Library (MSAL) との使用 | 見本 |
対話型クライアント側アプリ (クライアント ライブラリ) | ユーザーの操作を許可し、Azure DevOps Services クライアント ライブラリを呼び出すクライアント アプリケーション | 現在のユーザーに割り当てられているバグを列挙するコンソール アプリケーション | OAuth の クライアント ライブラリとの使用 | 見本 |
非対話型クライアント側アプリ | クライアント側で動作するヘッドレスなテキスト専用アプリケーション | ユーザーに割り当てられたすべてのバグを表示するコンソール アプリ | OAuth の デバイス プロファイル フローとの使用 | 見本 |
個人用アクセス トークン (PAT) | 独自のリソースにアクセスするためのベアラー トークン | アドホック REST 呼び出しには、パスワードの代わりに PAT を使用します。 アプリケーションには適していません。 | なで | 例 |
サーバー アプリ | クライアント OM ライブラリを使用してアプリをAzure DevOps Serverする | チーム バグ ダッシュボードを表示するAzure DevOps Server拡張機能 | クライアント ライブラリ | 見本 |
サービスプリンシパルまたはマネージドアイデンティティ | 独自の ID を持つアプリケーション | 作業項目を作成する Azure 関数 | サービス プリンシパルとマネージド ID | 見本 |
Web 拡張機能 | Azure DevOps Services 拡張機能 | アジャイル カード 拡張機能 | VSS Web 拡張機能 SDK | 見本 |
ヒント
Entra ベースの認証 は、Microsoft Entra アカウントを操作する場合に、Azure DevOps Services との統合を検討している開発者向けの推奨事項です。 この表の OAuth サンプル アプリでは、 アプリ開発に Microsoft Entra の ID プラットフォームを使用します。
Microsoft アカウント (MSA) または Azure DevOps Server ユーザーによる認証については、クライアント ライブラリ または の PATを参照してください。
プラットフォーム全体で PAT の使用を減らす方法については、ブログ
よく寄せられる質問 (FAQ)
Q: 対話型のクライアント側アプリケーションにAzure DevOps Services クライアント ライブラリazure DevOps Services REST APIを使用する必要がありますか?
A: Azure DevOps Services リソースにアクセスするために、REST API 経由で Azure DevOps Services クライアント ライブラリを使用することをお勧めします。 REST エンドポイントのバージョンが変更されたときに、管理が簡単で簡単になります。 クライアント ライブラリに特定の機能がない場合は、REST API での認証に MSAL を使用します。
Q: このガイダンスはAzure DevOps Servicesに対してのみ行われますか、それともオンプレミスのAzure DevOps Server ユーザーにも関連していますか?
A: このガイダンスは、主に Azure DevOps Services ユーザーを対象としています。 Azure Devops Server ユーザーの場合は、認証に Client ライブラリ、Windows 認証、または Personal アクセス トークン (AT) を使用することをお勧めします。
Q: Azure DevOps ServerとAzure DevOps Servicesの両方でアプリケーションを認証する場合はどうしますか?
A: ベスト プラクティスは、Azure DevOps Server と Azure DevOps Services 用の個別の認証パスを持つことです。
requestContext
を使用して、アクセスするサービスを特定し、適切な認証メカニズムを適用できます。 統合ソリューションを使用する場合は、 PAT 両方で機能します。
Q: サービス アカウントが Azure DevOps REST API にアクセスできないのはなぜですか?
A: サービス アカウントに "具体化" されていない可能性があります。対話型サインインアクセス許可のないサービス アカウントはサインインできません。