セキュリティ機能「ユーザーアカウント制御」について解説

ユーザーアカウント制御 管理者 ユーザーアカウント制御 標準ユーザー

皆さんは上の画像のような通知ウインドウを見たことあるでしょうか。

プログラムやアプリを起動したり、設定を変更したりしたときに表示されますね。標準設定では結構頻繁に表示されるので皆さんも一度は見たことあるでしょう。

これはVista以降のOSに搭載された機能で「ユーザーアカウント制御機能」といいます。Windows標準となったセキュリティ機能のひとつなのですが、どういった動作をしてくれているのか、どういった意味があるのか分からず取りあえず「はい」を押していた方も多いでしょう。

なので、今回はこの「ユーザーアカウント制御機能」について、この機能の動作と存在意義を解説していきます。
普段見かけるからこそ、その意味を知っておけば正しくこの機能を使っていけるでしょう。


ユーザーが意図しないプログラムの起動を阻止

ユーザーアカウント制御機能【User Account Control:UAC】、通称UACと呼ばれるこの機能の一番の役割は
「ユーザーが意図しないプログラムの起動を事前に阻止、または確認し承認を要求する」ことです。

Windows XPまでは・・・

このUACはVistaから搭載されたのでWindows XP以前のOSには搭載されていません。

Administrator【アドミニストレーター】、つまりコンピューターの管理ユーザーは実行したプログラムの管理特権を有しているため、OSのあらゆる設定変更を実行することが可能になっています。

これはマルウェア(ウイルスやスパイウェアなど)も例外ではなく、管理者が意図していないプログラムも実行しOSの設定を変更することができる、という意味でもあります。

パソコンを買って最初にログインするユーザーは基本的に「Administrator」でログインするので、マルウェア制作者は、管理者特権を利用してマルウェアをコンピューターに感染させました。

また、管理者以外のユーザーが管理権限を必要とする動作を実行しようとした場合、権限がなく実行できないというエラーメッセージが表示されます。

Windows Vista以降

マルウェアなどの不正ソフトウェアによるプログラム実行の阻止、他のユーザーでシステム変更をさせないようにすることを主な目的として「ユーザーアカウント制御機能」が実装されました。

ユーザーがAdministratorでログインするとアクセス・トークンが2つ用意されます。

1つは「標準ユーザー」と同じ権限、もう1つは完全な管理者権限を持った「管理者ユーザー」です。

<<アクセス・トークン>>

システムにユーザーがログインしたアカウントに対して、システムからそのアカウントへ与えられるアカウント識別情報や権限が記述されたデータ構造のこと。簡単に言えば許可証みたいなものです。特別な権限が必要な動作に対して、セキュリティ情報とアカウントが持つアクセストークンが照合され、アクセスの許可・拒否を判定します。

パスワード照合が分かりやすい例です。ログオン時にパスワードの入力を求められ、入力したパスワードを照合し、正しければアクセストークン(アクセス許可)が与えられます。

管理者ユーザーとしてログインしプログラムを実行しても、通常は標準ユーザーとしての権限しか持っていません。これによって不正なシステム変更などを阻止することができます。

この状態でシステムの変更など重要な操作を実行しようとすると、「昇格のプロンプト」と呼ばれる表示がされます。

ユーザーアカウント制御 管理者 ユーザーアカウント制御 標準ユーザー
▲ユーザーアカウント制御の「昇格のプロンプト」のダイアログ表示。

実行を許可した場合は、権限が「昇格」され管理者としてプログラムを実行することができるようになります。
拒否した場合はプログラムを実行しません。設定変更も受け付けません。

標準ユーザーとしてログインした場合でも「昇格のプロンプト」のダイアログ表示はされますが、管理者ユーザーでログインした場合と異なりAdministratorアカウントの「パスワード」を要求されます。(つまり管理者の資格情報が必要)

「昇格のプロンプト」は「Secure Desktop(セキュアデスクトップ)」と呼ばれるモードで実行されるため、画面が暗転して権限昇格以外の動作を一時的に受け付けなくなります。これもマルウェアによる権限昇格を阻止するための処置です。

設定を変更すれば暗転せず他のソフトウェアも操作可能な状態で「昇格のプロンプト」を表示させることもできます。
ただし、セキュリティ上推奨はされません。

Windows VistaでUACを制御する方法 「ユーザーアカウント制御の設定」

それは、このユーザーアカウント制御の設定方法を解説していきます。まずはVistaから見ていきます。

UACの無効化・有効化

  1. スタートメニューから「コントロールパネル」を選択し、「ユーザーアカウント」を選択します。

    ユーザーアカウント(Vista)

  2. 「ユーザーアカウント制御の有効化または無効化」を選択します。

    ユーザーアカウント制御の有効化または無効化
    ▲クリックで拡大

  3. ユーザーアカウント制御の「昇格のプロンプト」のダイアログ表示がされるので「はい」をクリックして権限を「管理者」へ昇格させます。

    設定ウインドウが表示されるので「ユーザー アカウント制御(UAC)を使ってコンピュータの保護に役立てる」のチェックを外し「OK」をクリックするとUACが無効にされます。再度有効にしたい場合はチェックをしてください。

    有効化・無効化

エディションがBusiness / Ultimate 版は細かく設定可能

Windows Vistaのエディションが「Business」「Ultimate」の場合のみUACをもっと細かく設定することができます。

ここでその方法を解説・・・といきたいところですが、当方どっちも持ってないので他のサイト様に任せます(笑

○Vista の UAC の昇格確認ダイアログを非表示にする方法
http://www.drk7.jp/MT/archives/001436.html

○ユーザーアカウント制御(UAC)に関するセキュリティポリシー一覧
http://pasofaq.jp/windows/admintools/policyuaclist.htm

Home Editionでもローカルセキュリティポリシーを変更する方法

Windows Vista Home Editionでもローカルセキュリティポリシーを変更する方法があります。レジストリを変更すれば同じ効果を得ることができます。

ですが、レジストリを変更するので最悪Windowsがクラッシュする可能性もあります。
かなり危険な行為ですのでよく分からないという方は無闇に弄ることのないようお願いいたします。詳細はまた別の記事にて解説したいと思います。

Windows 7でUACを制御する方法 「ユーザーアカウント制御の設定」

Windows 7はVistaよりも簡素化した操作でUACを制御することができます。

  1. スタートメニューから「コントロールパネル」を選択し、「ユーザーアカウント」を選択します。

    ユーザーアカウント

  2. 「ユーザーアカウント制御設定の変更」を選択します。


    ▲クリックで拡大

  3. ユーザーアカウント制御の「昇格のプロンプト」のダイアログ表示がされるので「はい」をクリックして権限を「管理者」へ昇格させます。

    その後、「ユーザーアカウント制御の設定」ウインドウが表示されます。
    Windows 7では4つのセキュリティレベルが用意され、スライドバーでレベル調整できるようになっています。

    ユーザーアカウント制御の設定
    ▲クリックで拡大

以下、同ウインドウにある「ユーザーアカウント制御設定の詳細を表示」から見られるヘルプを一部抜粋した内容です。

常に通知する 管理者としてのアクセス許可を必要とする変更をプログラムが行う前に通知を受けます。通知を受信すると、デスクトップが暗転します。 これは最もセキュリティ レベルの高い設定です。
プログラムがコンピューターに変更を加えようとする場合のみ通知する ・管理者としてのアクセス許可を必要とする変更をプログラムが行う前に通知を受けます。
・Windows の設定に対して、管理者としてのアクセス許可を必要とする変更をプログラムが行おうとしている場合には通知されません。
通常、Windows の設定については、通知を受け取らずに変更が行われても問題ありません。
プログラムがコンピューターに変更を加えようとする場合のみ通知する (デスクトップを暗転しない) ・使用しているコンピューターに対して、管理者としてのアクセス許可を必要とする変更をプログラムが行う前に通知を受けます。
・Windows の設定に対して、管理者としてのアクセス許可を必要とする変更をプログラムが行おうとしている場合には通知されません。
この設定では、セキュリティで保護されたデスクトップに UAC ダイアログ ボックスは表示されないため、その他のプログラムにより、このダイアログ ボックスの表示が妨げられる可能性があります。
通知しない ・使用しているコンピューターに対して変更が行われる前に通知されることはありません。
・標準ユーザーとしてログオンしている場合、管理者のアクセス許可を必要とする変更は自動的に拒否されます。
これは最もセキュリティ レベルの低い設定です。UAC を [通知しない] に設定した場合、コンピューターは潜在的なセキュリティ リスクにさらされます。

推奨は「UACの有効(Vista)」「常に通知する(7)」

私からはもちろん「「UACの有効(Vista)」「常に通知する(7)」を推奨したいところです。

管理者権限を必要とするプログラムや設定変更動作すべてに対してUACが作動し、画面が暗転して他の操作を受け付けなくなるため、XPからアップグレードした方々から見ると非常に鬱陶しいことかと思います。

実際、VistaのこのUACは結構不評でした。

ただ、それだけ「管理者権限への昇格が容易なことではない」ということですのでセキュリティ上重要な働きをしてくれます。不正プログラムが起動し、設定を変更しようものならこのUACが作動して動作を阻止してくれるからです。

ひとつ間を置いて判断する時間が用意されたと考えれば誤動作も防ぐことができるでしょう。

それでもUACを無効にしたい場合は、自己責任で「無効」「通知しない」を設定してください。

スポンサーリンク

Track Back

Track Back URL

Comment [1]

おもろいやんけ     役に立ちました

コメントする

非公開。必須ではありません。

(いくつかのHTMLタグ(a, strong, ul, ol, liなど)が使えます)

このページの上部へ

サイト内検索

広告

Powered by Movable Type 6.3.2