このステップ バイ ステップ ガイドでは、テスト環境でユーザー アカウント制御 (UAC) を使用するために必要な手順について説明します。
このガイドは、UAC の包括的で詳細な説明を目的としたものではありません。Microsoft® Windows Vista® および Windows Server 2008 オペレーティング システムのリリースの前に、UAC に関する追加ドキュメントが提供される予定です。追加リソースには以下が含まれます。
| • | 「Windows Vista でユーザー アカウント制御を開始する」 (英語) は、このステップ バイ ステップ ガイドのすべてのユーザーにとって役に立ちます。 |
| • | IT プロフェッショナル向けの追加情報については、「Windows Vista のユーザー アカウント制御の概要および構成」 (英語) を参照してください。 |
| • | Windows Vista 用アプリケーションの開発方法に関する開発者および独立系ソフトウェア ベンダ向けの情報については、「ユーザー アカウント制御の互換性のための Windows Vista アプリケーション開発要件 」 (英語) を参照してください。 |
ユーザー アカウント制御 (UAC) は、Windows Vista の新しいセキュリティ コンポーネントです。UAC を使用すると、ユーザーの切り替えやログオフを行ったり [別のユーザーとして実行] を使用したりする必要なく、非管理者 (標準ユーザー) として、および管理者として共通タスクを実行することができます。Windows Vista の標準ユーザー アカウントは、Windows XP のユーザー アカウントと同等です。ローカル Administrators グループのメンバであるユーザー アカウントは、標準ユーザーとしてほとんどのアプリケーションを実行できます。生産性を向上させながらユーザーと管理者の機能を分離する UAC は Windows Vista の重要な機能強化です。
Windows Vista を実行するコンピュータに管理者がログオンすると、2 つの独立したアクセス トークンがユーザーに割り当てられます。ユーザーのグループ メンバシップ、アクセス権限、およびアクセス制御データを含むアクセス トークンは、Windows® でユーザーがアクセスできるリソースおよびタスクを制御するために使用されます。Windows Vista 以前は、管理者アカウントが受け取るアクセス トークンは 1 つだけで、すべての Windows リソースへのアクセスをユーザーに付与するデータが含まれていました。このアクセス制御モデルには、管理者アクセス トークンを必要とするタスクを実行することをユーザーが本当に望んでいるのかを確認する機能が含まれていませんでした。その結果、ユーザーに通知されることなくユーザーのコンピュータに悪質なプログラムがインストールされる可能性がありました (これは "サイレント インストール" とも呼ばれます)。
さらに、ユーザーが管理者の権限を持つため、悪質なプログラムが管理者のアクセス制御データを使用してコア オペレーティング システムに感染し、場合によっては削除できなくなることもありました。
Windows Vista の標準ユーザーと管理者の主な違いは、コンピュータの保護されたコア領域に対するアクセス レベルです。管理者は、システム状態の変更、ファイアウォールの無効化、セキュリティ ポリシーの構成、コンピュータのすべてのユーザーに影響するサービスまたはドライバのインストール、およびコンピュータ全体に対するソフトウェアのインストールを行うことができます。標準ユーザーは、これらのタスクを実行することができず、インストールできるのはユーザーごとのソフトウェアだけです。
悪質なプログラムのサイレント インストールおよびコンピュータ全体への感染を防止するために、マイクロソフトは Windows Vista の UAC 機能を開発しました。以前のバージョンの Windows とは異なり、Windows Vista を実行しているコンピュータに管理者でログオンすると、ユーザーの完全な管理者アクセス トークンは、完全な管理者アクセス トークンと標準ユーザー アクセス トークンの 2 つのアクセス トークンに分割されます。ログオン プロセスでは、管理者を識別するアクセス権限およびアクセス制御コンポーネントが削除され、標準ユーザー アクセス トークンが提供されます。標準ユーザー アクセス トークンが使用されてデスクトップおよび Explorer.exe プロセスが起動します。すべてのアプリケーションのアクセス制御データはデスクトップの初期起動から継承されるので、すべてのアプリケーションは標準ユーザーとして実行されます。
管理者でログオンした後、完全な管理者アクセス トークンはユーザーが管理タスクを実行するときまで使用されません。
このプロセスとは対照的に、標準ユーザーがログオンした場合は、標準ユーザー アクセス トークンだけが作成されます。デスクトップの起動には、この標準ユーザー アクセス トークンが使用されます。
ユーザー エクスペリエンスはセキュリティ ポリシー マネージャ スナップイン (secpol.msc) およびグループ ポリシーで構成できるので、UAC のユーザー エクスペリエンスは構成ごとに異なります。標準ユーザー、管理者、またはその両方に表示されるプロンプトおよびダイアログは、環境における構成により異なります。
このガイドは次の読者を対象としています。
| • | 製品の評価を行う IT プランナおよび IT アナリスト |
| • | 早期導入ユーザー |
| • | 信頼できるコンピューティングの実装を担当しているセキュリティ アーキテクト |
上記の対象読者は、Windows Vista 上での基幹業務 (LOB) アプリケーションの動作をテストするために、このガイドを使用する必要があります。UAC では管理者プロセスと標準ユーザー プロセスが明確に区別されるので、既存の LOB アプリケーションの中には、独立系ソフトウェア ベンダ (ISV) や社内ツール担当のチームが再設計を行うか、権限を常に昇格して実行するように指定する必要があるものがあります。
| • | |
| • | |
| • | |
| • | |
| • | |
| • | |
| • |
このガイドに記載している手順は、まずテスト環境で使用することをお勧めします。ステップ バイ ステップ ガイドは、「関連資料」に記載した付属ドキュメントを使用せずに Windows Vista オペレーティング システムを展開するという意図では作成されていません。このドキュメントを単独で使用する場合は、慎重にお使いください。
UAC のテストに必要な環境は、Microsoft Windows Server® 2008 (または Microsoft Windows Server™ 2003) を実行するドメイン コントローラ、Windows Server 2008 (または Windows Server 2003) を実行するメンバ サーバー、および Windows Vista を実行するクライアント コンピュータで構成します。ドメイン コントローラ、メンバ サーバー、およびクライアント コンピュータは、孤立したネットワークに配置し、一般的なハブまたはレイヤ 2 スイッチ経由で接続します。テスト構成全体で、プライベート アドレスを使用します。
このガイドでは、次の UAC のシナリオについて説明します。
| • | |
| • | |
| • |
このガイドに記載した 3 つのシナリオは、管理者が Windows Vista の UAC 機能を理解できるようになることを目的にしています。これらのシナリオには、管理者が UAC を使い始めるのに必要な基本的な情報と手順が含まれています。このガイドには、高度な UAC 構成または UAC 構成のカスタマイズに関する情報と手順は含まれていません。
Windows Vista では、UAC と UAC の管理者承認モードが既定で有効になっています。UAC が有効な場合、ローカル管理者アカウントは標準ユーザー アカウントとして実行されます。つまり、ローカル Administrators グループのメンバがログオンした場合、ローカル管理者アカウントは管理者特権が無効な状態で実行されます。この状態は、ローカル管理者アカウントが管理者トークンを持つアプリケーションやタスクを実行するまで続きます。ローカル Administrators グループのメンバが管理者トークンを持つアプリケーションやタスクを開始すると、特権が有効な状態に昇格してそのアプリケーションを実行することについて同意を求められます。シナリオ 1 では、一時的に特権が有効な状態に昇格してアプリケーションやタスクを実行する手順について詳しく説明します。
以下の手順を実行するには、クライアント コンピュータにローカル Administrators グループのメンバとしてログインする必要があります。コンピュータ (またはビルトイン) 管理者アカウントには既定で管理者承認モードが適用されないので、コンピュータ (またはビルトイン) 管理者アカウントでログインすることはできません (Windows Vista の新規インストールではビルトイン管理者アカウントは無効になっています)。
1. | 管理者トークンが割り当てられている可能性のあるアプリケーション (Microsoft Windows ディスク クリーンアップなど) を起動します。ユーザー アカウント制御プロンプトが表示されます。 |
2. | 表示された内容が要求に一致することを確認します。 |
3. | [ユーザー アカウント制御] ダイアログ ボックスで [続行] をクリックしてアプリケーションを起動します。 |
上記のシナリオでは、管理者アクセス トークンで権限を昇格してアプリケーションやプロセスを実行することを承認していますが、シナリオ 2 でも同様の処理を行います。ただし、このシナリオでは、開発者が管理者権限が必要なアプリケーションとしてマークしたアプリケーション、またはオペレーティング システムによって管理者権限が必要なアプリケーションとして識別されたアプリケーションを実行します。社内 LOB アプリケーションやマイクロソフト製品以外のアプリケーションでは、管理者権限が必要でも管理者権限が必要なアプリケーションとして識別されていないものがあります。このシナリオでは、ユーザーの同意を求めるプロンプトを表示するようアプリケーションをマークし、ユーザーが同意した場合に管理者権限が必要なアプリケーションとして実行します。この処理を行うには、以下の手順を実行します。
以下の手順を実行するには、クライアント コンピュータにローカル Administrators グループのメンバとしてログインする必要があります。コンピュータ (またはビルトイン) 管理者アカウントには既定で管理者承認モードが適用されないので、コンピュータ (またはビルトイン) 管理者アカウントでログインすることはできません。
この手順は、管理者権限が必要なアプリケーションを実行する同意を求めないように UAC を構成する目的では使用できません。
1. | 管理者トークンが割り当てられている可能性のないアプリケーション (ワード プロセッサ アプリケーションなど) を右クリックします。 |
2. | [プロパティ] をクリックし、[互換性] タブを選択します。 |
3. | [特権レベル] の [管理者としてこのプログラムを実行する] チェック ボックスをオンにし、[OK] をクリックします。 [管理者としてこのプログラムを実行する] チェックボックスが使用できない場合は、アプリケーションで常に権限を昇格して実行することがブロックされているか、アプリケーションの実行に管理者の資格情報が不要であるか、アプリケーションが Windows Vista の現在のバージョンの一部であるか、またはコンピュータに管理者としてログインしていないかのいずれかです。 |
シナリオ 3 では、Windows Vista を実行するクライアント コンピュータをセットアップおよび構成するときに、ローカル管理者が実行する一般的な 3 つの作業の概要について説明します。以下の手順では、管理者承認モードを無効にし、アプリケーションをインストールする場合に UAC から資格情報が求められないようにします。さらに、昇格時のプロンプト動作を変更します。
次の手順に従って、管理者承認モードを無効にします。
以下の手順を実行するには、クライアント コンピュータにローカル管理者としてログインする必要があります。
1. | [スタート] ボタン、[すべてのプログラム]、[アクセサリ]、[ファイル名を指定して実行] の順にクリックし、[名前] ボックスに「secpol.msc」と入力して、[OK] をクリックします。 |
2. | UAC がアクティブな場合は、[ユーザー アカウント制御] ダイアログ ボックスが表示されます。[ユーザー アカウント制御] ダイアログ ボックスが表示された場合は、表示された内容が要求に一致することを確認して [続行] をクリックします。 |
3. | [セキュリティの設定] コンソール ツリーの [ローカル ポリシー] をクリックし、[セキュリティ オプション] をクリックします。 |
4. | 下へスクロールして [ユーザー アカウント制御: 管理者承認モードですべての管理者を実行する] をダブルクリックします。 |
5. | [アカウント制御: 管理者承認モードですべての管理者を実行するのプロパティ] ダイアログ ボックスで [無効] をクリックし、[OK] をクリックします。 |
6. | [セキュリティの設定] ウィンドウを閉じます。 |
次の手順に従って、アプリケーションをインストールする際に資格情報を要求しないよう UAC を無効化します。
以下の手順を実行するには、クライアント コンピュータにローカル管理者としてログインする必要があります。
1. | [スタート] ボタン、[すべてのプログラム]、[アクセサリ]、[ファイル名を指定して実行] の順にクリックし、[名前] ボックスに「secpol.msc」と入力して、[OK] をクリックします。 |
2. | [セキュリティの設定] コンソール ツリーの [ローカル ポリシー] をクリックし、[セキュリティ オプション] をクリックします。 |
3. | [ユーザー アカウント制御: アプリケーションのインストールを検出し、昇格をプロンプトする] をダブルクリックします。 |
4. | 下へスクロールして [アカウント制御: アプリケーションのインストールを検出し、昇格をプロンプトするのプロパティ] ダイアログ ボックスで [無効] をクリックし、[OK] をクリックします。 |
5. | [セキュリティの設定] ウィンドウを閉じます。 |
次の手順に従って、昇格時の UAC のプロンプト動作を変更します。
以下の手順を実行するには、クライアント コンピュータにローカル管理者としてログインする必要があります。
1. | [スタート] ボタン、[アクセサリ]、[ファイル名を指定して実行] の順にクリックし、[名前] ボックスに「secpol.msc」と入力して、[OK] をクリックします。 | ||||||
2. | [セキュリティの設定] コンソール ツリーの [ローカル ポリシー] をクリックし、[セキュリティ オプション] をクリックします。 | ||||||
3. | 下へスクロールして [ユーザー アカウント制御: 管理者承認モードでの管理者に対する昇格時のプロンプトの動作] をダブルクリックします。 | ||||||
4. | ドロップダウン メニューで次のいずれかの設定を選択します。
| ||||||
5. | [OK] をクリックします。 | ||||||
6. | [セキュリティの設定] ウィンドウを閉じます。 |
1. | [スタート] ボタン、[アクセサリ]、[ファイル名を指定して実行] の順にクリックし、[名前] ボックスに「secpol.msc」と入力して、[OK] をクリックします。 | ||||
2. | [セキュリティの設定] コンソール ツリーの [ローカル ポリシー] をクリックし、[セキュリティ オプション] をクリックします。 | ||||
3. | 下へスクロールして [ユーザー アカウント制御: 標準ユーザーに対する昇格時のプロンプトの動作] をダブルクリックします。 | ||||
4. | ドロップダウン メニューで次のいずれかの設定を選択します。
| ||||
5. | [OK] をクリックします。 | ||||
6. | [セキュリティの設定] ウィンドウを閉じます。 |
UAC は Windows Vista の新しい機能なので、UAC についての皆様の体験や発生した問題、ドキュメントが役立ったかどうかなどの情報が非常に役立ちます。
バグを報告するときは、Microsoft Connect の Web サイト (http://go.microsoft.com/fwlink/?LinkId=49779) (英語) の指示に従ってください。また、UAC に関するご要望や全般的なご感想もお待ちしております。
UAC に関する一般的なご感想やご要望は uacdoc@microsoft.com に送信してください。
UAC の詳細については、次の資料を参照してください。
| • | 製品サポートが必要な場合は、Microsoft Connect の Web サイト (http://go.microsoft.com/fwlink/?LinkId=49779) (英語) を参照してください。 |
| • | UAC のニュースグループにアクセスするには、Microsoft Connect の Web サイト (http://go.microsoft.com/fwlink/?LinkId=50067) (英語) で提供されている手順を実行します。 |
IT プロフェッショナル向けの詳細情報は、次の TechNet で参照できます。
| • | Windows Vista のユーザー アカウント制御の概要および構成 (http://go.microsoft.com/fwlink/?LinkID=56402) (英語)ISV および開発者向けの詳細情報は、次の MSDN で参照できます。 |
ISV および開発者向けの詳細情報は、次の MSDN で参照できます。
| • | 最低限の特権環境におけるアプリケーション用の開発ベスト プラクティスおよびガイドライン (http://go.microsoft.com/fwlink/?LinkID=56403) (英語) |
ベータ テスタまたは特別な TAP (Technology Adoption Program) ベータ プログラムに参加している場合は、Microsoft 開発チームの担当メンバから支援を受けることができます。