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