Azure Virtual Desktop のセキュリティに関する推奨事項
Azure Virtual Desktop は、組織の安全を維持するための多くのセキュリティ機能を備えた、管理された仮想デスクトップ サービスです。 Azure Virtual Desktop のアーキテクチャは、ユーザーをデスクトップとアプリに接続するサービスを構成する、さまざまなコンポーネントで構成されています。
Azure Virtual Desktop には、受信ネットワーク ポートを開く必要がないリバース接続などの高度なセキュリティ機能が多数組み込まれており、どこからでもリモート デスクトップにアクセスできるようにすることによって生じるリスクが軽減されます。 このサービスでは、多要素認証や条件付きアクセスなど、Azure の他の多くのセキュリティ機能も利用できます。 この記事では、デスクトップとアプリを組織内のユーザーまたは外部ユーザーのどちらに提供するかに関係なく、Azure Virtual Desktop のデプロイのセキュリティを維持するために管理者として実行できる手順について説明します。
セキュリティの共同責任
Azure Virtual Desktop よりも前は、リモート デスクトップ サービスのようなオンプレミスの仮想化ソリューションでは、ゲートウェイ、ブローカー、Web アクセスなどのロールへのアクセス権をユーザーに付与する必要がありました。 これらのロールは、完全に冗長化され、ピーク時の容量を処理できる必要がありました。 管理者はこれらのロールを Windows Server オペレーティング システムの一部としてインストールし、それらはパブリック接続からアクセスできる特定のポートを使用してドメインに参加している必要がありました。 デプロイのセキュリティを維持するために、管理者は常に、インフラストラクチャ内のすべてのものが保守され、最新の状態であることを確認する必要がありました。
ただし、ほとんどのクラウド サービスでは、Microsoft とお客様またはパートナーとの間に、セキュリティに対する一連の共同責任があります。 Azure Virtual Desktop の場合、ほとんどのコンポーネントは Microsoft によって管理されますが、セッション ホストと、一部のサポート サービスおよびコンポーネントは、お客様またはパートナーによって管理されます。 Microsoft が管理する Azure Virtual Desktop のコンポーネントの詳細については、「Azure Virtual Desktop サービスのアーキテクチャと回復性」を参照してください。
一部のコンポーネントは、ご使用環境に合わせて既にセキュリティで保護されていますが、他の領域については、組織または顧客のセキュリティ ニーズに適合するように自分で構成する必要があります。 Azure Virtual Desktop のデプロイで、お客様がセキュリティ責任を担うコンポーネントを次に示します。
コンポーネント | 責任 |
---|---|
ID | お客様またはパートナー |
ユーザー デバイス (モバイルおよび PC) | お客様またはパートナー |
アプリのセキュリティ | お客様またはパートナー |
セッション ホストのオペレーティング システム | お客様またはパートナー |
デプロイの構成 | お客様またはパートナー |
ネットワーク管理 | お客様またはパートナー |
仮想化コントロール プレーン | Microsoft |
物理ホスト | Microsoft |
物理ネットワーク | Microsoft |
物理データセンター | Microsoft |
セキュリティ境界
セキュリティ境界では、セキュリティ ドメインのコードとデータを異なる信頼レベルで分離します。 たとえば、通常、カーネル モードとユーザー モードの間にはセキュリティ境界があります。 Microsoft のほとんどのソフトウェアおよびサービスは、複数のセキュリティ境界に依存して、ネットワーク上のデバイス、仮想マシン (VM)、デバイス上のアプリケーションを分離しています。 次の表に、Windows の各セキュリティ境界と、全体的なセキュリティに関して行われる内容を示します。
セキュリティ境界 | 説明 |
---|---|
ネットワーク境界 | 承認されていないネットワーク エンドポイントは、顧客のデバイス上のコードやデータに対するアクセスや改ざんができません。 |
カーネル境界 | 管理者以外のユーザー モード プロセスは、カーネル コードやデータに対するアクセスや改ざんができません。 Administrator-to-kernel はセキュリティ境界ではありません。 |
プロセス境界 | 承認されていないユーザー モード プロセスは、別のプロセスのコードやデータに対するアクセスや改ざんができません。 |
AppContainer サンドボックス境界 | AppContainer ベースのサンドボックス プロセスは、コンテナーの機能に基づいてサンドボックスの外部のコードやデータに対するアクセスや改ざんができません。 |
ユーザー境界 | ユーザーは、承認されていない場合、別のユーザーのコードやデータに対するアクセスや改ざんができません。 |
セッション境界 | ユーザー セッションは、承認されていない場合、別のユーザー セッションに対するアクセスや改ざんができません。 |
Web ブラウザー境界 | 承認されていない Web サイトは、同一オリジン ポリシーに違反できません。また、Microsoft Edge Web ブラウザーのサンドボックスのネイティブ コードやデータに対するアクセスや改ざんができません。 |
仮想マシン境界 | 承認されていない Hyper-V ゲスト仮想マシンは、別のゲスト仮想マシンのコードやデータに対するアクセスや改ざんができません。これには、Hyper-V の分離コンテナーも含まれます。 |
仮想セキュア モード (VSM) 境界 | VSM の信頼されたプロセスまたはエンクレーブの外部で実行されているコードは、信頼されたプロセス内のデータやコードに対するアクセスや改ざんができません。 |
Azure Virtual Desktop のシナリオで推奨されるセキュリティ境界
また、ケースバイケースでセキュリティ境界に関する特定の選択を行う必要があります。 たとえば、組織内のユーザーがアプリをインストールするためにローカルの管理者特権を必要とする場合、そのユーザーに、共有のセッション ホストではなく個人用デスクトップを提供する必要があります。 マルチセッション プールのシナリオでは、ユーザーにローカル管理者特権を付与することはお勧めしません。これらのユーザーが、セッションまたは NTFS データ アクセス許可のセキュリティ境界を越えたり、マルチセッション VM をシャットダウンしたり、サービスの中断やデータ損失を引き起こす可能性があるその他の操作を行ったりする場合があるからです。
管理者特権を必要としないアプリを使用するナレッジ ワーカーなど、同じ組織のユーザーは、Windows 11 Enterprise マルチセッションなどのマルチセッションのセッション ホストに最適な候補です。 これらのセッション ホストでは、ユーザーあたりの VM のオーバーヘッド コストのみで複数のユーザーが 1 つの VM を共有できるため、組織のコストが削減されます。 FSLogix などのユーザー プロファイル管理製品を使用すると、ユーザーがサービスの中断に気づくことなく、ホスト プール内の任意の VM をユーザーに割り当てることができます。 また、この機能を使用すると、オフピーク時間中に VM をシャットダウンするなどの操作を行うことにより、コストを最適化できます。
さまざまな組織のユーザーがデプロイに接続する必要がある場合は、Active Directory や Microsoft Entra ID のような ID サービス用に別個のテナントを用意することをお勧めします。 また、これらのユーザーには、Azure Virtual Desktop や VM などの Azure リソースをホストするための別個のサブスクリプションを用意することをお勧めします。
多くの場合、マルチセッションの使用は、コストを削減するために容認できる方法ですが、それが推奨されるかどうかは、共有マルチセッション インスタンスに同時にアクセスできるユーザー間の信頼レベルによって決まります。 通常、同じ組織に属するユーザーには、十分かつ合意された信頼関係があります。 たとえば、ユーザーが共同作業を行い、お互いの個人情報にアクセスできる部門やワークグループは、信頼レベルが高い組織です。
Windows では、セキュリティ境界とコントロールを使用して、ユーザー プロセスとデータがセッション間で分離されるようにしています。 ただし、Windows では、ユーザーが作業しているインスタンスへのアクセス権は引き続き提供されます。
マルチセッションのデプロイでは、多層セキュリティ戦略を利用できます。これは、より多くのセキュリティ境界を追加して、組織内外のユーザーが他のユーザーの個人情報に未承認でアクセスできないようにします。 未承認のデータ アクセスは、未公開のセキュリティの脆弱性や、まだ修正プログラムが適用されていない既知の脆弱性など、システム管理者による構成プロセスのエラーが原因で発生します。
異なるまたは競合する企業で働くユーザーに、同じマルチセッション環境へのアクセス権を付与することはお勧めしません。 これらのシナリオには、ネットワーク、カーネル、プロセス、ユーザー、セッションなど、攻撃または悪用される可能性があるいくつかのセキュリティ境界があります。 1 つのセキュリティの脆弱性によって、無許可のデータと資格情報の窃盗、個人情報の漏洩、なりすまし、およびその他の問題が発生する可能性があります。 仮想化環境のプロバイダーには、複数の強力なセキュリティ境界と追加の安全性機能が可能な限り有効化された、適切に設計されたシステムを提供する責任があります。
次の表は、各シナリオの推奨事項をまとめたものです。
信頼レベルのシナリオ | 推奨される解決策 |
---|---|
標準の特権を持つ 1 つの組織のユーザーである | Windows Enterprise マルチセッション オペレーティング システム (OS) を使用する。 |
ユーザーに管理者特権が必要である | 個人用ホスト プールを使用し、各ユーザーにそのユーザー専用のセッション ホストを割り当てる。 |
さまざまな組織のユーザーが接続する | Azure テナントと Azure サブスクリプションを分離する |