適切な認証メカニズムを選択する
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 |
対話型 OAuth Web アプリ | ユーザーの同意を必要とする GUI ベースの Web アプリケーション | ビルドの概要を表示するカスタム Web ダッシュボード | OAuth | sample |
非対話型クライアント側アプリ | ヘッドレス テキストのみのクライアント側アプリケーション | ユーザーに割り当てられたすべてのバグを表示するコンソール アプリ | デバイス プロファイル | sample |
個人用アクセス トークン (PAT) | 独自のリソースにアクセスするためのベアラー トークン | REST 要求には、パスワードの代わりに PAT を使用します。 アプリケーションの構築には適していません。 | なで | docs |
サーバー アプリ | クライアント OM ライブラリを使用してアプリをAzure DevOps Serverする | チーム バグ ダッシュボードを表示するAzure DevOps Server拡張機能 | クライアント ライブラリ | sample |
サービス プリンシパル アプリ | organizationの Azure DevOps リソースにアクセスできるアプリケーション | 作業項目を作成する Azure 関数 | サービス プリンシパルとマネージド ID | sample |
Web 拡張機能 | Azure DevOps Services拡張機能 | アジャイル カード 拡張機能 | VSS Web 拡張機能 SDK | sample |
詳細については、次の記事をご覧ください。
- セキュリティと ID について。
- OAuth 認証
- サービス プリンシパルとマネージド ID
- Azure DevOps クライアント ライブラリ
- Azure DevOps 拡張機能
- Azure DevOps データ保護の概要
IIS 基本認証を有効にすると、Azure DevOps Serverの PAT を使用して無効になります
詳細については、「 Azure DevOps オンプレミスでの IIS 基本認証の使用を参照してください。
よく寄せられる質問 (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 両方で機能します。