Skip to main content

GitHub Copilot のネットワーク設定

HTTP プロキシを介して GitHub Copilot に接続し、カスタム証明書を使用できます。

GitHub Copilot のネットワーク設定を使用すると、HTTP プロキシ経由で GitHub に接続し、カスタム証明書を使用できます。

Copilot のプロキシ設定

既定では、Copilot は、セキュリティで保護された HTTPS 接続を介して、ご利用の環境から GitHub のサーバーに直接接続します。 Copilot を使用するために、必ずしも追加のネットワーク設定の構成は必要はありません。

一部のネットワークでは、HTTP プロキシ サーバーを使用してインターネット トラフィックをインターセプトしてから、目的の場所に送信します。 企業では、多くの場合、HTTP プロキシを使用して疑わしいトラフィックを検出したり、ネットワークに入るコンテンツを制限したりします。 企業ネットワークで作業している場合は、HTTP プロキシ経由で接続するように Copilot の構成が必要な場合があります。

メモ

プロキシ サーバーまたはファイアウォールの管理者は、Copilot が期待どおりに動作するようにネットワーク設定を構成する必要もあります。 「許可リストの参考情報」を参照してください。

Copilot は、基本的な HTTP プロキシ設定をサポートします。 プロキシに対して認証が必要な場合、Copilot は Kerberos による基本認証または認証をサポートします。 プロキシ URL が開始 https://された場合、プロキシは現在サポートされていません。

エディターでプロキシを直接構成しない場合、Copilot は、優先度が最も高いものから最も低いものまで、次のいずれかの環境変数にプロキシ URL が設定されているかどうかを確認します。

  • HTTPS_PROXY
  • https_proxy
  • HTTP_PROXY
  • http_proxy

メモ

これらの変数のいずれかを使用して、標準 HTTP プロキシの URL を格納できます。 標準的な使用では、http これらの変数の一部と https 一部は、プロキシ自体の URL ではなく、行われる要求の種類を参照します。 Copilot はこの規則に従わず、HTTP 要求と HTTPS 要求の両方のプロキシとして、優先度が最も高い変数に格納されている 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 を使用して、VS Code および JetBrains IDE の SPN をオーバーライドできます。

カスタム証明書

Copilot は、ユーザーのマシンにインストールされているカスタム SSL 証明書を読み取ることができます。 これにより、ネットワーク トラフィックを検査できるように、プロキシ サーバーを Copilot のセキュリティで保護された接続の目的の受信者として識別できます。 カスタム証明書がない場合、HTTP プロキシを使用して Copilot の接続を監視、ルーティング、終了できますが、トラフィックの内容の検査はできません。

Copilot は、オペレーティング システムの信頼ストアから証明書を読み取ります。 また、標準の Node.js 環境変数 NODE_EXTRA_CA_CERTSで指定されたファイルから追加の証明書を読み取ります。 詳細については、「Node.js に関するドキュメント」を参照してください。

Copilot は、プロキシがユーザーのコンピューターで直接構成されているかどうかに関係なく、証明書を読み取ることができます。 これにより、Copilot は、透過的なプロキシや Zscaler などのセットアップをサポートできます。

次のステップ

ご利用のエディターでネットワーク設定を構成する方法については、「GitHub Copilot のネットワーク設定の構成」を参照してください。