Microsoft Entra ID を使用して Azure DevOps に対する認証を行う

Azure DevOps サービス

Von Bedeutung

リスクの高い個人用アクセス トークンよりも安全な Microsoft Entraトークンを使用することを検討してください。 詳細については、「 PAT 使用量の削減」を参照してください。 認証ガイダンスを確認して、ニーズに適した認証メカニズムを選択します。

この記事では、Azure DevOps サービスにアクセスするアプリケーションのMicrosoft Entra ID認証フローを選択します。

概要

Microsoft Entra ID は、組織が以下を可能にする Microsoft のクラウドベースの ID およびアクセス管理プラットフォームです。

  • ユーザー ID を管理し、リソースへのアクセスを制御します。
  • サポートされているサインイン シナリオに、多要素認証やMicrosoft Entra 条件付きアクセスなどのセキュリティ ポリシーを適用します。
  • Azure DevOps Services など、何千ものアプリケーションと統合します。
  • Microsoft および Microsoft 以外のサービス全体でシングル サインオンを提供します。

多くの Azure DevOps エンタープライズのお客様は、これらの機能と強化されたセキュリティ機能を使用するために、Azure DevOps 組織を Microsoft Entra ID に接続します。

注

Microsoft Entra ID は、以前 は Azure Active Directory (Azure AD) と呼ばれていました。 一部の Microsoft 製品およびドキュメントには、引き続き参照が表示される場合があります。

認証オプション

Microsoft ID プラットフォームでは、Azure DevOps アクセス用の 2 つの主要な認証パターンが提供されます。

ユーザー委任 (OAuth)

最適: ユーザーのために動作する対話型アプリケーション

  • ユーザーは、Microsoft Entra ID 資格情報を使用してサインインします。
  • アプリケーションは、サインインしているユーザーのAzure DevOpsアクセス レベルとアクセス許可内で動作します。
  • 多要素認証とMicrosoft Entra 条件付きアクセスポリシーは、ユーザーのサインインを評価します。
  • このパターンは、Web アプリケーション、デスクトップ アプリ、およびその他のユーザー向けツールに適しています。

始める: Microsoft Entra ID OAuth 実装

アプリケーション ID (サービス プリンシパルとマネージド ID)

最適な用途: バックグラウンドサービスと自動化シナリオ

  • アプリケーションは、(ユーザー資格情報ではなく) 独自の ID を使用して認証します。
  • このパターンは、継続的インテグレーションと継続的デリバリー (CI/CD) パイプライン、バックグラウンド サービス、自動ツールに適しています。
  • ID をAzure DevOps組織に追加し、必要なアクセス レベルとアクセス許可を割り当てます。
  • Azureホストされるアプリケーションにはマネージド ID を使用します。 他のアプリケーションには、ワークロード ID フェデレーション、証明書、またはクライアント シークレットを使用したサービス プリンシパルを使用します。

作業の開始: サービス プリンシパルとマネージド ID

Microsoft Entra ID認証を使用する理由

Microsoft Entra IDは、ユーザーとアプリケーションの ID ライフサイクルとアクセス制御を一元化します。

ID と資格情報の制御

  • ユーザー認証では、シングル サインオン、多要素認証、およびサポートされている条件付きアクセス ポリシーを使用できます。
  • マネージド ID とワークロード ID フェデレーションは、サポートされているシナリオで格納されているアプリケーション シークレットを回避できます。
  • 管理者は、各アプリケーションを更新することなく、ID を無効にしたり、Azure DevOpsアクセスを変更したりできます。

条件付きアクセスの動作は、ID と認証フローによって異なります。 ワークロード ID の制限事項については、「 サービス プリンシパルとマネージド ID」を参照してください。

エンタープライズ統合

  • Microsoft アプリケーションと Microsoft 以外のアプリケーション間でのシングル サインオン
  • ユーザーとアプリケーションの一元化された ID 管理
  • サポートされている ID とサインイン シナリオに対するポリシーの適用
  • ガバナンス要件の監査とコンプライアンスの機能

開発者エクスペリエンス

  • トークンを取得してキャッシュする Microsoft 認証ライブラリ
  • すべての Microsoft サービスで一貫性のある ID プラットフォーム
  • 迅速な実装のための豊富なドキュメントとサンプル
  • 定期的な機能更新プログラムによるアクティブなサポートと開発

アクセス トークンを処理する

Microsoft Entraアクセス トークンは、機密性の高い不透明な資格情報として扱います。 トークンを解析したり、有効期間をハードコーディングしたりしないでください。 トークンで返された有効期限情報を使用し、Microsoft Authentication Library (MSAL) またはAzure ID を使用してトークンをキャッシュし、必要に応じ別のトークンを取得します。 ユーザーの操作なしでトークンを更新できるかどうかは、認証フロー、セッションの状態、および適用可能なポリシーによって異なります。

レガシ認証から移行する

Azure DevOps OAuth は非推奨となり、Microsoftは 2025 年 4 月の時点で新しいアプリの登録を受け入れなくなりました。 新しいアプリケーションには Microsoft Entra ID OAuth を使用し、既存の Azure DevOps OAuth アプリケーションを移行します。 現在の非推奨のマイルストーンについては、Azure DevOps OAuth の非推奨のお知らせを参照してください。

Von Bedeutung

Microsoft Entraアクセス トークンと Azure DevOps OAuth アクセス トークンは交換できません。 Microsoft Entra ID OAuth に移行するアプリケーションでは、ユーザーの再認証が必要です。

組織では、セキュリティ リスクのために 個人アクセス トークン (PAT) の作成を制限するセキュリティ ポリシー がますます採用されています。 Microsoft Entra ID 認証は、一般的な PAT シナリオに対して安全な代替手段を提供します。

PAT シナリオ Microsoft Entra の代替手段
Git Credential Manager (GCM) で認証する 資格情報の種類を oauth に設定して、Microsoft ID OAuth トークンを使用するように GCM を構成します。 GCM は通常、既定で AT に設定されますが、一部のクラウドホスト環境では既定で OAuth が使用されます。 詳細については、「 Git Credential Manager の使用」を参照してください。
ビルドまたはリリース パイプラインで認証する Azure DevOps リソースのワークロード ID フェデレーションで Azure DevOps サービス接続を使用するか、Azure リソースのワークロード ID フェデレーションとのサービス接続を使用します。
Azure DevOps REST API へのアドホック要求 Azure CLI を使用して、1 回限りの Microsoft Entra トークンを発行します。 

ヒント

明確な Microsoft Entra トークンの代替手段がない Azure DevOps PAT シナリオはありますか? 開発者コミュニティでシナリオを共有します。