【ユーエーシー】

UAC(ユーザーアカウント制御) とは?

💡 『本当に実行していいですか?』の最後の砦
📌 このページのポイント
UAC(ユーザーアカウント制御)の仕組み アプリ 管理者権限を要求 UACプロンプト 「変更を許可しますか?」 はい いいえ 実行を許可 ブロック セキュア デスクトップ 画面の暗転 通知レベル(4段階) 常に通知 既定(推奨) 暗転なし 無効(非推奨)
UACの仕組みのイメージ
ひよこ ひよこ

UACって何?あの画面が暗くなるやつ?

ペンギン先生 ペンギン先生

そうそう、ソフトをインストールしようとすると画面が暗くなって『このアプリがデバイスに変更を加えることを許可しますか?』って聞いてくるあれだよ。管理者権限が必要な操作のときに『本当にいいの?』って確認してくれるんだ

ひよこ ひよこ

なんでそんな確認が必要なの?

ペンギン先生 ペンギン先生

もしUACがなかったら、マルウェアが勝手に管理者権限でシステムファイルを書き換えたり、危険なソフトをインストールしたりできちゃうんだ。UACがあることで、ユーザーが意図しない操作をブロックできるんだよ

ひよこ ひよこ

正直、毎回出てくるのが面倒なんだけど…

ペンギン先生 ペンギン先生

気持ちは分かるけど、無効にするのはおすすめしないよ。設定で通知レベルを下げることはできるけど、完全に無効にするとセキュリティが大幅に低下するんだ。Linuxで言うところのsudoコマンドと同じで、『一瞬立ち止まって考える』ための仕組みだね

ひよこ ひよこ

画面が暗くなるのには意味があるの?

ペンギン先生 ペンギン先生

あの暗い画面は『セキュアデスクトップ』と呼ばれていて、他のアプリケーションが確認ダイアログを偽装したり、自動的に『はい』を押したりするのを防いでいるんだ。見た目は地味だけど、かなり重要なセキュリティ機構なんだよ

ひよこ ひよこ

プログラマー視点ではどうなの?

ペンギン先生 ペンギン先生

開発者はアプリの『マニフェストファイル』で、そのアプリに管理者権限が必要かどうかを宣言できるんだ。`requireAdministrator` を指定すると起動時にUACプロンプトが出る。必要ないのに管理者権限を要求するアプリは行儀が悪いと言われるから、最小限の権限で動くように設計するのがベストプラクティスだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「UAC」って出てきたら「管理者権限が必要なとき確認を出すWindowsセキュリティ機能」と思えればだいたいOK!
📖 おまけ:英語の意味
「User Account Control」 = ユーザーアカウント制御
💬 User Account(ユーザーアカウント)をControl(制御)する仕組みで、権限のない操作を勝手にさせないための機能だよ
← 用語集にもどる