Azure Virtual Desktop で画面キャプチャを禁止する

こんにちは。神田です。
Azure Virtual Desktopで画面キャプチャを防止する機能「Screen Capture Protection」がGAされていたので、
今回はこの機能を使ってAzure Virtual Desktopでの画面キャプチャを禁止させます。

Screen Capture Protectionについて

Screen Capture Protectionはその名の通り、リモートデスクトップ接続しているユーザが、
リモートデスクトップの画面キャプチャをできなくする機能ですが、
利用するにあたりいくつか考慮する事項があります。
代表的なものは下記になります。

  1. 対応しているクライアントはWindowsのデスクトップクライアントとmacOSクライアントの2つのみ
  2. Windows デスクトップクライアントではデスクトップのセッションにのみ適用される
  3. macOSクライアントはデスクトップとRemoteAppの両方に適用される
  4. この機能を有効にした場合、この機能をサポートしていないクライアントは接続できなくなる(Webクライアントなど)
  5. この機能は画面キャプチャを防ぐだけで、例えば手元のカメラなどでPCの画面を撮影された場合などは意味がない
  6. この機能を有効にした場合、Teamsなどでの画面共有はできなくなる

参考 : https://docs.microsoft.com/ja-jp/azure/virtual-desktop/screen-capture-protection

設定方法

Azure Virtual Desktopの環境は構築済みの前提で設定していきます。
まずは下記のMicrosoftのドキュメントにアクセスし、AVDGPTemplate.cab ファイルをダウンロードします。

https://docs.microsoft.com/ja-jp/azure/virtual-desktop/screen-capture-protection#configure-screen-capture-protection

ファイルを展開し、terminalserver-avd.admx ファイルをセッションホストのVMの %windir%\PolicyDefinitions フォルダーにコピーします。
同様にen-us\terminalserver-avd.adml ファイルを セッションホストのVMの %windir%\PolicyDefinitions\en-us フォルダーにコピーします。

セッションホストのVMで[グループポリシーエディター]を起動し、[コンピュータの構成] > [管理用テンプレート] > [Windows コンポーネント] > [リモートデスクトップサービス] > [リモートデスクトップセッションホスト] > [Azure Virtual Desktop]にアクセスします。
[Enable screen capture protection]ポリシーがあるので有効化します。

設定を反映させるために、VMを再起動します。
以上で設定は完了です。

この状態で対応したクライアントでリモートデスクトップ接続し、画面キャプチャを行っても、
リモートデスクトップは映らなくなります。

また、対応していないクライアントで接続しようとすると、接続は弾かれるようになります。

最後に

以上でAzure Virtual Desktopで画面キャプチャを禁止することができました。
スクリーンキャプチャに映らなくなるので、設定したあとにその様子をブログに載せるのが難しい機能です。