# RDP接続

## 概要

KeeperPAMは、RDPプロトコルを使用して、対象インフラに対するゼロトラスト特権セッション管理を実現します。本ページでは、Keeperボルト内のPAMマシンレコードでRDP接続を設定する方法をご紹介します。ボルトからKeeperゲートウェイを経由し、安全なRDPセッションが対象デバイスへ直接確立されます。

## 要件 <a href="#prerequisites" id="prerequisites"></a>

まず、接続の「[はじめに](https://docs.keeper.io/jp/keeperpam/privileged-access-manager/connections/getting-started)」のページに記載されている要件をご確認ください。

本プロトコルを設定するには、以下のPAMレコードが必要となります。

<table><thead><tr><th width="198.12109375">PAMレコード</th><th>説明</th></tr></thead><tbody><tr><td><a href="../../getting-started/pam-configuration">PAM構成</a></td><td>対象のインフラに関する情報が含まれています。</td></tr><tr><td><a href="../../getting-started/pam-resources/pam-machine">PAMマシン</a>レコード</td><td>SSHプロトコル接続を確立したいエンドポイントに関する情報が含まれています。</td></tr><tr><td><a href="https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/privileged-access-manager/getting-started/pam-resources/pam-user/README.md">PAMユーザー</a>レコード</td><td>エンドポイントに接続するために使用されるユーザー認証情報が含まれています。</td></tr></tbody></table>

本ページでは、Azure VMを例に設定方法を説明します。PAMマシンレコードでの具体的な設定方法については、[こちらのページ](https://docs.keeper.io/jp/keeperpam/privileged-access-manager/getting-started/pam-resources/pam-machine/example-azure-virtual-machine)をご参照ください。

## PAM設定 - RDPプロトコルの構成

### 接続設定へのアクセス

対象のエンドポイントを使用してPAMレコードタイプ (PAMマシン、PAMデータベース、PAMディレクトリ) を作成した後、以下の手順でPAM設定画面の **\[接続]** セクションに移動します。

1. PAMレコードを編集します。
2. PAM設定セクション内の **\[セットアップ]** をクリックします。
3. 表示されたウィンドウで **\[接続]** セクションに移動します。

### 接続設定の構成

PAM設定画面でRDPプロトコル設定を構成する前に、以下のフィールドを構成する必要があります (**必須**)。

<table><thead><tr><th width="255.5078125">フィールド</th><th>説明</th></tr></thead><tbody><tr><td>PAM構成</td><td>対象インフラの詳細を含み、PAMレコードで構成されている対象へのアクセスを提供します。</td></tr><tr><td>管理者認証情報レコード</td><td>リンクされた<a href="https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/privileged-access-manager/getting-started/pam-resources/pam-user/README.md">PAMユーザー</a>で、対象への認証と管理操作を実行するために使用されます。</td></tr></tbody></table>

以下の表は、PAM設定でのRDPプロトコルに関する接続設定の一覧です。

<table><thead><tr><th width="256.2734375">フィールド</th><th>説明</th></tr></thead><tbody><tr><td>プロトコル</td><td><strong>必須</strong><br>レコードに設定するプロトコルです。選択したプロトコルに基づいて、プロトコル設定が自動的に反映されます。本ページでは、RDPプロトコルを選択してください。</td></tr><tr><td>接続を有効にする</td><td><strong>必須</strong><br>このレコードで接続を有効にするには、このトグルをオンにします。</td></tr><tr><td>セッション録画</td><td>有効にすると、このレコードに対してグラフィカルセッションの録画が有効になります。</td></tr><tr><td>キー入力イベントを含める</td><td>有効にすると、セッション再生時に個別のキー入力データが含まれるようになります。注: ユーザーが入力した機密情報も記録される可能性がありますのでごご留意ください。</td></tr><tr><td>接続ポート</td><td><p>選択したプロトコル接続を確立するために使用されるポートです。デフォルトでは、PAMマシンレコードで定義されたポート値が使用されます。ここでポートを指定すると、デフォルトのポートが上書きされます。</p><p>RDPの場合、ポートは3389です。</p></td></tr><tr><td>接続用認証情報</td><td>構成すると、接続の認証にこれらの認証情報が使用されます。詳しくは<a href="#jie-xu-ren-zheng-fang-shi">こちら</a>を参照。</td></tr><tr><td>ボルトから認証情報を選択できるようにする</td><td>有効にすると、ユーザー自身の個人用認証情報を使用して接続を認証できるようになります。詳しくは<a href="#jie-xu-ren-zheng-fang-shi">こちら</a>を参照。</td></tr><tr><td>セッション終了時に接続用認証情報をローテーションする</td><td>有効にすると、セッション終了時に、構成された接続用認証情報が自動的にローテーションされます。</td></tr><tr><td>セキュリティモード</td><td>RDP接続で使用するセキュリティモード。データの暗号化方法や認証の種類を決定します。通常は自動ネゴシエーションが行われます。<br>使用できる値:<br>• <code>any</code>: サーバーとネゴシエートし、RDPサーバーが好みのモードを選択 (デフォルト)<br>• <code>NLA</code>: ネットワークレベル認証 (TLS使用)。"hybrid" や CredSSP とも呼ばれる<br>• <code>RDP Encryption</code>: 標準的なRDP暗号化 (新しいWindowsサーバーでは通常無効)<br>• <code>TLS Encryption</code>: TLS (Transport Layer Security)<br>• <code>Hyper-V/VMConnect</code>: Hyper-V/VMConnectでサポートされるプロトコルの中から自動選択。<strong>Hyper-V仮想マシンのコンソールに接続する場合はこのモードが必要です。</strong><br>デフォルト値: <code>any</code></td></tr><tr><td>認証の無効化</td><td>有効にすると接続時の認証が無効になります。ただし、リモートデスクトップセッション中にサーバー側で強制される認証 (ログイン画面など) は引き続き行われます。通常は認証は有効で、サーバーから要求された場合に使用されます。<strong><code>NLA</code>を使用する場合は、認証は必須です。</strong></td></tr><tr><td>サーバー証明書の無視</td><td>有効にすると、サーバーから返された証明書が検証できなくても無視されます。自己署名証明書など、サーバーが信頼できるとわかっている場合に便利です。</td></tr><tr><td>ロードバランス情報/クッキー</td><td>接続ブローカーに提供されるロードバランス情報またはクッキー。接続ブローカーを使用していない場合は空欄にします。</td></tr><tr><td>RDPソースID</td><td>RDPソースの数値ID。複数の論理RDP接続の中からどれを使用するかを指定します。RDPサーバーがこれを必要とする場合のみ設定してください。Hyper-Vを使用している場合は空欄のままで構いません。</td></tr><tr><td>事前接続BLOB (VM ID)</td><td>RDPソースを識別する任意の文字列。複数の論理RDP接続が同じサーバーに存在する場合に使用されます。RDPプロトコル自体はこの値を解釈せず、意味はサーバー側に依存します。Hyper-Vの場合は、接続先仮想マシンのIDを指定します。</td></tr><tr><td>クリップボードにコピー</td><td>有効にすると、接続されたプロトコルセッション内でコピーされたテキストはユーザーがアクセスできるようになります。</td></tr><tr><td>クリップボードから貼り付け</td><td>有効にすると、ユーザーは接続されたプロトコルセッション内でクリップボードからテキストを貼り付けることができます。</td></tr><tr><td>SFTPを有効にする</td><td>有効にすると、SFTPを使用して、ユーザーが対象システムへファイルを安全にアップロードできるようになります。対象システム側では、SSHキー認証またはパスワード認証のいずれかを設定し、有効化しておく必要があります。対象システムにOpenSSHをまだ設定していない場合は、Microsoft公式サイトに掲載されている、<a href="https://learn.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell&#x26;pivots=windows-server-2022">Windows向けOpenSSHの設定手順</a>をご参照ください。</td></tr><tr><td>オーディオの無効化</td><td>デフォルトではオーディオ出力は常に有効になっています。帯域幅を節約したい場合や、オーディオが問題を引き起こす場合には、無効にすることができます。</td></tr><tr><td>起動プログラム</td><td>接続時に直ちに実行する起動プログラムのフルパスを指定します。</td></tr><tr><td>クライアント名</td><td>RDPサーバーに接続する際、通常はKeeperが自身のホスト名をクライアント名 (<code>client-name</code>) として送信します。<br>このパラメーターを指定すると、Keeperはその値をクライアント名として使用します。WindowsのRDPサーバーでは、この値はセッション内で <strong>CLIENTNAME</strong> 環境変数として参照できます。</td></tr><tr><td>キーボードレイアウト</td><td><p>RDPサーバーで使用されるキーボードレイアウトを指定します。指定できる値は次のとおりです。</p><ul><li><code>"da-dk-qwerty"</code>: デンマーク語</li><li><code>"de-ch-qwertz"</code>: スイスドイツ語</li><li><code>"de-de-qwertz"</code>: ドイツ語</li><li><code>"en-gb-qwerty"</code>: 英国英語</li><li><code>"en-us-qwerty"</code>: 米国英語 (デフォルト)</li><li><code>"es-es-qwerty"</code>: スペイン語</li><li><code>"es-latam-qwerty"</code>: 中南米スペイン語</li><li><code>"fr-be-azerty"</code>: ベルギーフランス語</li><li><code>"fr-ch-qwertz"</code>: スイスフランス語</li><li><code>"fr-fr-azerty"</code>: フランス語</li><li><code>"hu-hu-qwertz"</code>: ハンガリー語</li><li><code>"it-it-qwerty"</code>: イタリア語</li><li><code>"ja-jp-qwerty"</code>: 日本語</li><li><code>"pt-br-qwerty"</code>: ブラジルポルトガル語</li><li><code>"sv-se-qwerty"</code>: スウェーデン語</li><li><code>"tr-tr-qwerty"</code>: トルコ語 (Q配列)</li><li><code>"failsafe"</code>: すべてのキーに対して、キーイベントではなくUnicodeイベントを強制的に使用します</li></ul><p><strong>これはRDPサーバー側のキーボードレイアウトであり、クライアントで使用しているキーボードレイアウトとは関係ありません。</strong>Keeperのボルトクライアントはキーボードレイアウトに依存しませんが、RDPプロトコルは依存します。そのため、ユーザーが入力したキーを正しく送信するには、Keeperがサーバー側のキーボードレイアウトを把握している必要があります。</p></td></tr><tr><td>タイムゾーン</td><td>クライアントがサーバーに送信するタイムゾーンを指定します。これは、サーバー側で表示されるローカル時刻を構成するために使用されます。タイムゾーンの形式は、UNIX/Linuxで使用されている標準の <strong>IANAタイムゾーン識別子</strong> です。この値は、RDPによってWindows用の正しい形式に変換されます。クライアントのタイムゾーン転送に対応しているかどうかは、RDPサーバーの実装によって異なります。たとえばWindowsの場合、タイムゾーン転送がサポートされているのは、<strong>リモートデスクトップサービス (RDS、旧称Terminal Services)</strong> がインストールされたWindows Serverのみです。管理モードで動作しているWindows Serverや、WindowsクライアントOSでは、タイムゾーンを転送できません。また、XRDPなどの他のRDPサーバー実装では、この機能自体が実装されていない場合もあります。この機能が利用可能かどうかについては、使用しているRDPサーバーのドキュメントをご確認ください。</td></tr><tr><td>マルチタッチを有効にする</td><td><p>RDP接続でタッチ操作のサポートを有効にする場合は、<code>true</code> に設定します。RDPでマルチタッチを有効にすると、タッチイベントがリモートデスクトップへそのまま転送されます。この機能を使用するには、RDPサーバーが <strong>RDPEIチャネル</strong> をサポートしている必要があります。</p><p>このパラメーターは、Keeper自体がタッチイベントをサポートするかどうかを制御するものではありません。Keeperは常にタッチイベントをサポートしており、デフォルトではタッチ操作をマウス操作としてエミュレートします。このパラメーターは、タッチイベントをマウス操作としてエミュレートするのではなく、RDPサーバーへ直接転送するかどうかのみを制御します。</p></td></tr><tr><td>管理者コンソール</td><td><code>true</code> に設定すると、RDPサーバーのコンソール (管理者) セッションに接続されます。</td></tr></tbody></table>

### 表示パラメータ

Keeperボルトクライアントは、ブラウザウィンドウのサイズやデバイスのDPIに基づいて、RDP接続に適した表示サイズを自動的に選択します。幅や高さの値を明示的に指定することで、表示サイズを固定することもできます。また、帯域幅の使用量を抑えるために、サーバー側の色深度を下げるよう指定することも可能です。

| フィールド     | 説明                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 幅         | 要求する表示幅をピクセル単位で指定します。この値を指定しない場合は、接続元クライアントの表示幅が使用されます。                                                                                                                                                                                                                                                                                                                                                                        |
| 高さ        | 要求する表示高さをピクセル単位で指定します。この値を指定しない場合は、接続元クライアントの表示高さが使用されます。                                                                                                                                                                                                                                                                                                                                                                      |
| 解像度 (DPI) | クライアント表示の有効な解像度をdpi単位で指定します。この値を指定しない場合は、クライアントの表示サイズと解像度をもとに、RDPセッションに適した解像度が自動的に判定されます。                                                                                                                                                                                                                                                                                                                                      |
| 色深度       | 要求する色深度を、1ピクセルあたりのビット数で指定します。指定できる値は8、16、24です。なお、ここで指定した値に関わらず、Keeperは画像品質に影響がない場合には、自動的にビット数を減らして転送を最適化します。                                                                                                                                                                                                                                                                                                                   |
| ロスレス圧縮を強制 | `true` に設定すると、すべての画面更新でロスレス圧縮アルゴリズムが使用されます。デフォルトでは、Keeperがロスレス圧縮よりも効率的と判断した場合に、可逆でない圧縮が自動的に使用されます。                                                                                                                                                                                                                                                                                                                             |
| リサイズ方法    | <p>クライアント表示の幅または高さが変更された際に、RDPサーバーへどのように反映するかを指定します。この値を指定しない場合、クライアント表示サイズが変わっても何も行われません。通常、RDPセッションの表示サイズは接続時にのみ設定でき、接続中に変更することはできません。RDP 8.1以降では「Display Update」チャネルを使用して、サーバーに表示サイズの変更を要求できます。古いRDPサーバーでは、一度切断して再接続する方法しかありません。</p><p>指定できる値は次のとおりです。</p><p><code>display-update</code>: RDP 8.1で追加された「Display Update」チャネルを使用して表示サイズ変更を通知します</p><p><code>reconnect</code>: クライアント表示サイズが変更された際に、自動的にRDPセッションを切断して再接続します</p> |
| 読み取り専用    | `true` に設定すると、接続では一切の入力を受け付けません。ユーザーはデスクトップやアプリケーションを表示できますが、操作することはできません。                                                                                                                                                                                                                                                                                                                                                     |

### クリップボードのパラメータ

Keeperボルトクライアントでは、RDP接続時にデフォルトで**双方向のクリップボード共有**が有効になっています。この動作は、接続ごとに上書き設定し、クリップボードへのアクセスを制限できます。

| フィールド                | 説明                                                                                                                         |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| リモートデスクトップからのコピーを無効化 | `true` に設定すると、RDPセッション内でコピーしたテキストは、Keeperセッションのブラウザー側では使用できなくなり、リモートデスクトップ内でのみ利用可能になります。デフォルトでは、コピーしたテキストはブラウザー側からも利用できます。 |
| クライアントからの貼り付けを無効化    | `true` に設定すると、Keeperセッションのブラウザー側でコピーしたテキストは、RDPセッション内で使用できなくなります。デフォルトでは、ブラウザー外部のデータをRDPセッション内に貼り付けることができます。               |

### デバイスリダイレクトのパラメータ

デバイスリダイレクトとは、RDPを通じて表示デバイス以外のデバイスを利用する仕組みを指します。KeeperボルトクライアントのRDP対応では、現在、**音声 (出力および入力)**、**印刷**、**ディスクアクセス**のリダイレクトがサポートされています。これらの一部は、正しく動作させるために追加の構成が必要です。

* **音声出力**\
  音声出力は、デフォルトで常に有効になっています。\
  無効化したい場合のみ、音声出力に関する設定を変更する必要があります。
* **音声入力**\
  音声入力を有効にすると、リモートデスクトップセッション内でローカルのマイクを使用できます。ただし、多くの環境ではグループポリシーによって音声入力が無効化されているため、Windows側で追加の設定が必要になる場合があります。また、古いWindowsバージョンでは、リモートデスクトップ経由の音声入力自体がサポートされていないことがあります。
* **印刷**\
  印刷を有効にすると、任意のドキュメントを直接PDFとして出力できます。リダイレクトされたプリンターに印刷すると、該当ドキュメントはPDFファイルとしてウェブブラウザ上でダウンロードされます。
* **ファイル転送**\
  ファイル転送を有効にすると、仮想ディスクドライブをエミュレートする形で提供されます。\
  このドライブは、指定されたドライブパス内に制限された状態で、Keeperゲートウェイ上に保持されます。この機能は近日提供予定です。

| フィールド              | 説明                                                                                                                                                                       |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| コンソールセッションで音声をサポート | `true` に設定すると、RDPサーバーのコンソール (管理者) セッションで音声が明示的に有効になります。このオプションは、**「管理者コンソール」** パラメータも `true` に設定されている場合にのみ意味を持ちます。                                                       |
| 音声を無効化             | 音声出力はデフォルトで常に有効になっています。帯域幅の使用量が気になる場合や、音声が問題を引き起こす場合は、このパラメーターを `true` に設定することで、音声出力を明示的に無効化できます。                                                                        |
| 音声入力 (マイク) を有効化    | `true` に設定すると、RDPの標準 **AUDIO\_INPUT** チャネルを使用して音声入力 (マイク) が有効になります。デフォルトでは、RDP内での音声入力は無効になっています。                                                                         |
| 印刷を有効化             | `true` に設定すると、RDPセッション内でリダイレクトされたプリンターが利用可能になり、ユーザーはPDFとして印刷できます。印刷されたPDFは、ユーザーのブラウザに自動的にダウンロードされます。デフォルトでは、印刷は無効になっています。                                                |
| リダイレクトされたプリンタ名     | RDPセッションに渡されるリダイレクトプリンターの名前を指定します。この名前は、アプリケーション内や「デバイスとプリンター」コントロールパネルでユーザーに表示されます。印刷のリダイレクトが有効になっていない場合、このパラメータは無視されます。                                                |
| ドライブを有効化 (近日提供予定)  | `true` に設定すると、RDPセッション内でリダイレクトされた仮想ドライブが利用可能になり、ユーザーはファイル転送を行えます。仮想ドライブの内容は、「ドライブパス」パラメーターで指定したディレクトリ内に、Keeperゲートウェイ上で保持されます。デフォルトでは、ドライブリダイレクトは無効です。                    |
| ドライブ名 (近日提供予定)     | RDPセッションに渡されるファイルシステムの名前を指定します。この名前は、ユーザーの「コンピューター/マイコンピューター」画面に、クライアント名とともに表示されます。また、特別なネットワークパス `\\tsclient` にアクセスした際の共有名としても使用されます。ドライブリダイレクトが有効でない場合、このパラメータは無視されます。 |
| ドライブパス (近日提供予定)    | 転送されたファイルを保存する、Keeperゲートウェイ上のディレクトリを指定します。ドライブリダイレクトが有効でない場合、このパラメーターは無視されます。                                                                                            |

### パフォーマンス関連のパラメーター/フラグ

RDPには、壁紙、ウィンドウのテーマ、メニュー効果、アンチエイリアスされたフォントなど、見た目を向上させる代わりにパフォーマンスを低下させ、帯域幅の使用量を増やす機能を制御するための複数のフラグがあります。Keeperでは、帯域幅の使用量を最小限に抑えるため、これらの機能はデフォルトですべて無効になっています。ただし、必要に応じて、接続ごとに手動で再有効化することも可能です。

| フィールド                        | 説明                                                                                                                                             |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| 壁紙を有効化                       | `true` に設定すると、デスクトップの壁紙が描画されます。デフォルトでは、不要な帯域幅消費を避けるため、壁紙は無効になっています。                                                                            |
| テーマを有効化                      | `true` に設定すると、ウィンドウやコントロールのテーマ表示が有効になります。デフォルトでは、RDPセッション内のテーマ表示は無効です。                                                                         |
| フォントのスムージング (ClearType) を有効化 | `true` に設定すると、文字が滑らかな縁で描画されます。デフォルトでは、使用する色数を減らして帯域幅を抑えるため、文字は粗い縁で描画されます。                                                                      |
| フルウィンドウドラッグを有効化              | `true` に設定すると、ウィンドウの移動中に内容が表示されます。デフォルトでは、ウィンドウをドラッグしている間は枠線のみが描画されます。                                                                         |
| デスクトップコンポジション (Aero) を有効化    | `true` に設定すると、半透明ウィンドウや影などの視覚効果が有効になります。デフォルトでは、利用可能な場合でも、これらの効果は無効になっています。                                                                    |
| メニューアニメーションを有効化              | `true` に設定すると、メニューの開閉アニメーションが有効になります。メニューアニメーションはデフォルトで無効です。                                                                                   |
| ビットマップキャッシュを無効化              | `true` に設定すると、RDPのビットマップキャッシュが使用されなくなります。デフォルトでは、ビットマップキャッシュは有効です。この設定は、ビットマップキャッシュの実装に既知の不具合があるRDPサーバーを使用している場合にのみ有用で、通常は有効のままにしてください。        |
| オフスクリーンキャッシュを無効化             | `true` に設定すると、現在表示されていない画面領域のキャッシュが無効になります。デフォルトでは、オフスクリーン領域のキャッシュは有効です。この設定は、オフスクリーンキャッシュの実装に既知の不具合があるRDPサーバーを使用している場合にのみ有用で、通常は有効のままにしてください。 |
| グリフキャッシュを無効化                 | `true` に設定すると、RDPのグリフキャッシュが使用されなくなります。デフォルトでは、グリフキャッシュは有効です。この設定は、グリフキャッシュの実装に既知の不具合があるRDPサーバーを使用している場合にのみ有用で、通常は有効のままにしてください。                 |

### RemoteAppのパラメータ

Windows Serverには、リモートデスクトップサービス(RDS) の機能として RemoteApp があります。RemoteAppを使用すると、RDP経由でフルデスクトップ環境を提供せずに、個別のアプリケーションのみを利用できます。Windows Serverでこの機能が有効かつ構成されている場合、または別の方法でRemoteAppが構成・有効化されている場合は、Keeperコネクションマネージャーを使用して、これらの個別アプリケーションへ接続できます。

Keeperを使用してRemoteAppにアクセスする主なメリット

* **集中管理**\
  管理者は、アプリケーション、更新、権限を単一の管理画面から制御できます。
* **シームレスなユーザー体験**\
  RemoteAppはブラウザ上で動作し、ユーザーにはネイティブアプリのように表示されます。
* **コスト効率**\
  エンドポイントごとのインストールやプラグインは不要で、デスクトップソフトウェアの配布・保守・セキュリティ管理の負担を軽減できます。
* **セキュリティの強化**\
  データやアプリケーションは安全なサーバー上に保持されます。RBAC、多要素認証、セッション記録にも対応しています。
* **クロスプラットフォーム対応**\
  macOS、Linux、モバイル端末のユーザーも、RDP、SSH、VNC、データベース接続を通じて、Windows専用アプリケーションや他のシステムにアクセスできます。

| フィールド    | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| プログラム    | <p>RDSホスト、またはRemoteAppが構成されている対象システム上で起動するリモートアプリケーションを指定します。接続を開始すると、ユーザーが利用できるのは、このアプリケーションのみです。</p><p>通常、アプリケーションを利用可能にするには、あらかじめ既存または新規作成した「コレクション」内で、「RemoteApp」プログラムとして公開しておく必要があります。ここでは、RemoteAppに設定した「エイリアス」(例:</p>                                                                                                                                                                                                                                                  |
| 作業ディレクトリ | <p>リモートアプリケーションで使用される作業ディレクトリを指定します(アプリケーションが対応している場合のみ)。すべてのアプリケーションが作業ディレクトリをサポートしているわけではありません。例えば、メモ帳などは対応していません。</p><p>MicrosoftのRemoteAppにおいて、作業ディレクトリとは、リモートアプリケーションがファイルを開いたり保存したりする際の既定のフォルダを指します。特に、特定の場所にあるデータや設定ファイルを前提として動作するレガシーアプリケーションでは重要です。</p><p>作業ディレクトリを指定する場合は、<code>C:\remoteworkingdir\</code> のようにディレクトリパスを入力します。</code></p>                                                                                                                          |
| パラメータ    | <p>リモートアプリケーションに渡すコマンドライン引数を指定します (必要な場合のみ)。すべてのアプリケーションがコマンドライン引数に対応しているわけではありません。</p><p>使用できる引数については、対象アプリケーションのコマンドラインに関する公式ドキュメントをご参照ください。</p><p>例として、RemoteAppの <code>cmd.exe</code> を起動する際に、コマンド拡張を有効化し、背景色や文字色を変更し、起動時に作業ディレクトリの内容を表示したい場合は、<code>/e:on /t:06 /k dir</code> を指定します。<code>cmd.exe</code> で使用できるその他のコマンドライン引数については、<a href="https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/cmd">Microsoftの公式ドキュメント</a>に例が掲載されています。</p> |

### 負荷分散のパラメータ (接続ブローカー)

リモートデスクトップサーバーがロードバランサーの背後に配置されている場合、そのロードバランサーは「接続ブローカー」や「TSセッションブローカー」と呼ばれることもあります。こうした構成では、受信した接続をどのように振り分けるかを判断するため、接続時に追加の情報が必要になることがあります。RDPでは、この情報の形式は規定されておらず、使用しているロードバランサー固有のものとなります。

ロードバランサーを使用していて、こうした情報が必要かどうか不明な場合は、**該当するロードバランサーのドキュメントを確認してください。**&#x30ED;ードバランサーが利便性のために `.rdp` ファイルを提供している場合は、その内容を確認し、`loadbalanceinfo` という文字列フィールドを探してください。このフィールドに、必要な情報やクッキーが指定されます。

| フィールド          | 説明                                                                        |
| -------------- | ------------------------------------------------------------------------- |
| ロードバランス情報/クッキー | 接続ブローカーに提供するロードバランス情報、またはクッキーを指定します。接続ブローカーを使用していない場合は、この項目は空欄のままにしてください。 |

### プレ接続PDU (Hyper-V)

一部のRDPサーバーでは、単一のTCPポートで待ち受けながら、複数の論理的なRDP接続をホストしています。これらの論理接続の中から接続先を選択するために、RDPクライアントは **「プレ接続PDU」** を送信する必要があります。プレ接続PDUは、接続先を一意に識別する値を含むメッセージで、この接続先は **「RDPソース」** と呼ばれます。この仕組みは、RDPプロトコルの **「Session Selection Extension」** として定義されており、MicrosoftのHyper-Vハイパーバイザーで実装されています。

Hyper-Vを使用している場合は、接続先となる仮想マシンのIDを **「プレ接続BLOB」** として指定する必要があります。この値は、PowerShellを使用して確認できます。

```
PS C:\> Get-VM VirtualMachineName | Select-Object Id 

Id
--
ed272546-87bd-4db9-acba-e36e1a9ca20a

PS C:\> 
```

プレ接続PDUは、意図的に汎用的な仕組みとして設計されています。主な用途は、Hyper-Vの背後にある仮想マシンを選択するためのものですが、他のRDPサーバーでも使用される場合があります。プレ接続ID、BLOB、またはその両方を使用するかどうか、またそれぞれの値が何を意味するかは、RDPサーバー側の実装に委ねられています。

Hyper-Vを使用する場合は注意が必要です。Hyper-Vに組み込まれているRDPサーバーでは、認証方式およびポート番号の両方について、標準とは若干異なるパラメータが使用されるため、Keeperのデフォルト設定はそのままでは動作しません。多くの場合、Hyper-Vに接続する際には次の設定が必要になります。

1. ユーザー名とパスワードを正しく指定し、セキュリティモードを `vmconnect` に設定します。\
   `vmconnect` セキュリティモードを選択すると、Hyper-Vでサポートされていることが分かっているセキュリティモードが自動的にネゴシエートされ、あわせてHyper-Vの既定のRDPポート(2179)が自動的に使用されます。
2. 必要に応じて、Hyper-Vで使用されているTLS証明書を無視します。Hyper-Vでは自己署名証明書が使用されている場合があります。

| フィールド            | 説明                                                                                                                                                                                                                                                                          |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RDPソースID         | <p>RDPソースを識別する数値IDを指定します。0以上の整数値で、同一のRDPサーバー上に存在する複数の論理RDP接続のうち、どれを使用するかを指定します。<br><br>このパラメータは、RDPサーバーのドキュメントで必要とされている場合にのみ指定します。<strong>Hyper-Vを使用する場合は、この項目は空欄のままにしてください。</strong></p>                                                                                   |
| プレ接続BLOB (VM ID) | <p>RDPソースを識別するための任意の文字列を指定します。これは、同一のRDPサーバー上にホストされている複数の論理RDP接続のうち、どれを使用するかを識別するためのものです。<br><br>このパラメータは、Hyper-Vなど、RDPサーバーのドキュメントで必要とされている場合にのみ指定します。RDPプロトコル自体は、この値の意味を解釈せず、その内容はRDPサーバー側の実装に依存します。<br><br><strong>Hyper-Vを使用する場合、この値には接続先となる仮想マシンのIDを指定します。</strong></p> |

### SFTPのパラメータ (ファイル転送)

Keeperでは、リモートデスクトップへのアクセスがRDP経由で行われている場合でも、SFTPを使用したファイル転送を提供できます。この機能は、RDPに組み込まれているドライブリダイレクト (RDPDR) によるファイル転送とは独立しており、特にRDPDRをサポートしていないRDPサーバーで有効です。なお、SFTPサーバーは、RDPサーバーと同一である必要はありません。

対象システムでは、対象となるSFTPユーザーに対して、SSHキー認証またはパスワード認証のいずれかを設定し、有効化しておく必要があります。対象システムにOpenSSHをまだ設定していない場合は、Microsoft公式サイトに掲載されている、[Windows向けOpenSSHのドキュメント](https://learn.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell\&pivots=windows-server-2022)をご参照ください。

| フィールド           | 説明                                                                                                                  |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| SFTPを有効化        | ファイル転送を有効にするかどうかを指定します。`true` に設定すると、指定したサーバーに対してSFTPを使用したファイルのアップロードおよびダウンロードが可能になります。省略した場合、SFTPは無効になります。         |
| SFTPユーザー        | SFTP接続時に使用する認証情報として指定する「PAMユーザー」レコードです。SFTPを有効化する場合、このパラメータは必須です。                                                   |
| 既定のアップロードディレクトリ | ファイルをドラッグ＆ドロップでアップロードする際に、アップロード先が明示されていない場合に使用されるディレクトリを指定します。空欄の場合は、既定のアップロード先として `C:\Users\<username>\` が使用されます。 |
| SFTPキープアライブ間隔   | SFTP接続において、SSHサーバーへキープアライブパケットを送信する間隔を秒単位で指定します。`0` を指定すると、キープアライブパケットは送信されません (デフォルトの動作)。指定できる最小値は `2` です。         |

## ファイル転送 (アップロード)

以下の画像では、接続セッションウィンドウにファイル `client_id.txt` をドラッグ＆ドロップして、対象システムにアップロードする様子を示しています。2枚目の画像では、ファイルがアップロードされ、デフォルトのアップロードディレクトリに保存されていることが確認できます。複数のファイルをドラッグ＆ドロップしてアップロードすることも可能です。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FIiQouxqbGj53DsCjJ26F%2Fimage.png?alt=media&#x26;token=32a2b7de-1749-4a38-a8a3-f2f45d5c7344" alt=""><figcaption></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2F0MV4OQE6veYbwU6P6Uzg%2Fimage.png?alt=media&#x26;token=d0eb904e-67b9-4b02-8b99-3fb1ac0617c5" alt=""><figcaption></figcaption></figure>

## ファイル転送 (ダウンロード)

現在、リモートのWindowsシステムからローカルマシンにファイルをダウンロードする唯一の方法は、KeeperPAMのSSH接続を使用し、`guacctl` というスクリプトを利用することです。

このスクリプトを使用するには、リモートマシンでWSL2と任意のLinuxディストリビューションを実行している必要があります。

対象システムに `guacctl` をダウンロードするには、対象システムへのKeeperPAM SSHセッションを開始し、任意のディレクトリで以下のコマンドを実行します。

```bash
wget -O guacctl https://raw.githubusercontent.com/apache/guacamole-server/master/bin/guacctl
```

ファイルを実行可能に変更します。

```bash
chmod +x guacctl
```

以下の構文でファイルのダウンロードを開始します。

```bash
./guacctl -d <filename> または <directory><filename>
```

**例**

```bash
./guacctl -d clientID.txt または /mnt/c/Users/helpdesk/Downloads/clientID.txt
```

複数のファイルをダウンロードする場合は、以下のようにファイル名をスペースで区切ります。

```bash
./guacctl -d <filename> <filename> または <filename> <directory><filename>
```

**例**

```bash
./guacctl -d clientID.txt /mnt/c/temp/license.txt
```

以下はその画像です。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FnoJecoUV6rlCqb25vcio%2Fimage.png?alt=media&#x26;token=8a57e88a-882d-4cd5-be0c-eefef6409764" alt=""><figcaption></figcaption></figure>

ローカルコンピュータに **\[ファイルを保存]** ウィンドウが表示され、任意の場所にファイルを保存できます。複数のファイルをダウンロードする場合は、各ファイルごとに順番に **\[ファイルを保存]** ウィンドウが表示されます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FfY9JFP8z1JHbm16GuCO9%2Fimage.png?alt=media&#x26;token=31ee333a-3c1d-4138-afac-6f1569a23a32" alt=""><figcaption></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FNgGv543sPHHM1DE0kQJ3%2Fimage.png?alt=media&#x26;token=e74449b6-6039-4929-abab-21dfc88ae6da" alt=""><figcaption></figcaption></figure>

## 接続認証方式

Keeperの接続は、以下のいずれかの方法で認証できます。

[**接続用認証情報**](#jie-xu-yong-ren-zheng-qing-bao)\
PAMマシン、PAMデータベース、またはPAMディレクトリのレコードタイプに直接設定された「接続用認証情報」を使用して、ターゲットへのセッションが認証されます。ユーザーは接続のためにこの認証情報にアクセスする必要はありません。

[**個人用認証情報**](#ge-ren-yong-ren-zheng-qing-bao)\
「ユーザーがボルトから認証情報を選択できるようにする」が有効な場合、ユーザーは自分のKeeperボルトに安全に保存されている個人あるいはプライベート認証情報を使って、ターゲットへのセッションを認証できます。

[**一時的アカウント**](#akaunto)\
PAMマシンまたはPAMデータベースのリソースで一時的アカウント機能が有効になっている場合、セッション専用の、システムが生成する時間制限付きの特権アカウントが作成されます。このアカウントはセッション終了後に自動的に削除され、常設の特権が排除されます。この方式は、対象のシステムに永続的なアカウントを残さず、ジャストインタイムアクセスを実現するために使用されます。

## セッションレコーディング - RDPプロトコル

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FCwTjRJ5eRkq6ebuVtpmc%2Fimage.png?alt=media&#x26;token=64499df9-3d05-423c-b0f1-bfb7cbc2fede" alt=""><figcaption></figcaption></figure>

このプロトコルでは、ターミナルセッションのグラフィカルな内容と、タイミング情報を含む完全な生のテキスト内容の両方が録画されます。詳しくは以下のページをご覧ください。

* [セッションのレコーディングと再生](https://docs.keeper.io/jp/keeperpam/privileged-access-manager/session-recording-and-playback)

## 接続に関するトラブルシューティング

認証や接続に関する問題をトラブルシューティングする際は、以下の点を確認してください。

* リンクされたPAMユーザーレコードに指定されているユーザーが、対象マシンへのRDP接続権限を持っていること。
* 必要に応じてグループポリシーを調整するか、Windowsの \[リモート デスクトップ ユーザー] グループにそのユーザーを追加して、アクセス権を付与してください。
* さらに詳しいトラブルシューティング情報が必要な場合は、ゲートウェイログをご参照ください。ログの保存場所は[インストール方法](https://docs.keeper.io/keeperpam/privileged-access-manager/getting-started/gateways)によって異なります。

## 接続テンプレート

対象のシステムに対応するPAMレコードタイプを接続テンプレートとして構成することもできます。これらのテンプレートは、特定のホスト名や認証情報を事前に定義することなく、対象のシステムへのセッションを開始するための再利用可能なレコードタイプとして機能します。詳細については[こちらのページ](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/privileged-access-manager/connections/tenpurto/README.md)をご覧ください。
