MS_RDWebAccess - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

リモート デスクトップ Webアクセス

概要

WWW ブラウザから、「RD Web アクセス」にアクセス

  • RDC クライアントを要求せず、WWW ブラウザ(IE)から直接、「RDセッション ホスト」に「RD 接続」できる。

仕組み

  • クライアント(WWW ブラウザ = IE 上の ActiveX)と「RD セッション ホスト」が直接 RDP を使用して通信するだけ。
  • インターネット経由でアクセスする場合には、前述のように「RDゲートウェイ」や VPN などを導入する必要がある。

補足(最新化:ActiveX 版は使えなくなった): 本文の仕組みは
IE 上の ActiveX コントロールMsRdpClientShell)を前提としているが、
IE 11 は 2022 年 6 月にサポートを終了し、
Edge は ActiveX に対応しない
IE、WWWブラウザのいろいろ)。

現在の RD Web アクセスは、次のように変わっている。

世代 方式 クライアント
ActiveX で直接 RDP IE のみ
Web ページから .rdp ファイルをダウンロード → RDC が起動 任意のブラウザ+RDC
現在 RD Web クライアント(HTML5) 任意のブラウザのみで完結

RD Web クライアント(Windows Server 2016 以降で利用可)は
HTML5 と WebSocket で RDP を中継する方式で、

  • クライアントに何もインストールしない(ブラウザだけ)、
  • OS を選ばない(macOS、ChromeOS、Linux でも使える)

という利点がある。
構成上は RD ゲートウェイが必須であり、
ゲートウェイが HTML5 ↔ RDP の変換を担当する。

「本文の仕組みの説明」は歴史的な記録として読み、
新規構築では RD Web クライアントを選ぶのが正しい。

接続先

リモート デスクトップ

[リモート デスクトップ]タブを非公開にし、「デスクトップ」への「RD 接続」を抑止することもできる。

RemoteAppプログラム

  • 以下の設定により、

    • RDP ファイルを配信したユーザのみが使用できるアプリケーション
    • 特定多数が WWW ブラウザ(IE)経由で使用できるアプリケーション

    を分離可能。

  • 設定

    • [RemoteApp プログラム]タブに表示されている一覧から、起動する RemoteApp プログラムを選択する。
    • RDセッション ホスト」側の設定により、「RD Web アクセス」からの接続に限って一部の RemoteApp プログラムを抑止することもできる。

補足(RemoteApp と「デスクトップ」の使い分け): 本節の 2 つの接続先は、
利用者に何を見せるかという点で大きく違う。

デスクトップ RemoteApp
見えるもの サーバのデスクトップ全体 アプリのウィンドウだけ
利用者の体感 「別の PC を操作している」 「手元のアプリと同じ」(タスク バーにも並ぶ)
できること サーバ上で何でもできる 公開されたアプリのみ
セキュリティ エクスプローラ等から自由に操作できる 限定される

本文が「[リモート デスクトップ]タブを非公開にし、
『デスクトップ』への RD 接続を抑止する」と述べているのは、
利用者にサーバ全体を触らせないための措置である。

ただし、RemoteApp だけを公開しても万全ではない

  • アプリの「ファイルを開く」ダイアログから
    サーバのファイル システムを閲覧できる
  • Office のマクロや「ヘルプ」からブラウザやコマンド プロンプトを
    起動できてしまうことがある

ため、AppLocker やグループ ポリシーによる制限
併用するのが実務上の定石である
グループ・ポリシー)。

インストールと設定

インストール

  • 以下から、「RD Web アクセス」をインストールする。
    • [サーバ マネージャ]管理ツールの[役割]→[役割の追加]→「リモート デスクトップ サービス」
    • または、[役割]→「リモート デスクトップ サービス」→[役割サービスの追加]
  • なお、「RD Web アクセス」のサイトを立ち上げるために、IIS、NPS をインストールしておく必要があるが、
    これは「RD Web アクセス」のインストールの際に、合わせて自動的にインストールされる。

設定

「RD Webアクセス」から「RDセッション ホスト」へのアクセス許可を設定

「RD Web アクセス」から「RDセッション ホスト」を実行している PC が異なる場合、

  • 「RD セッション ホスト」側で、

    • 「RD Web アクセス」のコンピュータ アカウントを、
    • 「TS Web Access Computers」というビルトイン グループに追加し、
    • 「RD Web アクセス」から「RD セッション ホスト」へのアクセスを許可

    する必要がある。

  • なお、コンピュータ アカウントの検索の際は、
    [オブジェクトの種類]ボタンを押下して表示される[オブジェクトの種類]ダイアログから、
    [コンピュータ]チェック ボックスを選択して、コンピュータ アカウントを検索対象に含める必要がある。

補足(この「コンピュータ アカウント」の話が躓きどころ): AD では
ユーザだけでなく、ドメイン参加したコンピュータもアカウントを持つ
ここで許可しているのはサーバ同士の信頼関係であり、
利用者のアカウントとは別の話である。

【役割の分離構成】
  利用者 ──→ RD Web アクセス サーバ ──?──→ RD セッション ホスト
                ↑ この 2 台の間の通信を許可する必要がある
                  (RemoteApp の一覧を取得するため)

AD の検索ダイアログは既定でコンピュータ アカウントを
検索対象に含めない
ため、本文の注意書きのとおり
[オブジェクトの種類]で明示的にチェックを入れる必要がある。
**これを知らないと「サーバ名を入れても見つからない」**という
状態で止まってしまう。

なお、Windows Server 2012 以降の「標準展開」では
このあたりの設定がウィザードで自動的に行われるため、
手作業で構成するのは「カスタム展開」の場合に限られる。

「RD Webアクセス」から「RDセッション ホスト」への接続を設定

クライアントから「RD Webアクセス」に接続

RemoteAppプログラムを「RD Webアクセス」へ公開

RemoteAppプログラムの確認と実行

デスクトップへのRD接続の実行

その他の設定

移行メモ: 上記 6 項目は原典でも見出しのみで、本文が存在しない。


Tags: 移行, Windows, 仮想化

⚠️ **GitHub.com Fallback** ⚠️