【ユーエーシー】
UAC(ユーザーアカウント制御) とは?
最終更新:
💡 管理者権限を使う前の『本当にいい?』確認係
Windowsで管理者権限が必要な操作の前に確認を求め、悪意のあるプログラムが勝手に管理者権限で動くリスクを減らすセキュリティ機能。
📌 このページのポイント
UACって何?あの画面が暗くなるやつ?
なんでそんな確認が必要なの?
正直、毎回出てくるのが面倒なんだけど…
画面が暗くなるのには意味があるの?
プログラマー視点ではどうなの?
アプリの『マニフェスト』で、必要な権限を宣言できるんだ。`requireAdministrator` を指定すると、起動元が管理者権限で動いていない場合にUACの確認が出る。Visual C++のリンカーが既定で埋め込む `asInvoker` なら、起動元と同じ権限で動くよ。本当に必要なときだけ管理者権限を求めるように設計するのが基本だね
もっと詳しく知りたい人へ
UACを「通知しない」にしたり無効にしたりすると、何が変わるの?
管理者権限を使う前の確認がなくなり、UACの保護も弱まるよ。設定画面の「通知しない」はMicrosoftのサポート情報でもセキュリティ上推奨されていない。さらにポリシーでAdmin Approval Mode自体を無効にすると、関連するUACの設定がすべて無効になり、Windowsセキュリティが安全性の低下を通知するんだ。確認が多くて困るときは、無効化ではなく既定の設定を保ち、普段使いのアカウントを標準ユーザーにする方法が推奨されているよ。
📖 おまけ:英語の意味
「User Account Control」 = ユーザーアカウント制御
💬 User Account(ユーザーアカウント)をControl(制御)する仕組みで、管理者権限を使う場面をユーザーに確認させるための機能だよ
参考資料
- User Account Control (Microsoft Learn)
- How User Account Control works (Microsoft Learn)
- User Account Control settings and configuration (Microsoft Learn)
- User Account Control settings (Microsoft Support)
- Application manifests: trustInfo (Microsoft Learn)
- How User Account Control (UAC) Affects Your Application (Microsoft Learn)