認証の概要

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

Azure Repos と Azure DevOps Server Git リポジトリへの安全なアクセスには、適切な認証方法を選択することが重要です。 コマンド プロンプトから作業する場合でも、HTTPS または SSH をサポートする Git クライアントを使用する場合でも、必要なアクセス権を提供するだけでなく、タスクに必要なスコープを制限する資格情報を選択することが重要です。

リポジトリのセキュリティを維持するために資格情報が不要になった場合は、常に資格情報を取り消します。 この方法により、コードを安全かつ効率的に操作できる柔軟性が確保されると同時に、承認されていないアクセスからコードを保護することもできます。

重要

Azure DevOps では、代替資格情報認証はサポートされていません。 代替資格情報をまだ使用している場合は、より安全な認証方法に切り替えるよう強くお勧めします。

認証の比較

認証の種類 使用する場合 安全性 セットアップの容易さ その他のツール
個人用アクセス トークン 構成が簡単な資格情報、または構成可能なアクセス制御が必要なとき 非常に安全 (HTTPS 使用時) 簡単 オプション (Git Credential Manager)
SSH SSH キーが既に設定されているか、macOS または Linux を使用するとき 非常に安全 中級 Windows ユーザーには、Git for Windows に含まれている SSH ツールが必要です

Note

Visual Studio 2019 バージョン 16.8 以降のバージョンでは、Git ワークフローを管理するために、チーム エクスプローラーよりもコンテキストの切り替えが少ない新しい Git メニューが提供されます。 この記事の Visual Studio タブで提供される手順では、チーム エクスプローラーに加えて、Git エクスペリエンスを使用するための情報を示します。 詳細については、「 Git とチーム エクスプローラーのサイド バイ サイド比較を参照してください。

個人用アクセス トークン

個人用アクセス トークン (AT) は、ユーザー名とパスワードを直接使用せずに Azure DevOps へのアクセスを提供します。 これらのトークンは有効期限が切れ、アクセスできるデータのスコープを制限できます。 システムに SSH キーが設定されていない場合、または資格情報によって付与されるアクセス許可を制限する必要がある場合は、AT を使用して認証します。

詳細については、「 個人用アクセス トークンを使用する」を参照してください。

Git Credential Manager を使用してトークンを生成する

Git Credential Manager はオプションのツールであり、Azure Repos を使用しているときに簡単に PAT を作成できます。 Web ポータルにサインインし、トークンを生成し、Azure Repos に接続するときにパスワードとしてそのトークンを使用します。

Credential Manager をインストールすると、要求に応じて PAT が生成されます。 Credential Manager は、Azure DevOps でトークンを作成し、それを Git コマンド ラインまたはその他のクライアントで使用するためにローカルに保存します。

Note

現在のバージョンの Git for Windows には、インストール時のオプション機能として Git Credential Manager が含まれています。

Git for Windows のインストール中に [Git Credential Manager を有効にする] を選択

SSH キーの認証

SSH によるキー認証は、コンピューターで作成する公開と秘密のキーのペア経由で機能します。 公開キーを Web のユーザー名に関連付けます。 Azure DevOps は、ユーザーが Git を操作するときに、そのキーを使用してユーザーに送信するデータを暗号化します。 コンピューター上のデータは、決してネットワーク経由で共有や送信が行われることのない秘密キーで暗号化解除します。

Azure DevOps への SSH 公開キーの追加を示すアニメーション GIF

SSH は、システムに既に設定されている場合に最適なオプションです。公開キーを Azure DevOps に追加し、SSH を使用してリポジトリをクローンするだけです。 コンピューターに SSH を設定していない場合は、代わりに PAT と HTTPS を使用する必要があります。セキュリティで保護されていて、セットアップが簡単です。

詳細については、「 Azure DevOps を使用した SSH の設定を参照してください。

OAuth

OAuth を使用して、REST API へのアクセス用のトークンを生成します。 AccountsProfiles API がサポートするのは OAuth のみです。