セキュリティモデル
作業にリモートサーバーへのアクセスが含まれる場合、ローカルマシンとバックエンド間の接続が安全で、やり取りされるすべてのデータが十分に暗号化されていることを確認してください。
リモート開発セキュリティモデルでは、作業のほぼすべてのセキュリティ面を制御できます。
IDE のコンポーネントはサーバー側とクライアント側の両方で実行されています。 バックエンドで読み込まれた情報は追加のユーザー操作なしでクライアントに転送される場合があり、クライアントに提供された情報も追加のユーザー操作なしでサーバー側プロセスに転送される場合があります。
接続セキュリティ
JetBrains Client と IDE バックエンド間の通信は、安全な SSH トンネルで実行される場合でも、1.3 TLS でエンドツーエンド暗号化されます。 JetBrains は TLS 1.3 を使用し、それに加えて SSH セキュリティ接続が使用されます。
リモート開発ではルート証明書による信頼階層が存在しないため、中間者攻撃が発生しないことを確認するため、追加の手動チェックが行われます。
通常の接続リンクは次のとおりです:
接続時に、クライアントはホスト証明書のフィンガープリントが正確に
fpであることを確認します。 ホストが正しいことをクライアントに対して検証します (サードパーティーにハイジャックされていない)接続時に、ホストは、クライアントがワンタイム接続トークン
jtを提供することを確認します。 このトークンを知らないこのポートの接続を拒否します。
この接続を介して認証情報を転送したり、パブリックスペースを介してこの接続データを渡したりすることは安全です。 Code With Me も同様です。
ログと統計の収集
JetBrains は、ユーザーの権限に基づいて統計とログを収集します。 デフォルトでは、データ共有はすべてのリリースバージョンで無効化されており、 プレビューおよび早期アクセスプログラム(EAP) バージョンの GoLand で有効化されています。
データ共有を構成する
使用統計情報を送信する を選択すると、JetBrains が GoLand を使用する際に利用する機能やアクションに関する匿名統計情報を収集できるようになります。

EAP バージョン使用時に使用統計情報を送信する チェックボックスを選択すると、JetBrains が GoLand を使用する際に利用する機能やアクションに関する統計情報を収集できるようになります。

このデータの収集と使用に関する詳細については、 データ共有設定を参照してください。
ログの収集
JetBrains がログの収集と送信を求める際、ログに機密データが含まれている可能性があることも警告します。
メインメニューで へ移動します。
表示されたダイアログで、JetBrains へのデータ送信に同意する場合は Finder に表示 をクリックしてください。

JetBrains プライバシーポリシーの詳細については、 JetBrainsWeb サイト(英語)を参照してください。
任意のリンクを開く
IDE では、さまざまな機能を使用するためにブラウザーを開くことが必要になる場合があります。 サーバー側にはブラウザーがないことに注意してください。 この場合、リクエストは JetBrains Client にリダイレクトされます。
クライアントマシンで任意のリンクを開く前に、JetBrains は確認ダイアログを表示します。
コピーアンドペーストアクション
コピーペースト アクションは、実際の貼り付けの前にのみクリップボードのコンテンツを送信し、実際のコピー中にのみバックエンドがクリップボードを変更できるようにします。
SSH 転送設定
SSH 転送 設定では、SSH キー転送を使用して、リモートサーバーから Git リポジトリへのアクセスを認証できます。 または、SSH-agent ヘルパーを使用して同じ結果を得ることができます。
SSH 転送設定にアクセスする
Ctrl+Alt+S を押して設定を開き、 を選択します。
右側のオプションから SSH エージェント転送を有効化 を選択し、 OK をクリックして変更を保存します。

ポート転送
リモートサーバーのポートにアクセスするには、ローカルマシンに転送します。 デバッグの目的やファイアウォールのバイパスに役立つ場合があります。
実行ツールウィンドウを介してリモートポートを転送する
リモートセッションを開始し、プロジェクトを開きます。
アプリケーションの実行。
実行 ツールウィンドウで、アプリケーションはリスニングポートを表示します。

転送するポートをクリックし、オプションのリストから ポート転送 を選択します。
転送後にブラウザーを開きたい場合は、 ポートを転送してブラウザーで開く を選択してください。
その結果、リモートポートはローカルマシンに転送されます。

作成したポートをクリックして、ブラウザーで結果を確認します。

CLI 経由でフロントエンドのブラウザーでリンクを開く
リモートマシンからポートを転送することで、フロントエンドのブラウザーでリンクを開くことができます。 これは、バックエンドで Web サービスを実行している場合や、リモートで実行されるスクリプトにリンクがハードコードされている場合に役立ちます。
リモートプロジェクトを開きます。
リモートターミナル Alt+F12 を開きます。
ポートを転送するには、次のいずれかのコマンドを使用します。
idea openUrlOnClient http://localhost:$portremote-dev-server serverMode openUrlOnClient https://localhost:$port
バックエンドコントロールセンターを介してポート転送を管理する
バックエンドコントロールセンターを通じてポートを追加、削除、または編集できます。
ポートを追加する
リモートプロジェクトを開きます。
メインツールバーでバックエンドの名前をクリックして、バックエンドコントロールセンターウィンドウを開きます。

開いたウィンドウの ポート タブで、
をクリックして新しいポートを追加します。
を使用してポートを削除できます。 これは、プロジェクトの再起動時に
forwardedPorts.xmlファイルからも削除されます。指定されたフィールドにポート番号を入力し、 適用 をクリックして変更を保存します。

追加されたポートは
forwardedPorts.xmlファイルに保存されます。プロジェクトを再起動して、
forwardedPorts.xmlファイル内に追加されたポートを確認します。
ポートを削除する
リモートプロジェクトを開きます。
メインツールバーでバックエンドの名前をクリックして、バックエンドコントロールセンターウィンドウを開きます。
開いたウィンドウの ポート タブで、削除するポートを選択し、
をクリックします。
プロジェクトの再起動時に、ポートは
forwardedPorts.xmlファイルからも削除されます。
ポートを変更する
開いたウィンドウの ポート タブで、
をクリックして新しいポートを追加します。
指定されたフィールドにポート番号を入力し、ポートアドレスフィールドをクリックしてポート番号を変更してから、 適用 をクリックして変更を保存します。

次の点に注意してください:
ポートの転送を停止し、そのポートが他の開いているプロジェクトで使用されていない場合、そのポートは
forwardedPorts.xmlファイルから削除されます。アプリケーションを閉じると、ポート転送が停止します。 プロジェクトを再度開くと、ポートが
forwardedPorts.xmlファイル (プロジェクトごと) からロードされ、転送され、必要な場所に表示されます。
ポート転送を無効にする
セキュリティ上の理由から、特定のユーザーまたはシステム全体のポートフォワーディング設定を無効化することができます。
変更はホスト IDE 側で行う必要があります。
ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します:
システム全体の設定については、次のディレクトリにテキストファイルを作成します:
ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します:
システム全体の設定については、次のディレクトリにテキストファイルを作成します:
ユーザー固有の設定には、次のレジストリキーを使用します:
システム全体の設定には、次のレジストリキーを使用します:
SOFTWARE\JetBrains\portForwarding ディレクトリで、この設定の値で有効化されたキーを作成します。
ユーザーまたはシステム全体のポート転送を無効にする
セキュリティ上の理由から、 OsRegistryConfigProvider OS レジストリを使用して、特定のユーザーまたはシステム全体に対してポート転送 (porForwarding) を無効にすることができます。 レジストリの場所は、OS によって異なります。
ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します:
システム全体の設定については、次のディレクトリにテキストファイルを作成します:
ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します:
システム全体の設定については、次のディレクトリにテキストファイルを作成します:
ユーザー固有の設定には、次のレジストリキーを使用します:
システム全体の設定には、次のレジストリキーを使用します:
SOFTWARE\JetBrains\portForwarding ディレクトリで、この設定の値で有効化されたキーを作成します。
キーが存在しない場合、設定はデフォルトで true とみなされます。
リバースポート転送
リバースポートフォワーディングを設定すると、リモートマシンからローカルマシンへの接続を開始できます。 これは、たとえばモバイルデバイス上でアプリケーションを開発している場合や、ローカルマシン上のデータベースへのアクセスを必要とするリモートアプリケーションを開発している場合などに便利です。 リバースポートフォワーディングは永続化されるため、再接続時やプロジェクトを開いた際にポートが自動的に転送されます。
リバースポートフォワーディングを使用する場合に考慮し軽減すべき潜在的なセキュリティリスクがいくつかあります:
- 不正アクセス
信頼できるサーバーまたは個人とのみリバースポート転送を利用するようにしてください。
- データ漏洩
機密データを転送する場合は、必ず暗号化してください。
- マルウェア
マシン上のセキュリティツールが定期的に更新されていることを確認してください。
リバースポート転送を構成する
リモートプロジェクトを開きます。
バックエンドコントロールセンター を開きます。
開いたウィンドウで、 ポート タブをクリックし、
をクリックして新しいポートを追加し、 ローカルからリモートへ を選択します。
ポートのフィールドで必要なポート番号を追加し、 適用 をクリックします。

開いたダイアログで、ポート転送を要求しているリモートサーバーを信頼していることを確認し、 許可 をクリックします。

リバースポート転送を継続する
リモートプロジェクトに接続します。
リモートプロジェクトで Shift を 2 回押して Search Everywhere ウィンドウを開き、 レジストリ を入力します。

バックエンドホストとフロントエンド IDE の両方でフラグが有効になっていることを確認してください。
レジストリ (ホスト上) ツールウィンドウを開き(これはバックエンドです)、
portForwarding.store.reverse.enabledフラグを確認します。
フロントエンド側の レジストリ ツールウィンドウを開き、
rdct.portForwarding.store.reverse.enabledフラグを確認します。
リバースポート転送は永続化されます。 リバースポートに関する情報は、 forwardedPorts.xml ファイルの reversePorts セクションに保存されます。
JetBrains Client のダウンロード場所を変更する
ダウンロード後に JetBrains Client のフォルダーやファイルを保存する場所を再設定できます。
ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します:
ファイルの内容は path/to/directory です。
システム全体の設定については、次のディレクトリにテキストファイルを作成します:
ファイルの内容は path/to/directory です。
ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します:
ファイルの内容は path/to/directory です。
システム全体の設定については、次のディレクトリにテキストファイルを作成します:
ファイルの内容は path/to/directory です。
ユーザー固有の設定には、 HKEY_CURRENT_USER レジストリを使用します。
システム全体の設定には、 HKEY_LOCAL_MACHINE レジストリを使用します。
SOFTWARE\\JetBrains\\JetBrainsClient で、 path/to/directory を含む値でキー downloadDestination を作成します。