UACの仮想化とは?
2007年、MicrosoftはWindows Vistaにユーザーアカウント制御(UAC)という新しいセキュリティ機能を導入しました。UACの仮想化は、潜在的な脅威となる変更からオペレーティングシステムのコアコンポーネントを守るためのソフトウェア管理の領域です。Unix系システムではルート、Windowsシステムでは管理者権限と呼ばれるアクセスレベルを指すものです。
Windows UAC(ユーザーアカウント制御)ルールは、ユーザーやアクセスすべきでないプログラムによる変更や破損を防ぐために設計されています。各ユーザーのファイルや設定を他のユーザーから分けて管理します。
デフォルトでは、管理者権限を持つユーザーのみがメインマシンの設定にアクセスできます。Microsoftは、Program Filesフォルダツリー、Program Dataフォルダツリー、Windowsフォルダツリー、Usersフォルダツリーの下のフォルダのデフォルトアクセス許可を慎重に制限することで、このような規制を行っています。レジストリキーのアクセス権限は特に厳密に制限されており、標準ユーザーが他のユーザーに影響を与える可能性のある設定を変更することは許可されていません。
UACの仮想化における制限事項
UACの仮想化が正常に機能できるようにするための、いくつかの制限事項があります。
- 32ビットアプリケーション専用です。すべてのAMD64対応アプリケーションは、基本的な設計の決定後に作成されたものであり、その性質上、UACの仮想化が解決するために作られた「古い方法」でシステムファイルにアクセスすることはできません。(IA64アプリケーションには特有の問題があります)
- ユーザーは元のファイルパスに対する書き込み権限を持っていなければなりません。読み取り専用の権限でファイルに書き込もうとすると、カードライブラリ全体がクラッシュします(アプリがエラーコードとともにクラッシュします)。
- UACの仮想化は、管理者として実行されるアプリケーションや管理者権限のあるアプリケーションに適用できません。標準ユーザーとして実行する必要があります。
- UACの仮想化はデフォルトで無効になっているので、自分で有効にしなければなりません。
タスクマネージャーでUACの仮想化を無効にできますが、おすすめはされません。UACの仮想化を無効にすると、一部のアプリケーションを標準ユーザーとして実行できなくなることがあります。アプリケーションはディレクトリに書き込もうとしますが、ユーザーにそのディレクトリに対する書き込み権限を持っていない場合、パスが変更されます。
Windows 10でUACの仮想化を有効にする方法
まず、Windows 10でUACの仮想化が有効になっているかどうかを確認します。無効になっている場合は、有効にします。
- Windows + Rで「ファイル名を指定して実行」を開き、「secpol.msc」と入力します。これで、ローカルセキュリティポリシーウィンドウが開きます。
- 左ペインで「ローカルポリシー」を展開し、「セキュリティオプション」をクリックします。
- 中央ペインの「ユーザーアカウント制御: 各ユーザーの場所へのファイルまたはレジストリの書き込みエラーを仮想化する」に移動します。
このオプションが有効になっている場合、デバイスにUACの仮想化が設定されています。無効になっている場合は、次の3つの手順でUACの仮想化を有効にします。
- 「ユーザーアカウント制御: 各ユーザーの場所へのファイルまたはレジストリの書き込みエラーを仮想化する」をダブルクリックすると、ポップアップウィンドウが開きます。
- 「有効」のラジオボタンを選択します。
- 「OK」をクリックしてポップアップウィンドウを閉じると、デバイスでUACの仮想化が有効化されます。
UACの仮想化を設定した後は、その動作を管理し、お好みに応じてカスタマイズすることもできます。
1.常に通知する
これは最も厳しい設定です。Windowsの設定をインストール・更新・変更する際には、必ず権限を必要とします。他のタスクはすべて、通知ポップアップに応答するまでフリーズします。頻繁にテスト用のソフトウェアをインストールするデバイスに最適な設定です。
2.アプリがコンピューターに変更を加えようとする場合のみ通知する
2番目に制限が厳しいオプションで、デフォルトのUAC設定でもあります。コンピューターは、プログラムがWindowsの設定を変更しようとするときに通知します。前のオプションと同様に、応答するまですべてのタスクをフリーズします。ただし、手動で設定を変更した際には通知されません。
3.アプリがコンピューターに変更を加えようとする場合のみ通知する(デスクトップを暗転しない)
名前の通り、このオプションは非侵襲的で、他のタスクをフリーズさせません。Windowsシステムに手動で変更を加えた場合にも通知します。言うまでもなく、これは最初の2つと比較してセキュリティが低いオプションです。通知プロセスの遅さが生産性に影響する場合のみ、このオプションを選択して下さい。
4.通知しない
このオプションを無効にすると、デバイスのセキュリティリスクが高くなるので、便利に見えても使用しないことをおすすめします。これらすべてのオプションは、Windowsシステム向けのソフトウェアのインストールと変更、特に制限付きディレクトリに関連しています。