次の方法で共有


Git Credential Manager を使用して Azure Repos に対する認証を行う

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

Visual Studio 2019 |Visual Studio 2022

Git Credential Manager を使用すると、Azure Repos Git リポジトリでの認証が簡略化されます。 資格情報マネージャーを使用すると、Azure DevOps Services Web ポータルで使用するのと同じ資格情報を使用できます。 資格情報マネージャーは、Microsoft アカウントまたは Microsoft Entra ID を使用した多要素認証をサポートします。 資格情報マネージャーは、Azure Repos で多要素認証をサポートするだけでなく、GitHub リポジトリを使用した 2 要素認証 もサポートします。

Azure Repos では、次のクライアントを介した Microsoft アカウントと Microsoft Entra 認証に対する IDE サポートが提供されます。

環境で統合が利用できない場合、個人用アクセス トークン を使って IDE に設定するか、SSH を使用してリポジトリに接続してください。

Git Credential Manager をインストールする

ウィンドウズ

Git Credential Manager を含む最新の Git for Windows インストーラーをダウンロードして実行します。 Git Credential Manager のインストール オプションを有効にしてください。

スクリーンショット 、[Windows 用 Git のインストール中に Git Credential Manager を有効にする] の選択が示されています。

macOS と Linux

Azure Repos に対する認証には SSH キーを使用することも、Git Credential Manager を使用することもできます。

インストール手順は、GCM の GitHub リポジトリに含まれています。 Mac では、Homebrewを使用することをお勧めします。 Linux では、.deb または tarballからインストールできます。

Git Credential Manager の使用

Git クライアントから Git リポジトリに初めて接続すると、資格情報マネージャーによって資格情報の入力が求められます。 Microsoft アカウントまたは Microsoft Entra の資格情報を指定します。 アカウントで多要素認証が有効になっている場合、資格情報マネージャーは、そのプロセスも実行するように求められます。

Git 資格情報マネージャーのプロンプトが Git プル中に表示される Git プル中に Git Credential Manager によって入力を求められる様子

認証されると、資格情報マネージャーは、リポジトリへの将来の接続用のトークンを作成してキャッシュします。 このアカウントに接続する Git コマンドは、トークンの有効期限が切れるまでユーザー資格情報の入力を求められません。 トークンは、Azure Repos を通じて取り消すことができます。

既定の資格情報の種類を OAuth として設定する

既定では、GCM は Azure Repos に 個人用アクセス トークンを要求します。 ただし、代わりに、既定のトークンの種類を Git 認証用の Microsoft Entra トークン に変更できます。 後者のトークンは、GCM によって作成された 7 日間の PAT と比較して 1 時間の有効期限があるため、この方法をお勧めします。 GCM によって作成されたすべての PAT は、[ユーザー設定] ページで取り消すことが できます

既定 資格情報の種類を Microsoft Entra トークンに設定するには、credential.azreposCredentialType 構成エントリ (または環境変数 GCM_AZREPOS_CREDENTIALTYPE) を oauthに設定します。 Azure Reposで GCM を使用する の詳細について説明します。

サービス プリンシパルを認証として使用する

GCM による認証用のサービス プリンシパルを提供することもできます。 サービス プリンシパルのクライアント ID とテナント ID を次の形式で指定します:{tenantId}/{clientId}

git config --global credential.azreposServicePrincipal "11111111-1111-1111-1111-111111111111/22222222-2222-2222-2222-222222222222"

また、この値を設定する場合は、少なくとも 1 つの認証メカニズムを設定する必要があります。

ヘルプの取得

Git Credential Manager の問題は、プロジェクトの GitHubで開いて報告できます。