ユーザー アカウント制御のしくみHow User Account Control works

適用対象Applies to

  • Windows 10Windows 10

ユーザー アカウント制御(UAC)はMicrosoftのセキュリティ ビジョン全般の基本コンポーネントです。User Account Control (UAC) is a fundamental component of Microsoft's overall security vision. UAC はマルウェアの影響を軽減させます。UAC helps mitigate the impact of malware.

UAC プロセスと対話UAC process and interactions

管理者アクセス トークンを必要とする各アプリは、同意を求める必要があります。Each app that requires the administrator access token must prompt for consent. 1 つの例外は、親プロセスと子プロセスの間に存在するリレーションシップです。The one exception is the relationship that exists between parent and child processes. 子プロセスは、親プロセスからユーザーのアクセス トークンを継承します。Child processes inherit the user's access token from the parent process. ただし、親プロセスと子プロセスの両方に同じ整合性レベルが必要です。Both the parent and child processes, however, must have the same integrity level. Windows 10 では、プロセスの整合性レベルをマークすることでプロセスを保護します。Windows 10 protects processes by marking their integrity levels. 整合性レベルは信頼の測定値です。Integrity levels are measurements of trust. "高" 整合性アプリケーションは、ディスク パーティション分割アプリケーションなどのシステム データを変更するタスクを実行するアプリケーションで、"低" 整合性アプリケーションは、Web ブラウザーなどのオペレーティング システムを侵害する可能性のあるタスクを実行するアプリケーションです。A "high" integrity application is one that performs tasks that modify system data, such as a disk partitioning application, while a "low" integrity application is one that performs tasks that could potentially compromise the operating system, such as a Web browser. 整合性レベルが低いアプリでは、整合性レベルの高いアプリケーションのデータを変更できません。Apps with lower integrity levels cannot modify data in applications with higher integrity levels. 標準ユーザーが管理者アクセス トークンを必要とするアプリを実行しようとすると、UAC はユーザーが有効な管理者資格情報を入力する必要があります。When a standard user attempts to run an app that requires an administrator access token, UAC requires that the user provide valid administrator credentials.

このプロセスの実行方法をよりよく理解するために、Windows ログオン プロセスを見てみましょう。In order to better understand how this process happens, let's look at the Windows logon process.

ログオン プロセスLogon process

管理者のログオン プロセスと標準ユーザーのログオン プロセスの違いを次に示します。The following shows how the logon process for an administrator differs from the logon process for a standard user.

uac windows ログオン プロセス

既定では、標準ユーザーと管理者はリソースにアクセスし、標準ユーザーのセキュリティ コンテキストでアプリを実行します。By default, standard users and administrators access resources and run apps in the security context of standard users. ユーザーがコンピューターにログオンすると、システムによってそのユーザーのアクセス トークンが作成されます。When a user logs on to a computer, the system creates an access token for that user. アクセス トークンには、特定のセキュリティ識別子 (SID) や Windows 権限など、ユーザーに付与されるアクセス レベルに関する情報が含まれます。The access token contains information about the level of access that the user is granted, including specific security identifiers (SIDs) and Windows privileges.

管理者がログオンすると、標準のユーザー アクセス トークンと管理者アクセス トークンの 2 つの個別のアクセス トークンがユーザーに対して作成されます。When an administrator logs on, two separate access tokens are created for the user: a standard user access token and an administrator access token. 標準のユーザー アクセス トークンには、管理者アクセス トークンと同じユーザー固有の情報が含まれますが、管理者の Windows 権限と SID は削除されます。The standard user access token contains the same user-specific information as the administrator access token, but the administrative Windows privileges and SIDs are removed. 標準のユーザー アクセス トークンは、管理タスクを実行しないアプリ (標準ユーザー アプリ) を起動するために使用されます。The standard user access token is used to start apps that do not perform administrative tasks (standard user apps). その後、標準のユーザー アクセス トークンを使用してデスクトップ (explorer.exe)。The standard user access token is then used to display the desktop (explorer.exe). Explorer.exeは、他のすべてのユーザーが開始するプロセスがアクセス トークンを継承する親プロセスです。Explorer.exe is the parent process from which all other user-initiated processes inherit their access token. その結果、ユーザーが完全な管理アクセス トークンを使用するアプリを承認するための同意または資格情報を提供しない限り、すべてのアプリは標準ユーザーとして実行されます。As a result, all apps run as a standard user unless a user provides consent or credentials to approve an app to use a full administrative access token.

Administrators グループのメンバーであるユーザーは、標準のユーザー アクセス トークンを使用しながら、ログオン、Web の参照、および電子メールの読み取りを実行できます。A user that is a member of the Administrators group can log on, browse the Web, and read e-mail while using a standard user access token. 管理者が管理者アクセス トークンを必要とするタスクを実行する必要がある場合、Windows 10 はユーザーに承認を求めるメッセージを自動的に表示します。When the administrator needs to perform a task that requires the administrator access token, Windows 10 automatically prompts the user for approval. このプロンプトを昇格プロンプトと呼び、ローカル セキュリティ ポリシー スナップイン (Secpol.msc) またはグループ ポリシーを使用して動作を構成できます。This prompt is called an elevation prompt, and its behavior can be configured by using the Local Security Policy snap-in (Secpol.msc) or Group Policy. 詳しくは、「ユーザー アカウント制御 のセキュリティ ポリシー設定」をご覧くださいFor more info, see User Account Control security policy settings.

UAC ユーザー エクスペリエンスThe UAC User Experience

UAC を有効にすると、標準ユーザーのユーザー エクスペリエンスは管理者承認モードの管理者のユーザー エクスペリエンスとは異なります。When UAC is enabled, the user experience for standard users is different from that of administrators in Admin Approval Mode. Windows 10 を実行するための推奨されるより安全な方法は、プライマリ ユーザー アカウントを標準ユーザー アカウントにすることです。The recommended and more secure method of running Windows 10 is to make your primary user account a standard user account. 標準ユーザーとして実行すると、管理環境のセキュリティを最大化できます。Running as a standard user helps to maximize security for a managed environment. 組み込みの UAC 昇格コンポーネントを使用すると、標準ユーザーはローカル管理者アカウントの有効な資格情報を入力することで、管理タスクを簡単に実行できます。With the built-in UAC elevation component, standard users can easily perform an administrative task by entering valid credentials for a local administrator account. 標準ユーザーの既定の組み込みの UAC 昇格コンポーネントは、資格情報プロンプトです。The default, built-in UAC elevation component for standard users is the credential prompt.

標準ユーザーとして実行する代わりに、管理者承認モードで管理者として実行することもできます。The alternative to running as a standard user is to run as an administrator in Admin Approval Mode. 組み込みの UAC 昇格コンポーネントを使用すると、ローカルの Administrators グループのメンバーは、承認を提供することで管理タスクを簡単に実行できます。With the built-in UAC elevation component, members of the local Administrators group can easily perform an administrative task by providing approval. 管理者承認モードの管理者アカウントの既定の組み込み UAC 昇格コンポーネントは、同意プロンプトと呼ばれる。The default, built-in UAC elevation component for an administrator account in Admin Approval Mode is called the consent prompt.

同意と資格情報のプロンプトThe consent and credential prompts

UAC を有効にすると、Windows 10 は、完全な管理者アクセス トークンを必要とするプログラムまたはタスクを開始する前に、同意を求めるメッセージを表示するか、有効なローカル管理者アカウントの資格情報を求めるメッセージを表示します。With UAC enabled, Windows 10 prompts for consent or prompts for credentials of a valid local administrator account before starting a program or task that requires a full administrator access token. このプロンプトにより、悪意のあるソフトウェアをサイレント インストールする必要が生じなきます。This prompt ensures that no malicious software can be silently installed.

同意プロンプトThe consent prompt

ユーザーがユーザーの管理アクセス トークンを必要とするタスクを実行しようとすると、同意プロンプトが表示されます。The consent prompt is presented when a user attempts to perform a task that requires a user's administrative access token. UAC 同意プロンプトの例を次に示します。The following is an example of the UAC consent prompt.

uac の同意プロンプト

資格情報プロンプトThe credential prompt

標準ユーザーがユーザーの管理アクセス トークンを必要とするタスクを実行しようとすると、資格情報プロンプトが表示されます。The credential prompt is presented when a standard user attempts to perform a task that requires a user's administrative access token. 管理者は、ユーザー アカウント制御 : 管理者承認モードの管理者に対する昇格プロンプトの動作の設定値を [資格情報の入力を求める] に設定して、資格情報の入力を要求することもできます。Administrators can also be required to provide their credentials by setting the User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode policy setting value to Prompt for credentials.

UAC 資格情報プロンプトの例を次に示します。The following is an example of the UAC credential prompt.

uac 資格情報プロンプト

UAC 昇格のプロンプトUAC elevation prompts

UAC 昇格プロンプトは、アプリ固有の色分けされ、アプリケーションの潜在的なセキュリティ リスクを即座に特定できます。The UAC elevation prompts are color-coded to be app-specific, enabling for immediate identification of an application's potential security risk. アプリが管理者のフル アクセス トークンで実行を試みる場合、Windows 10 はまず実行可能ファイルを分析して発行元を特定します。When an app attempts to run with an administrator's full access token, Windows 10 first analyzes the executable file to determine its publisher. アプリは、最初にファイルの発行元に基づいて 3 つのカテゴリに分けられます。Windows 10、発行元が確認済み (署名済み)、発行元が検証されていない (署名なし)。Apps are first separated into three categories based on the file's publisher: Windows 10, publisher verified (signed), and publisher not verified (unsigned). 次の図は、Windows 10 がユーザーに表示するカラー昇格プロンプトを決定する方法を示しています。The following diagram illustrates how Windows 10 determines which color elevation prompt to present to the user.

昇格プロンプトの色分けは次のとおりです。The elevation prompt color-coding is as follows:

  • 赤い盾のアイコンが付く赤い背景: アプリがグループ ポリシーによってブロックされている、またはブロックされている発行元からのアプリです。Red background with a red shield icon: The app is blocked by Group Policy or is from a publisher that is blocked.
  • 青とゴールドの盾アイコンを持つ青い背景: アプリケーションは、コントロール パネル項目などの Windows 10 管理アプリです。Blue background with a blue and gold shield icon: The application is a Windows 10 administrative app, such as a Control Panel item.
  • 青い盾アイコンを持つ青い背景: アプリケーションは Authenticode を使用して署名され、ローカル コンピューターによって信頼されます。Blue background with a blue shield icon: The application is signed by using Authenticode and is trusted by the local computer.
  • 黄色の盾アイコンが付く黄色の背景: アプリケーションは署名されていないか署名されますが、ローカル コンピューターによってはまだ信頼されていません。Yellow background with a yellow shield icon: The application is unsigned or signed but is not yet trusted by the local computer.

盾アイコンShield icon

日付や時刻のプロパティなど、**** 一部のコントロール パネル項目には、管理者と標準的なユーザー操作の組み合わせが含まれます。Some Control Panel items, such as Date and Time Properties, contain a combination of administrator and standard user operations. 標準ユーザーは時計を表示してタイム ゾーンを変更できますが、ローカル システムの時刻を変更するには、完全な管理者アクセス トークンが必要です。Standard users can view the clock and change the time zone, but a full administrator access token is required to change the local system time. 日付と時刻のプロパティ コントロール パネル項目のスクリーン ショット を次 に示します。The following is a screen shot of the Date and Time Properties Control Panel item.

uac シールド アイコン

[変更日時]**** ボタンの盾アイコンは、プロセスに完全な管理者アクセス トークンが必要であり、UAC 昇格プロンプトが表示されます。The shield icon on the Change date and time button indicates that the process requires a full administrator access token and will display a UAC elevation prompt.

昇格プロンプトのセキュリティ保護Securing the elevation prompt

昇格プロセスは、セキュリティで保護されたデスクトップにプロンプトを表示することでさらにセキュリティ保護されます。The elevation process is further secured by directing the prompt to the secure desktop. 同意と資格情報のプロンプトは、Windows 10 では既定でセキュリティで保護されたデスクトップに表示されます。The consent and credential prompts are displayed on the secure desktop by default in Windows 10. セキュリティで保護されたデスクトップにアクセスできるのは Windows プロセスのみです。Only Windows processes can access the secure desktop. より高いレベルのセキュリティでは、ユーザー アカウント制御を維持することをお勧めします。昇格ポリシー設定を有効にするように求めるメッセージが表示されたら、セキュリティで保護されたデスクトップ 切り替えます。For higher levels of security, we recommend keeping the User Account Control: Switch to the secure desktop when prompting for elevation policy setting enabled.

実行可能ファイルが昇格を要求すると、ユーザー デスクトップとも呼ばれる対話型デスクトップがセキュリティで保護されたデスクトップに切り替えます。When an executable file requests elevation, the interactive desktop, also called the user desktop, is switched to the secure desktop. セキュリティで保護されたデスクトップはユーザーのデスクトップを暗くし、続行する前に応答する必要がある昇格プロンプトを表示します。The secure desktop dims the user desktop and displays an elevation prompt that must be responded to before continuing. ユーザーが [は い] または [いいえ] をクリック すると、デスクトップはユーザー のデスクトップに切り替えます。When the user clicks Yes or No, the desktop switches back to the user desktop.

マルウェアはセキュリティで保護されたデスクトップの権限を提示できますが、[ユーザー アカウント制御 : 管理者承認モードの管理者に対する昇格プロンプトの動作] ポリシー**** 設定が [同意を求める] に設定されている場合、**** ユーザーが [はい] をクリックしても、マルウェアは昇格しません。Malware can present an imitation of the secure desktop, but when the User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode policy setting is set to Prompt for consent, the malware does not gain elevation if the user clicks Yes on the imitation. ポリシー設定が [資格情報の**** 入力を求める] に設定されている場合、資格情報プロンプトを模倣するマルウェアがユーザーから資格情報を収集できる場合があります。If the policy setting is set to Prompt for credentials, malware imitating the credential prompt may be able to gather the credentials from the user. ただし、マルウェアには昇格された特権は付与されません。また、システムには、取得したパスワードを使用した場合でも、マルウェアがユーザー インターフェイスを制御する可能性を軽減する他の保護機能があります。However, the malware does not gain elevated privilege and the system has other protections that mitigate malware from taking control of the user interface even with a harvested password.

マルウェアはセキュリティで保護されたデスクトップの存在する可能性があるが、ユーザーが以前に PC にマルウェアをインストールしない限り、この問題は発生しません。While malware could present an imitation of the secure desktop, this issue cannot occur unless a user previously installed the malware on the PC. UAC が有効な場合、管理者アクセス トークンを必要とするプロセスはサイレント インストールできないので、ユーザーは [は**** い] をクリックするか、管理者の資格情報を入力して明示的に同意する必要があります。Because processes requiring an administrator access token cannot silently install when UAC is enabled, the user must explicitly provide consent by clicking Yes or by providing administrator credentials. UAC 昇格プロンプトの具体的な動作は、グループ ポリシーによって異なります。The specific behavior of the UAC elevation prompt is dependent upon Group Policy.

UAC アーキテクチャUAC Architecture

次の図は、UAC アーキテクチャの詳細を示しています。The following diagram details the UAC architecture.

uac アーキテクチャ

各コンポーネントをよりよく理解するには、次の表を参照してください。To better understand each component, review the table below:

コンポーネントComponent 説明Description
ユーザーUser

ユーザーが権限を必要とする操作を実行するUser performs operation requiring privilege

操作によってファイル システムまたはレジストリが変更された場合は、仮想化が呼び出されます。If the operation changes the file system or registry, Virtualization is called. その他のすべての操作は ShellExecute を呼び出します。All other operations call ShellExecute.

ShellExecuteShellExecute

ShellExecute は CreateProcess を呼び出します。ShellExecute calls CreateProcess. ShellExecute は、CreateProcess ERROR_ELEVATION_REQUIREDエラーを検出します。ShellExecute looks for the ERROR_ELEVATION_REQUIRED error from CreateProcess. エラーを受け取った場合、ShellExecute はアプリケーション情報サービスを呼び出して、管理者特権のプロンプトで要求されたタスクの実行を試行します。If it receives the error, ShellExecute calls the Application Information service to attempt to perform the requested task with the elevated prompt.

CreateProcessCreateProcess

アプリケーションで昇格が必要な場合、CreateProcess は、ユーザーが昇格した通話ERROR_ELEVATION_REQUIRED。If the application requires elevation, CreateProcess rejects the call with ERROR_ELEVATION_REQUIRED.

SystemSystem

アプリケーション情報サービスApplication Information service

ローカル管理タスクなど、1 つ以上の昇格された特権またはユーザー権限を必要とするアプリや、より高い整合性レベルを必要とするアプリを起動するのに役立つシステム サービス。A system service that helps start apps that require one or more elevated privileges or user rights to run, such as local administrative tasks, and apps that require higher integrity levels. Application Information Service は、昇格が必要な場合に管理ユーザー'のフル アクセス トークンを使用してアプリケーションの新しいプロセスを作成し、(グループ ポリシーに応じて) ユーザーが同意することにより、このようなアプリを開始するのに役立ちます。The Application Information service helps start such apps by creating a new process for the application with an administrative user's full access token when elevation is required and (depending on Group Policy) consent is given by the user to do so.

インストールのActiveXするElevating an ActiveX install

インストールActiveX場合、システムは UAC スライダー レベルをチェックします。If ActiveX is not installed, the system checks the UAC slider level. インストールActiveX場合、[ユーザー アカウント制御: グループ ポリシーの昇格の設定を求めるメッセージが表示されたら、セキュリティで保護されたデスクトップに切り替える] が オンになります。If ActiveX is installed, the User Account Control: Switch to the secure desktop when prompting for elevation Group Policy setting is checked.

UAC スライダー レベルを確認するCheck UAC slider level

UAC には、通知の 4 つのレベルから選択するスライダーがあります。UAC has a slider to select from four levels of notification.

  • 常に通知 します。Always notify will:

    • プログラムがソフトウェアのインストールを試み、またはコンピューターに変更を加えた場合に通知します。Notify you when programs try to install software or make changes to your computer.
    • Windows の設定を変更した場合に通知します。Notify you when you make changes to Windows settings.
    • 応答するまで他のタスクを固定します。Freeze other tasks until you respond.

    多くの場合、新しいソフトウェアをインストールしたり、使い慣れない Web サイトにアクセスしたりする場合に推奨されます。Recommended if you often install new software or visit unfamiliar websites.


  • プログラムが自分のコンピューターに変更を加える場合にのみ、通知を受け 取る必要があります。Notify me only when programs try to make changes to my computer will:

    • プログラムがソフトウェアのインストールを試み、またはコンピューターに変更を加えた場合に通知します。Notify you when programs try to install software or make changes to your computer.
    • Windows の設定を変更した場合は通知を受け取らなきます。Not notify you when you make changes to Windows settings.
    • 応答するまで他のタスクを固定します。Freeze other tasks until you respond.

    頻繁にアプリをインストールしたり、見慣れない Web サイトにアクセスしたりしない場合に推奨されます。Recommended if you do not often install apps or visit unfamiliar websites.


  • プログラムが自分のコンピューターに変更を加える (デスクトップを暗くしない) 場合にのみ、通知 を受け取る必要があります。Notify me only when programs try to make changes to my computer (do not dim my desktop) will:

    • プログラムがソフトウェアをインストールしようとしたり、コンピューターに変更を加えた場合に通知します。Notify you when programs try to install software or make changes to your computer.
    • Windows の設定を変更した場合は通知を受け取らなきます。Not notify you when you make changes to Windows settings.
    • 応答するまで、他のタスクを固定しないでください。Not freeze other tasks until you respond.

    推奨されません。Not recommended. コンピューターのデスクトップを暗くするのに長い時間がかかる場合にのみ、これを選択します。Choose this only if it takes a long time to dim the desktop on your computer.


  • 通知しない (UAC プロンプトを無効にする) と、次のメッセージが 表示されます。Never notify (Disable UAC prompts) will:

    • プログラムがソフトウェアをインストールしようとしたり、コンピューターに変更を加えたりしようとするときに通知を受け取らな。Not notify you when programs try to install software or make changes to your computer.
    • Windows の設定を変更した場合は通知を受け取らなきます。Not notify you when you make changes to Windows settings.
    • 応答するまで、他のタスクを固定しないでください。Not freeze other tasks until you respond.

    セキュリティ上の問題のため、お勧めできません。Not recommended due to security concerns.

セキュリティで保護されたデスクトップが有効Secure desktop enabled

ユーザー アカウント制御: 昇格ポリシー設定を確認するメッセージが表示されたら、セキュリティで保護されたデスクトップ に切り替えます。The User Account Control: Switch to the secure desktop when prompting for elevation policy setting is checked:

  • セキュリティで保護されたデスクトップが有効になっている場合、管理者と標準ユーザーのプロンプト動作ポリシー設定に関係なく、すべての昇格要求はセキュリティで保護されたデスクトップに送信されます。If the secure desktop is enabled, all elevation requests go to the secure desktop regardless of prompt behavior policy settings for administrators and standard users.

  • セキュリティで保護されたデスクトップが有効になっていない場合、すべての昇格要求は対話型ユーザー'のデスクトップに送信され、管理者と標準ユーザーのユーザーごとの設定が使用されます。If the secure desktop is not enabled, all elevation requests go to the interactive user's desktop, and the per-user settings for administrators and standard users are used.

CreateProcessCreateProcess

CreateProcess は AppCompat、Fusion、インストーラーの検出を呼び出して、アプリが昇格を必要とすると評価します。CreateProcess calls AppCompat, Fusion, and Installer detection to assess if the app requires elevation. 次に、ファイルが検査され、要求された実行レベルが決定されます。この実行レベルは、ファイルのアプリケーション マニフェストに格納されます。The file is then inspected to determine its requested execution level, which is stored in the application manifest for the file. マニフェストで指定された要求された実行レベルがアクセス トークンと一致し、ShellExecute にエラー (ERROR_ELEVATION_REQUIRED) が返された場合、CreateProcess は失敗します。CreateProcess fails if the requested execution level specified in the manifest does not match the access token and returns an error (ERROR_ELEVATION_REQUIRED) to ShellExecute.

AppCompatAppCompat

AppCompat データベースは、アプリケーションのアプリケーション互換性修正エントリに情報を格納します。The AppCompat database stores information in the application compatibility fix entries for an application.

FusionFusion

Fusion データベースには、アプリケーションを記述するアプリケーション マニフェストからの情報が格納されます。The Fusion database stores information from application manifests that describe the applications. マニフェスト スキーマが更新され、要求された新しい実行レベル フィールドが追加されます。The manifest schema is updated to add a new requested execution level field.

インストーラーの検出Installer detection

インストーラー検出はセットアップ ファイルを検出します。これにより、ユーザーが知識と同意を得ずにインストール'実行されるのを防ぐのに役立ちます。Installer detection detects setup files, which helps prevent installations from being run without the user's knowledge and consent.

KernelKernel

仮想化Virtualization

仮想化テクノロジを使用すると、非準拠アプリは、原因を特定できない方法で、サイレント モードで実行または失敗を行うのを行うのを行う必要があります。Virtualization technology ensures that non-compliant apps do not silently fail to run or fail in a way that the cause cannot be determined. UAC は、保護された領域に書き込むアプリケーションのファイルとレジストリの仮想化とログも提供します。UAC also provides file and registry virtualization and logging for applications that write to protected areas.

ファイル システムとレジストリFile system and registry

ユーザーごとのファイルとレジストリの仮想化は、コンピューターごとのレジストリおよびファイル書き込み要求を、同等のユーザーごとの場所にリダイレクトします。The per-user file and registry virtualization redirects per-computer registry and file write requests to equivalent per-user locations. 読み取り要求は、仮想化されたユーザーごとの場所に最初にリダイレクトされ、2 番目にコンピューターごとの場所にリダイレクトされます。Read requests are redirected to the virtualized per-user location first and to the per-computer location second.

スライダーが UAC を完全にオフにしない。The slider will never turn UAC completely off. [通知しない] に 設定すると 、次の設定が行います。If you set it to Never notify, it will:
  • UAC サービスを実行し続ける。Keep the UAC service running.
  • UAC プロンプトを表示せずに、管理者によって開始された昇格要求を自動的に承認するようにします。Cause all elevation request initiated by administrators to be auto-approved without showing a UAC prompt.
  • 標準ユーザーのすべての昇格要求を自動的に拒否します。Automatically deny all elevation requests for standard users.

重要

UAC を完全に無効にするには、[ユーザー アカウント制御: 管理者承認モードですべての管理者を実行する] ポリシーを無効 にする必要がありますIn order to fully disable UAC you must disable the policy User Account Control: Run all administrators in Admin Approval Mode.

警告

UAC が無効になっていると、一部のユニバーサル Windows プラットフォーム アプリが動作しない場合があります。Some Universal Windows Platform apps may not work when UAC is disabled.

仮想化Virtualization

エンタープライズ環境のシステム管理者はシステムのセキュリティ保護を試み、多くの LOB (Line-of-Business) アプリケーションは標準のユーザー アクセス トークンのみを使用するように設計されています。Because system administrators in enterprise environments attempt to secure systems, many line-of-business (LOB) applications are designed to use only a standard user access token. そのため、UAC を有効にした場合に、大部分のアプリを置き換える必要がなされます。As a result, you do not need to replace the majority of apps when UAC is turned on.

Windows 10 には、UAC に準拠していないアプリで、管理者のアクセス トークンを正しく実行する必要があるアプリ用のファイルとレジストリの仮想化テクノロジが含まれています。Windows 10 includes file and registry virtualization technology for apps that are not UAC-compliant and that require an administrator's access token to run correctly. UAC に準拠していない管理アプリが、Program Files などの保護されたフォルダーに書き込みを試みる場合、UAC は、変更を試みるリソースの仮想化されたビューをアプリに独自に提供します。When an administrative apps that is not UAC-compliant attempts to write to a protected folder, such as Program Files, UAC gives the app its own virtualized view of the resource it is attempting to change. 仮想化されたコピーは、ユーザーのプロファイルに保持されます。The virtualized copy is maintained in the user's profile. この戦略では、非準拠アプリを実行するユーザーごとに仮想化ファイルのコピーを個別に作成します。This strategy creates a separate copy of the virtualized file for each user that runs the non-compliant app.

ほとんどのアプリ タスクは、仮想化機能を使用して正しく動作します。Most app tasks operate properly by using virtualization features. 仮想化によって大部分のアプリケーションを実行することができますが、これは短期的な修正であり、長期的なソリューションではありません。Although virtualization allows a majority of applications to run, it is a short-term fix and not a long-term solution. アプリ開発者は、ファイル、フォルダー、レジストリの仮想化に依存するのではなく、できるだけ早く準拠するためにアプリを変更する必要があります。App developers should modify their apps to be compliant as soon as possible, rather than relying on file, folder, and registry virtualization.

仮想化は、次のシナリオではオプションではありません。Virtualization is not an option in the following scenarios:

  • 仮想化は、管理者特権で完全な管理アクセス トークンを使用して実行されるアプリには適用されません。Virtualization does not apply to apps that are elevated and run with a full administrative access token.

  • 仮想化は 32 ビット アプリのみをサポートします。Virtualization supports only 32-bit apps. 昇格されていない 64 ビット アプリは、Windows オブジェクトへのハンドル (一意の識別子) を取得しようとすると、単にアクセス拒否メッセージを受け取ります。Non-elevated 64-bit apps simply receive an access denied message when they attempt to acquire a handle (a unique identifier) to a Windows object. ネイティブの Windows 64 ビット アプリは、UAC と互換性があり、正しい場所にデータを書き込む必要があります。Native Windows 64-bit apps are required to be compatible with UAC and to write data into the correct locations.

  • アプリに要求された実行レベル属性を持つアプリ マニフェストが含まれる場合、仮想化は無効になります。Virtualization is disabled if the app includes an app manifest with a requested execution level attribute.

要求実行レベルRequest execution levels

アプリ マニフェストは、実行時にアプリがバインドする必要がある共有アセンブリとプライベート なサイド バイ サイド アセンブリを記述して識別する XML ファイルです。An app manifest is an XML file that describes and identifies the shared and private side-by-side assemblies that an app should bind to at run time. アプリ マニフェストには、UAC アプリの互換性を目的としてエントリが含まれています。The app manifest includes entries for UAC app compatibility purposes. アプリ マニフェストにエントリを含む管理アプリは、ユーザーのアクセス トークンにアクセスするためのアクセス許可をユーザーに求めるメッセージを表示します。Administrative apps that include an entry in the app manifest prompt the user for permission to access the user's access token. アプリ マニフェストにはエントリが含まれていますが、ほとんどの管理アプリは、アプリ互換性修正プログラムを使用して変更せずに実行できます。Although they lack an entry in the app manifest, most administrative app can run without modification by using app compatibility fixes. アプリの互換性修正プログラムは、UAC に準拠していないアプリケーションが正常に動作できるデータベース エントリです。App compatibility fixes are database entries that enable applications that are not UAC-compliant to work properly.

UAC 準拠のすべてのアプリには、要求された実行レベルがアプリケーション マニフェストに追加されている必要があります。All UAC-compliant apps should have a requested execution level added to the application manifest. アプリケーションがシステムへの管理アクセスを必要とする場合、要求された実行レベルとして "管理者が必要" としてアプリをマークすると、システムは、このプログラムを管理アプリとして識別し、必要な昇格手順を実行します。If the application requires administrative access to the system, then marking the app with a requested execution level of "require administrator" ensures that the system identifies this program as an administrative app and performs the necessary elevation steps. 要求された実行レベルは、アプリに必要な特権を指定します。Requested execution levels specify the privileges required for an app.

インストーラー検出テクノロジInstaller detection technology

インストール プログラムは、ソフトウェアを展開するように設計されたアプリです。Installation programs are apps designed to deploy software. ほとんどのインストール プログラムは、システム ディレクトリとレジストリ キーに書き込まれます。Most installation programs write to system directories and registry keys. これらの保護されたシステムの場所は、通常、インストーラー検出テクノロジの管理者だけが書き込み可能です。つまり、標準ユーザーはプログラムをインストールするのに十分なアクセス権を持ってはいなことを意味します。These protected system locations are typically writeable only by an administrator in Installer detection technology, which means that standard users do not have sufficient access to install programs. Windows 10 は、アクセス特権で実行するために、インストール プログラムをヒューリスティックに検出し、管理者の資格情報または管理者ユーザーの承認を要求します。Windows 10 heuristically detects installation programs and requests administrator credentials or approval from the administrator user in order to run with access privileges. Windows 10 では、アプリケーションをアンインストールする更新プログラムやプログラムもヒューリスティックに検出されます。Windows 10 also heuristically detects updates and programs that uninstall applications. UAC の設計目標の 1 つは、インストール プログラムがファイル システムとレジストリの保護領域に書き込むため、ユーザーの知識と同意なしにインストールが実行されるのを防ぐことです。One of the design goals of UAC is to prevent installations from being run without the user's knowledge and consent because installation programs write to protected areas of the file system and registry.

インストーラーの検出は、次の場合にのみ適用されます。Installer detection only applies to:

  • 32 ビットの実行可能ファイル。32-bit executable files.
  • 要求された実行レベル属性のないアプリケーション。Applications without a requested execution level attribute.
  • UAC が有効な標準ユーザーとして実行される対話型プロセス。Interactive processes running as a standard user with UAC enabled.

32 ビット プロセスを作成する前に、次の属性がチェックされ、インストーラーかどうかが確認されます。Before a 32-bit process is created, the following attributes are checked to determine whether it is an installer:

  • ファイル名には、"install"、"setup"、"update" などのキーワードが含まれます。The file name includes keywords such as "install," "setup," or "update."
  • [バージョン管理リソース] フィールドには、[ベンダー]、[会社名]、[製品名]、[ファイルの説明]、[元のファイル名]、[内部名]、および [エクスポート名] の各キーワードが含まれます。Versioning Resource fields contain the following keywords: Vendor, Company Name, Product Name, File Description, Original Filename, Internal Name, and Export Name.
  • サイド バイ サイド マニフェストのキーワードは、実行可能ファイルに埋め込まれます。Keywords in the side-by-side manifest are embedded in the executable file.
  • 特定の StringTable エントリ内のキーワードは、実行可能ファイルにリンクされます。Keywords in specific StringTable entries are linked in the executable file.
  • リソース スクリプト データの主要な属性は、実行可能ファイルにリンクされます。Key attributes in the resource script data are linked in the executable file.
  • 実行可能ファイル内には、バイトの対象となるシーケンスがあります。There are targeted sequences of bytes within the executable file.

注意

キーワードとバイトシーケンスは、さまざまなインストーラー テクノロジで観察される一般的な特性から導き出されました。The keywords and sequences of bytes were derived from common characteristics observed from various installer technologies.

注意

ユーザー アカウント制御: インストール プログラムを検出するには、アプリケーションのインストールを検出し、昇格ポリシー設定のプロンプトを有効にする必要があります。The User Account Control: Detect application installations and prompt for elevation policy setting must be enabled for installer detection to detect installation programs. 詳しくは、「ユーザー アカウント制御 のセキュリティ ポリシー設定」をご覧くださいFor more info, see User Account Control security policy settings.