Git Credential Manager【GCM】

GitはGitHubやGitLab、Azure DevOpsなどのホスティングサービスと組み合わせて使われることが多く、リモートリポジトリへプッシュやプルを行う際には認証が求められる。以前はパスワード認証が主流だったが、現在はセキュリティ上の理由からOpenID Connectや個人アクセストークンへの移行が進んでいる。
操作のたびに認証情報を手入力するのは煩わしく、打ち間違いも起こりやすいが、Git Credential Managerは認証情報の管理を自動化し、こうした手間を省くことができる。米マイクロソフト(Microsoft)が開発したツールで、オープンソースとして公開されている。もとはWindowsのみに提供されていたが、現在はmacOSやLinuxでも利用できるようになっている。
認証情報の保存先はオペレーティングシステム(OS)によって異なっており、Windows版ではWindows資格情報マネージャー、macOS版ではKeychain、Linux版ではSecret Service APIなどが使われる。いずれもOS標準の暗号化された領域に保存するため、平文ファイルに記録する方法と比べてセキュリティ上のリスクが低い。
利用者が最初にリモートリポジトリへ接続すると、GCMが認証画面を表示し、入力された情報を安全な領域に登録する。以降はGitが認証を必要とするたびに保存済みの情報を自動的に渡す仕組みのため、利用者は毎回入力する必要がなくなる。多要素認証(MFA)やシングルサインオンにも対応しており、初回認証時にはWebブラウザが自動で起動してWeb上で認証を完了させる。
設定はGitの設定ファイルに「Credential Helper」として登録するだけで済み、認証方式の詳細を理解していなくても導入できる。Git for Windowsには標準で同梱されているため、Windowsユーザーは追加の設定なしに使える場合もある。Visual StudioやVisual Studio Codeなどの開発ツールと組み合わせて使われることも多い。