適切な認証メカニズムを選択する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps Servicesとインターフェイスするアプリケーションの場合は、REST API などのリソースにアクセスするために認証する必要があります。 この記事では、アプリケーションに適した認証メカニズムを選択するのに役立つガイダンスを提供します。

次の表は、さまざまなアプリケーションの種類に対して推奨される認証メカニズムの概要を示しています。 作業を開始するには、次の基本的な説明、例、およびコード サンプルを参照してください。

アプリケーションの種類 説明 認証メカニズム コード サンプル
対話型クライアント側 (REST) Azure DevOps Services REST API を呼び出す ユーザー操作を許可するクライアント アプリケーション organization内のプロジェクトを列挙するコンソール アプリケーション Microsoft Authentication Library (MSAL) sample
対話型クライアント側 (クライアント ライブラリ) Azure DevOps Services クライアント ライブラリを呼び出すユーザー操作を許可するクライアント アプリケーション 現在のユーザーに割り当てられているバグを列挙するコンソール アプリケーション クライアント ライブラリ sample
対話型 JavaScript GUI ベースの JavaScript アプリケーション ユーザーのプロジェクト情報を表示する AngularJS シングル ページ アプリ JavaScript 用 Microsoft Authentication Library (MSAL JS) sample
個人用アクセス トークン (PAT) 独自のリソースにアクセスするためのベアラー トークン パスワードの代わりに PAT を使用します。 なで
非対話型クライアント側 ヘッドレス テキストのみのクライアント側アプリケーション ユーザーに割り当てられたすべてのバグを表示するコンソール アプリ デバイス プロファイル sample
Azure DevOps を対象とする対話型クライアント側アプリ ユーザー操作が Azure DevOps ユーザーを認証できるようにするクライアント アプリケーション Azure DevOps ユーザーが割り当てられたバグを表示できるようにするコンソール アプリケーション クライアント ライブラリ (対話型およびWindows 認証) sample
対話型 Web ユーザーの同意を必要とする GUI ベースの Web アプリケーション ビルドの概要を表示するカスタム Web ダッシュボード Azure DevOps OAuth sample
サービス プリンシパルまたはマネージド ID organizationの Azure DevOps リソースにアクセスできるアプリケーション 作業項目を作成する Azure 関数 サービス プリンシパルとマネージド ID sample
Azure DevOps Server アプリケーション クライアント OM ライブラリを使用してアプリをAzure DevOps Serverする チーム バグ ダッシュボードを表示するAzure DevOps Server拡張機能 クライアント ライブラリ sample
Azure DevOps Services拡張機能 Azure DevOps Services拡張機能 アジャイル カード VSS Web 拡張機能 SDK sample

Azure DevOps のセキュリティと ID の概念の概要については、「 セキュリティと ID について」を参照してください。 資格情報の格納方法の詳細については、「 Azure DevOps の資格情報ストレージ」を参照してください。

IIS 基本認証を有効にすると、Azure DevOps Serverの PAT を使用して無効になります

詳細については、「オンプレミスの Azure DevOps での IIS 基本認証の使用」を参照してください

よく寄せられる質問 (FAQ)

Q: サービス アカウントの 1 つが Azure DevOps REST API にアクセスできないのはなぜですか?

A: サービス アカウントに "具体化" されていない可能性があります。対話型サインインのアクセス許可を持たないサービス アカウントではサインインできないため、この回避策チェック

Q: 対話型のクライアント側アプリケーションを作成しています。 Azure DevOps Services クライアント ライブラリまたは rest API Azure DevOps Services使用する必要がありますか?

A: Azure DevOps Services リソースにアクセスするときは、REST API を介してAzure DevOps Servicesクライアント ライブラリを使用することをお勧めします。 REST エンドポイントに対するバージョンの変更が発生した場合は、シンプルで保守が容易になります。 クライアント ライブラリに機能がない場合は、 MSAL が REST API で使用するのに最適な認証メカニズムです。

Q: このガイダンスはAzure DevOps Servicesに対してのみ行われますか、それともオンプレミスのAzure DevOps Server ユーザーにも関連していますか?

A: このガイダンスは、主にAzure DevOps Servicesユーザー向けです。 クライアント ライブラリは、Azure DevOps Server機能を拡張するために特別に構築された一連のパッケージです。 オンプレミス ユーザーの場合は、 クライアント ライブラリ、Windows 認証、または 個人用アクセス トークン (PAT) を 使用してユーザーの認証を行うことをお勧めします。

Q: Azure DevOps ServerとAzure DevOps Servicesの両方でアプリケーションを認証する場合はどうしますか?

A: ベスト プラクティスは、Azure DevOps ServerとAzure DevOps Servicesに異なる認証パスを使用することです。 requestContext を使用して、ヒットしているを確認し、それぞれに最適なメカニズムを使用できます。 代わりに、統合ソリューションが必要な場合は、両方に対 して PAT が 機能します。