図1:UACプロンプトは、プロンプトのトリガとなるショートカット、ボタン、リンクをクリックした場所の中央の、セキュリティで保護された暗いデスクトップに表示される
UACが効果的である理由を理解するには、Windows Vista以前のセキュリティについて知る必要があります。コンピュータセキュリティの専門家は、作業を行うために必要なアクセス権限のみを付与する、「最小限の権限」ルールを長い間提唱しています(このセキュリティの基本理念は、「制限付きのユーザーアカウント(limited user account)」、「最小限のユーザーアクセス(least user access)」、「最小特権のユーザーアカウント(least-privileged user account)」などとも呼ばれ、その頭文字を取って LUAと呼ばれることもあります)。
Windowsの初期のバージョンでは、既定ですべてのアカウントが管理者アカウントとして設定され、ウイルスが簡単かつ気づかれることなくインストールされて有害な作業を実行する能力を得るなど、コンピュータで何でも実行できるすべての権限が与えられていました。LUAでは、これは明らかに違反行為であるため、セキュリティの専門家はユーザーを制限付きのアカウント(Windows Vistaの標準アカウントと比べて)で設定することを推奨していました。なぜなら、制限付きのアカウントは権限が少なく、より限定的な権限しか与えられていないため、制限付きのアカウントで動作しているユーザーやプログラムは損害を少なくすることができるからです。しかし、その頃のほとんどのアプリケーションは、ユーザーにすべての管理権限が与えられていることを前提として作成されていたため、制限付きのアカウントでは正常に(またはまったく)動作せず、結果的に Windows XPの制限付きのアカウントを使用することは実質的に不可能です。
それとは対照的に、Windows Vistaでは、最初のユーザー以降に作成したアカウントは、既定では、非管理者の標準アカウントになります。標準アカウントはコンピュータを使用した日常業務全般を処理することができる一方、問題を引き起こす可能性のある操作の実行を防止することができます。これらの制限付きのアカウントは単にユーザーに適用されるのではなく、ユーザーが起動するプログラムにも適用されるということが重要な点です。管理者アカウントがいわゆる「保護された管理者」アカウントとして利用されていたとしても、管理作業を実行する必要がある場合を除いて、標準ユーザー権限で動作します(これは、「管理者承認モード」とも呼ばれます)。
新規のセキュリティ対応プログラムが作成されたのは、日常業務の実行には管理者権限が不要であるためです。管理者権限が本当に必要なプログラム(コンピュータの設定を変更するユーティリティプログラムなど)は、昇格が必要となります。それでは、現在でも使用している多くの古いプログラムも管理者権限が必要なのでしょうか? Windows Vistaには、それらの古いプログラムの多くを正常に動作させる方法がいくつかあります。さまざまな方法により、プログラムは管理者によって起動されたかのように動作します。
たとえば、ある方法では、ファイルとレジストリを仮想化します(データリダイレクトとも呼びます)。これは、管理者のみが書き込みアクセス許可を持っているファイルやレジストリに対してプログラムが書き込み(その後で読み出す)を行おうとすると、管理者に代わって、Windows Vistaが現在のユーザープロファイル内のファイルやキーを使用するというものです。場合によっては、プログラムは昇格が必要になりますが、その場合は、操作のたびに UACプロンプトが起動して管理者として実際に動作します。
|
UACプロンプトのトリガ
管理者への昇格が必要となる操作の種類には(UACの昇格のプロンプトが表示される)、[%SystemRoot%]フォルダ内にあるシステム、広範囲な設定、または[%ProgramFiles%]フォルダ内にあるファイルを変更するものが含まれます。昇格が必要な操作には、以下のものがあります。
- アプリケーションのインストールとアンインストール
- デバイスドライバのインストール
- ActiveXコントロールのインストール
- Windows Updateのインストール
- Windowsファイアウォールの設定の変更
- UAC設定の変更
- Windows Updateの構成
- ユーザーアカウントの追加や削除
- ユーザーアカウントの種類の変更
- 保護者による制限の構成
- タスクスケジューラの実行
- バックアップしたシステムファイルの復元
- 別のユーザーのフォルダおよびファイルの表示と変更
Windows Vistaでは、あらかじめ昇格が必要な多くの操作を確認することができます。ボタンやリンクの隣にある盾アイコンは、UACプロンプトが表示されることを示します(図2)。
図2:UACプロンプトが表示されることを示す盾アイコン