メモ
GitHub Copilot は現在、Visual Studio for Mac で使うことはできません。
はじめに
既定では、GitHub Copilot は、セキュリティで保護された HTTPS 接続を介して、ご利用の環境から GitHub のサーバーに直接接続します。 Copilot を使用するために、必ずしも追加のネットワーク設定の構成は必要はありません。
一部のネットワークでは、HTTP プロキシ サーバーを使用してインターネット トラフィックをインターセプトしてから、目的��場所に送信します。 企業では、多くの場合、HTTP プロキシを使用して疑わしいトラフィックを検出したり、ネットワークに入るコンテンツを制限したりします。 企業ネットワークで作業している場合は、HTTP プロキシ経由で接続するように Copilot の構成が必要な場合があります。
メモ
プロキシ サーバーまたはファイアウォールの管理者は、Copilot が期待どおりに動作するようにネットワーク設定を構成する必要もあります。 「Copilot 用のプロキシ サーバーまたはファイアウォールの構成」を参照してください。
GitHub Copilot のプロキシ設定を構成する
GitHub Copilot では、基本的な HTTP プロキシ設定をサポートしています。 プロキシに対して認証が必要な場合、GitHub Copilot は Kerberos による基本認証または認証をサポートします。 プロキシ URL が開始 https://
された場合、プロキシは現在サポートされていません。
選択したエディターで、GitHub Copilot の HTTP プロキシを構成できます。 エディターの手順を表示するには、この記事の上部にあるタブを使用します。
エディターでプロキシを直接構成しない場合、GitHub Copilot は、優先度が最も高いものから最も低いものまで、次のいずれかの環境変数にプロキシ URL が設定されているかどうかを確認します。
HTTPS_PROXY
https_proxy
HTTP_PROXY
http_proxy
メモ
これらの変数のいずれかを使用して、標準 HTTP プロキシの URL を格納できます。 標準的な使用では、http
これらの変数の一部と https
一部は、プロキシ自体の URL ではなく、行われる要求の種類を参照します。 GitHub Copilot はこの規則に従わず、HTTP 要求と HTTPS 要求の両方のプロキシとして、優先度が最も高い変数に格納されている URL を使用します。
プロキシを構成しても接続エラーが発生する場合は、「GitHub Copilot のネットワークエラーのトラブルシューティング」を参照してください。
JetBrains IDE でのプロキシの構成
-
JetBrains IDE で、ファイル メニュー (Windows) またはメニュー バー (macOS) のアプリケーションの名前をクリックし、設定 をクリックします。
-
[外観と動作] で、 [システム設定] をクリックし、 [HTTP プロキシ] をクリックします。
-
[手動でプロキシを設定する] を選択し、 [HTTP] を選択します。
-
[ホスト名] フィールドにプロキシ サーバーのホスト名を入力し、[ポート番号] フィールドにプロキシ サーバーのポート番号を入力します。
-
必要に応じて、証明書エラーを無視するように Copilot を構成するには、左側のサイドバーで ツール をクリックし、サーバー証明書 をクリックし、信頼されていない証明書を自動的に受け入れる を選択または選択解除します。
警告
セキュリティの問題が発生する可能性があるため、認証エラーを無視することはお勧めしません。
基本認証
JetBrains の GitHub Copilot では、基本認証がサポートされます。 認証するには、[手動プロキシ構成] ページで プロキシ認証 を選択し、資格情報を入力します。
これにより、資格情報がエディターの設定にプレーンテキストとして格納されます。 また、プロキシ URL (例: http://USERNAME:PASSWORD@10.203.0.1:5187/
) に自分の資格情報を含めてから、「GitHub Copilot のプロキシ設定を構成する」に記載されているサポート対象の環境変数のいずれかとしてこの URL を設定することもできます。
data variables.product.prodname_vscode %}でプロキシを構成
-
File メニューで Preferences に移動し、 Settings をクリックします。
-
[設定] タブの左側のパネルで、 [アプリケーション] をクリックし [プロキシ] を選びます。
-
[Proxy] の下のテキスト ボックスに、プロキシ サーバーのアドレスを入力します (例:
http://localhost:3128
)。 -
必要に応じて、証明書エラーを無視するように Copilot を構成するには、[Proxy Strict SSL] でチェックボックスをオンまたはオフにします。
警告
セキュリティの問題が発生する可能性があるため、認証エラーを無視することはお勧めしません。
基本認証
VS Code の GitHub Copilot では、基本認証をサポートします。 認証するには、たとえば http://USERNAME:PASSWORD@10.203.0.1:5187/
、プロキシ URL に資格情報を含めることができます。 この URL は、VS Code 設定、または「GitHub Copilot のプロキシ設定を構成する」に記載されている環境変数のいずれかに格納できます。
Visual Studio でのプロキシの構成
Visual Studio の GitHub Copilot は、Windows からプロキシ設定を読み取ります。 Windows でプロキシ設定を構成する方法については、Microsoft ドキュメントの「Windows でプロキシ サーバーを使用する」のプロキシ サーバー接続を手動で設定するにはの手順を参照してください。
基本認証
Visual Studio の GitHub Copilot は、Windows 設定から認証資格情報を取得しません。 プロキシに対する認証が必要な場合は、プロキシ URL (例: http://USERNAME:PASSWORD@10.203.0.1:5187/
) に資格情報を含めることができます。次に、「GitHub Copilot のプロキシ設定を構成する」に記載されているサポート対象の環境変数のいずれかとしてこの URL を設定します。
Kerberos を使用した認証
Kerberos は、ユーザーとサービスが相互に ID を証明できるようにする認証プロトコルです。 ユーザーが正常に認証されると、認証サービスは、一定期間サービスへのアクセス権をユーザーに付与するチケットをユーザーに付与します。 ネットワーク管理者は、より安全で暗号化されていない認証情報を送信する必要がないため、ベーシック認証よりもKerberosを好むかもしれません。
GitHub Copilot では、Kerberos を使用したプロキシへの認証がサポートされています。 Kerberos を使用するには、お使いのコンピューターにインスト���ルされているオペレーティング システムに適切な krb5 ライブラリと、プロキシ サービスのアクティブ なチケットが必要です (kinit
コマンドを使用して手動 で作成するか、別のアプリケーションによって作成されます)。 この klist
コマンドを 使用して、プロキシ サービスのチケットがあるかどうかを確認できます。
Kerberos はサービスプリンシパル名(SPN)を使ってサービス・インスタンスを一意に識別します。 既定では、SPN はプロキシ URL から派生します。 たとえば、プロキシ URL が http://proxy.example.com:3128
である場合、SPN は HTTP/proxy.example.com
です。
プロキシの既定の SPN が正しくない場合は、VS Code と JetBrains IDE で SPN をオーバーライドできます。 現在、Visual Studio の既定の SPN をオーバーライドすることはできません。 ただし、環境変数 AGENT_KERBEROS_SERVICE_PRINCIPAL
を使用して、Visual Studio および JetBrains IDE の SPN をオーバーライドできます。
VS Code の既定のSPNのオーバーライド
-
Shift+Command+P (Mac) または Ctrl+Shift+P (Windows/Linux))を押して、VS Code Command Palette を開きます。
-
settings
を入力して、ユーザー設定:Open User Settings (JSON) をクリックします。 -
JSON オブジェクトで、次の最上位レベルのプロパティを追加し、
YOUR-SPN
プロキシ サービスの正しい SPN に置き換えます。JSON "http.proxyKerberosServicePrincipal": "YOUR-SPN",
"http.proxyKerberosServicePrincipal": "YOUR-SPN",
JetBrains IDE での既定の SPN のオーバーライド
- JetBrains IDE で、ファイル メニュー (Windows) またはメニュー バー (macOS) のアプリケーションの名前をクリックし、設定 をクリックします。
- 左側のサイドバーで、言語とフレームワークをクリックし、GitHub Copilot をクリックします。
- "Advanced" セクションの [Kerberos プロキシ サービス プリンシパル名のオーバーライド] フィールドに、プロキシ サービスの SPN を入力します。
GitHub Copilot によるカスタム証明書の使用の許可
Copilot は、ユーザーのマシンにインストールされているカスタム SSL 証明書を読み取ることができます。 これにより、ネットワーク トラフィックを検査できるように、プロキシ サーバーを Copilot のセキュリティで保護された接続の目的の受信者として識別できます。 カスタム証明書がない場合、HTTP プロキシを使用して Copilot の接続を監視、ルーティング、終了できますが、トラフィックの内容の検査はできません。
Copilot は、オペレーティング システムの信頼ストアから証明書を読み取ります。 また、標準の Node.js 環境変数 NODE_EXTRA_CA_CERTS
で指定されたファイルから追加の証明書を読み取ります。 ���細については、「Node.js に関するドキュメント」を参照してください。
Copilot は、プロキシがユーザーのコンピューターで直接構成されているかどうかに関係なく、証明書を読み取ることができます。 これにより、Copilot は、透過的なプロキシや Zscaler などのセットアップをサポートできます。
カスタム証明書のインストール
一般に、会社の機器を使用している場合は、会社の IT 部門がコンピューターに必要な証明書を既にインストールしている必要があります。 証明書をインストールする必要がある場合は、次の手順を参照してください。
警告
カスタム証明書のインストールは、コンピューターが証明書の作成者を信頼するための指示であり、作成者がコンピューターからのすべてのインターネット トラフィックを傍受できる可能性があります。 正しい証明書をインストールしていることを確認するには、十分に注意する必要があります。
- Windows の場合は、「Microsoft ドキュメントの信頼されたルート証明書のインストール」 を参照してください。
- macOS の場合は、「キーチェーン アクセス ユーザー ガイド」の Mac でキーチェーン アクセスを使用してキーチェーンに証明書を追加するを参照してください。
- Linux の場合は、「Ubuntu ドキュメント」の「トラストストアにルートCA 証明書をインストールする」を参照してください。 ほとんどの Linux ディストリビューションにも同様の手順を適用する必要があります。
証明書をインストールしたのに、Copilot で検出されない場合は、「GitHub Copilot のネットワークエラーのトラブルシューティング」を参照してください。