Microsoft Entra を使用して Azure DevOps に対する認証を行う
Microsoft Entra ID は独自のプラットフォームを持つ独立した Microsoft 製品です。 業界をリードする ID およびアクセス管理 (IAM) プロバイダーとして、Microsoft Entra ID は、チーム メンバーを管理し、会社のリソースを保護する必要がある企業のニーズに焦点を当てています。 Microsoft では、Azure DevOps 組織を Microsoft Entra ID テナントに接続する機能を提供しており、この機能が企業に多くのメリットをもたらす可能性があります。
接続されると、Microsoft Entra ID 上にある Microsoft ID アプリケーション プラットフォームには、アプリ開発者や組織管理者にとって魅力的な利点がいくつかもたらされます。 Microsoft Entra では、Azure テナントにアクセスするためのアプリケーションを登録し、Azure リソースから必要なアクセス許可を定義できます。その中で、Azure DevOps もその 1 つと見なされます。 Azure DevOps は、Azure テナントのコンストラクトの外部に存在します。
Microsoft Entra アプリと Azure DevOps アプリは、互いを認識しない個別のエンティティです。 アプリケーションを認証する手段は、Microsoft Entra OAuth と Azure DevOps OAuth で異なります。 たとえば、Microsoft Entra ID OAuth アプリでは、Azure DevOps アクセス トークンではなく Microsoft Entra トークンが発行されます。 これらのトークンでは通常、有効期限が 1 時間となっています。
Microsoft Entra での Azure DevOps アプリの開発
Microsoft Entra で利用できる新機能とセットアップ時のさまざまな想定を理解するために、Microsoft Entra のドキュメントを十分に読むことをお勧めします。
アプリの開発をサポートするためのガイダンスが用意されています。
- ユーザーの同意を得てその代理としてアクションを実行するアプリ用の Microsoft Entra OAuth アプリ (ユーザーの代理アプリ)
- チーム内で自動化されたツールを実行するアプリの Microsoft Entra サービス プリンシパルとマネージド ID (それ自体の代理アプリ)
PAT を Microsoft Entra トークンに置き換える
個人用アクセス トークン (PAT)は引き続き、Azure DevOps ユーザーにとって最も一般的な認証形式の 1 つであり、作成と使用が容易です。 ただし、PAT の管理とストレージが不十分な場合、Azure DevOps 組織への不正アクセスが発生する可能性があります。 PAT を長期間存続させたり、スコープを大きくしすぎたりすると、漏洩した PAT が損害を受けるリスクも高まります。
Microsoft Entra トークンは、更新まで 1 時間しか存続しないため、魅力的な代替手段が用意されています。 Entra トークンを生成するための認証プロトコルはより堅牢で安全です。 トークンの盗難やリプレイ攻撃から保護する条件付きアクセス ポリシーなどのセキュリティ対策。 現在一般的に使用されている PAT の代わりに、より多くのユーザーに Microsoft Entra トークンを検討してもらいたいと考えています。 このワークフローで PAT を Entra トークンに置き換えることができる最も一般的な PAT のユース ケースと方法をいくつか共有します。
Azure DevOps REST API へのアドホック リクエスト
Azure CLI でユーザー トークンを取得する
これらの手順のクレジットは、Databricks ドキュメントに帰属します。
az login
コマンドを使用して Azure CLI にサインインし、画面の指示に従います。- これらの bash コマンドを使用して、サインインしているユーザーに適切なサブスクリプションを設定します。 Azure サブスクリプション ID が、アクセスしようとしている Azure DevOps 組織に接続されているテナントに関連付けられていることを確認します。 サブスクリプション ID がわからない場合は、Azure portal で確認できます。
bash az account set -s <subscription-id>
az account get-access-token
Azure DevOps リソース ID499b84ac-1321-427f-aa17-267ca6975798
を使用して Microsoft Entra ID アクセス トークンを生成します。bash az account get-access-token \ --resource 499b84ac-1321-427f-aa17-267ca6975798 \ --query "accessToken" \ -o tsv
Azure CLI でサービス プリンシパル トークンを取得する
サービス プリンシパルでは、アドホック操作にアドホック Microsoft Entra ID アクセス トークンを使用することもできます。 実行方法については、サービス プリンシパルと管理対象IDのガイドのこのセクションで説明します。
Git Credential Manager による Git 操作
Microsoft Entra トークンを使用して Git 操作を実行することもできます。 Git リポジトリに定期的にプッシュする場合、Git Credential Manager を使用すると、oauth
が既定の credential.azReposCredentialType
として設定されている限り、Microsoft Entra OAuth トークン資格情報を簡単に要求および管理できます。