ユーザーアカウント制御

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ユーザーアカウント制御 (UAC; User Account Control)は、Microsoft Windows Vista以降より導入されたセキュリティの基盤となる技術である。許可のない限りアプリケーションを標準ユーザの権限で動かすことで、不用意にマルウェアなどがオペレーティングシステムに変更を加えられないようにする狙いがある。

管理者承認モード[編集]

Windows XPまでは、管理者ユーザは管理特権を持っており、マルウェアを含む全てのソフトウェアは管理特権を持った状態で実行し、OSの全てにアクセスすることができた。逆に管理者でない場合、権限が必要な動作を行おうとすると権限がないというエラーメッセージを受け取ることになる。

Windows Vistaからは、管理者のユーザとしてログオンするとアクセストークンが2つ用意される。1つは標準ユーザと同じ権限、もう1つは完全な管理者の権限を持っている。管理者としてログオンしてプログラムを実行しても通常は標準ユーザと同じ権限しかなく、セキュリティもしくはOSの安定性に関わる操作を行おうとすると、「昇格のプロンプト」[1]と呼ばれる、実行を許可するか確認を取るダイアログが表示される。ここでユーザが許可すると、権限が「昇格」されてはじめてプログラムは管理者権限で実行される。なお、標準ユーザであってもダイアログは表示されるが、許可するには管理者の資格情報の入力が必要となり、許可した場合プログラムは選択した管理者の権限で実行することになる。

通常、昇格のプロンプトは「Secure Desktop」と呼ばれるモードで行われる。このモードでは画面が暗転し、権限の昇格を行うウィンドウ以外は一時的に操作できなくなる。これは権限の昇格を要求するアプリケーションによってUIやマウスを操作されないようにするための措置であり、これによりマルウェアなどが勝手に実行を許可することを防いでいる。なお、最小化されているアプリケーションから権限の昇格を行う必要がある場合、前面のウィンドウのフォーカスを失われないようにするため、Secure Desktopのウィンドウも最小化された状態で表示される。ただし、通常のウィンドウとして表示させることも可能であるが、Microsoftは推奨していない[1]

その他[編集]

権限を昇格しているコマンドプロンプトのウィンドウでは、タイトルの頭に「Administrator」(英語版の場合、日本語版では「管理者」)が付加され、ユーザは昇格されたコマンドプロンプトが見分けやすいようになる。[2]

また、標準ユーザでの実行を想定していないアプリケーションでも標準ユーザで実行できるよう、ファイルとレジストリの仮想化と呼ばれる機能が存在する。ただしHKLMのエントリなどを標準状態で削除しようとしても削除ができないため、そういう操作をする場合は事前にプログラムを昇格させる必要がある。

搭載OS[編集]

脚注[編集]

  1. ^ a b Microsoft TechNet - Windows Vista でのユーザー アカウント制御の理解と設定
  2. ^ Administrator Marking for Command Prompt”. UACBlog. MSDN Blogs (2006年8月1日). 2006年8月7日閲覧。

外部リンク[編集]