Vistaの地平
第7回 管理者権限での実行を制限するユーザー・アカウント制御UAC(前編)

2.管理者権限での実行を制限するUAC

畑中 哲
2007/04/05

 こうして長年、常に管理者ユーザーとしてログオンする習慣が大きく変わることはなかった。一方で、TCO削減やセキュリティ上の脅威からの圧力はやむことがない。そこでWindows Vistaがこれまでとは違ったアプローチで、また強引ともいえる方法で行った対策が「ユーザー・アカウント制御(UAC)」である。

UACが有効な場合の「管理者」

 Windows Vistaでも管理者ユーザーと一般ユーザーという区別はあるし、常に管理者ユーザーとしてログオンする習慣は恐らく根強く続くだろう。だがUACがデフォルトで有効なので、管理者ユーザーとしてログオンすると次のようになる。

  • 管理者ユーザーとしてログオンしても、一般ユーザー以下の権限しかない。
  • システム全体に影響を及ぼす操作を行うには、その都度、ダイアログ・ボックスで明示的に許可しなければならない。
  • 別のユーザーでログオンするわけではなく、同じユーザーでありながら、許可したときだけ権限が昇格する。

 これを図にすると次のようになる。実際には互換性を維持するための仕組みなどがあるので、例外も多いのだが、基本はこのとおりである。

UACが有効なWindows Vistaにおける「管理者」ユーザーの扱い
UACが有効なWindows Vistaでは、管理者ユーザーとしてログオンしても、一般ユーザー以下の権限しかない。システム全体に影響を与える操作を行うには、その都度、ダイアログ・ボックスで明示的に許可しなければならない。このとき別のユーザーでログオンするわけではない。同じユーザーでありながら、許可したときだけ権限が昇格する。

 UACが有効なWindows Vistaでは、管理者ユーザーとしてログオンしても、一般ユーザー以下の権限しか持っていない。システム全体に影響を与える操作を行いたければ、その都度、ダイアログ・ボックスで明示的に許可しなければならない。UACではRunAsとは違い、別のユーザーでログオンするわけではないことに注意していただきたい。同じユーザーでありながら、許可したときだけ権限が昇格するのである。

 つまりUACは、管理者特有の権限は強制的に無効にし、ユーザーの同一性を保ちつつ、必要な場面でだけ比較的簡単に権限を昇格できるようにしようという試みである。

UACの動作

 アプリケーションがUACの下でどのように動作するのか、もう少し詳しく見てみよう。アプリケーションがUACに対応しているかどうかで、その動作は異なる。

UACに対応していないアプリケーションでは、システム全体に影響を与える操作に失敗する

 Windows Vistaを念頭に置かずに開発されたアプリケーションは、UACに対応していない。既存の(過去の)アプリケーションのほとんどすべてがこれに該当する。

 そういったUACに対応していないアプリケーションは、Windows Vistaでは、システム全体に影響のある操作を行おうとしても失敗する。これは、一般ユーザーとしてログオンしていようが、管理者ユーザーとしてログオンしていようが同じである。

 ただし具体的にどのように「失敗する」かは、アプリケーションの作り方次第であり、さまざまなパターンがあるだろう。単に「アクセスが拒否されました。」や「エラー:5」のようなエラー・メッセージで操作の失敗を通知するアプリケーションもあるだろうし、黙って終了してしまうようなアプリケーションもあるだろう。

■互換性を維持するための仕組みによって救われることがある
 ただしWindows Vistaには、既存のアプリケーションとの互換性を維持するための仕組みがいくつか用意されている。そのおかげで、UACに対応していないアプリケーションであっても、システム全体に影響のある操作に成功することがある。互換性を維持するための具体的な仕組みについては、後編で解説する。

UACに対応しているアプリケーションでは、システム全体に影響を与える操作を「盾」マークで示す

 UACに対応しているアプリケーションは、システム全体に影響を与える操作を、UI上の「盾」マーク()で示すことになっている。これは約束事にすぎず、最終的には個々のアプリケーションの設計次第なのだが、今後徐々にだろうが、多くのアプリケーションが「盾」マークを表示するようになると思われる。

UACに対応しているアプリケーションが、システム全体に影響を与える操作を示す「盾」
これはマウス・デバイスの[プロパティ]を開いたところ。[設定の変更]ボタンに「盾」の絵が付いている。UACに対応しているアプリケーションでは、システム全体に影響を与える操作を「盾」マーク()で表すことになっている。
  「盾」マークが付いたボタンの例。システム全体に影響のある操作を行うボタンには、このようなマークが付く。これをクリックすると、UACによって、操作の許可を求めるダイアログ・ボックスが表示されることになる。

 そして、この「盾」マークのボタンをクリックすると、ユーザーに対して、本当にその操作を行うのか(もしくは行ってもよいのか)を問い合わせ、ユーザーが同意して初めて操作を実際に行うようになっている。これにより、ユーザーの知らないところで(もしくは知っていても、ついつい)、勝手に管理者権限を利用した操作が行われるのを防いでいる。


 INDEX
  Vistaの地平
  第7回 管理者権限での実行を制限するユーザー・アカウント制御UAC(前編)
    1.管理者権限で利用するWindows OS
  2.管理者権限での実行を制限するUAC
    3.UACで表示されるダイアログの種類
 
 「 Vistaの地平 」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間