カスタムの .adm および .admx 管理用テンプレート ファイルを作成して Internet Explorer 7.0 の保護モード用の昇格ポリシーを提供する方法

重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

256986 Microsoft Windows レジストリの説明

概要

Windows Vista では、セキュリティ保護可能なオブジェクトは、そのオブジェクトを作成したプロセスの整合性レベルを自動的に継承します。このため、保護モードで作成されたファイルやレジストリ キーの整合性レベルは "低" になります。つまり、整合性レベルが "低" のプロセスには、そのプロセスで作成されたオブジェクトに対する書き込みアクセス許可は与えられますが、ユーザーのプロファイルで整合性レベルが "中" または "高" に設定されているフォルダやファイルに対する書き込みアクセス許可は与えられません。



Microsoft Internet Explorer 7.0 を保護モードで実行した場合、デフォルトでは、拡張機能は整合性が "中" または "高" のオブジェクトにアクセスできません。これにより、悪意のあるソフトウェアの攻撃に対して最適な保護が提供されます。整合性が高いオブジェクトへのアクセスを拡張機能が要求した場合、Internet Explorer 7.0 のデフォルトの動作では、権限の昇格を要求するダイアログ ボックスがユーザーに表示されます。ユーザーが権限の昇格を承認した場合、整合性レベルが高いブローカー プロセスが作成されます。このブローカー プロセスは、Internet Explorer 7.0 に代わって高い整合性レベルのオブジェクトにアクセスします。



レジストリを使用すると、昇格を要求するダイアログ ボックスをユーザーに表示しないように、デフォルトの動作を上書きできます。この資料では、.adm または .admx ファイルを使用してポリシー "Enable customizing the elevation policy for Protected Mode" を管理者が追加することで、アプリケーションごとに任意の昇格ポリシーの動作を適用する方法について説明します。

はじめに

昇格ポリシーのレジストリの構成


次の値を使用してブローカーの GUID を作成し、デフォルトの昇格ポリシーを変更できます。

  • AppName : 実行可能ファイル名を表す REG_SZ 値です。

  • AppPath : ユーザーが実行可能ファイルをインストールした場所を表す REG_SZ 値です。

  • CLSID : 拡張機能が COM サーバーを起動する場合、拡張機能の CLSID を含む REG_SZ 値を追加します。

  • Policy : 保護モードによるブローカーの起動方法を示す DWORD 値です。次の表は、サポートされる値とその動作を示しています。

結果
3
ユーザーへの通知を行わずに、整合性レベルが "中" のプロセスとしてブローカーを起動します。

2
プロセスを起動するための権限をユーザーに要求します。権限が与えられた場合、プロセスは整合性レベルが "中" のプロセスとして起動されます。

1
ユーザーへの通知を行わずに、整合性レベルが "低" のプロセスとしてブローカーを起動します。

0
プロセスは起動されません。


警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。



次のように GUID を追加する必要があります。

  • 次のレジストリ サブキーの下にブローカーの GUID を追加します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy
  • 同様のレジストリ エントリを次のいずれかのレジストリ サブキーの下に作成します。

    HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy
    HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy
カスタムの .adm ファイルの作成

カスタムの .adm ファイルを作成してこのポリシーを追加するには、次の手順を実行します。

  1. 昇格ポリシーを構成するアプリケーションの一覧を定義します。上記の表の値 0 ~ 3 を使用して、各アプリケーションに適用する昇格ポリシーを決定します。

  2. メモ帳などのテキスト エディタを開き、次のテンプレートをコピーします。



    : 次のコードやこの資料のその他のサンプル コードに記述されている <APPNAME1>、<APPPATH1>、<CLSID1>、および <POLICY1> には、実際のアプリケーションの名前、パス、CLSID、および適用するポリシーが入ります。


    CLASS USER
    CATEGORY !!WindowsComponents
    CATEGORY !!InternetExplorer
    POLICY !!ConfigureElevationPolicy
    #if version >= 4
    SUPPORTED !!SUPPORTED_IE7
    #endif
    KEYNAME "Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy"
    ACTIONLISTON
    KEYNAME "Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>"
    VALUENAME AppName VALUE "<APPNAME1>"
    VALUENAME AppPath VALUE "<APPPATH1>"
    VALUENAME CLSID VALUE "<CLSID1>"
    VALUENAME Policy VALUE NUMERIC "<POLICY1>"
    END ACTIONLISTON
    END POLICY
    END CATEGORY
    END CATEGORY

    CLASS MACHINE
    CATEGORY !!WindowsComponents
    CATEGORY !!InternetExplorer
    <POLICY ... END POLICY will be exactly same as that under class user> END CATEGORY
    END CATEGORY


    [strings]
    SUPPORTED_IE7="At least Internet Explorer 7.0"
    WindowsComponents="Windows Components"
    InternetExplorer="Internet Explorer"
    ConfigureElevationPolicy="Enable customizing the elevation policy for Protected Mode"

    .admx ファイルと .adml ファイルの作成

    .admx ファイルと .adml ファイルを作成するには、カスタムの .adm テンプレート ファイルを作成する代わりに次のテンプレートを使用します。.adm ファイルの実際の値をこのテンプレートに設定するには、手順 3. を実行します。他のアプリケーションも指定する場合は、コード ブロック <enabledList> から </enabledList> までを繰り返し記述します。



    ElevationPolicy.admx ファイルの作成
    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">
    <policyNamespaces>
    <target prefix="ElevationPolicy" namespace="Microsoft.Policies.ElevationPolicy" />
    <using prefix="inetres" namespace="Microsoft.Policies.InternetExplorer" />
    </policyNamespaces>
    <resources minRequiredRevision="1.0" />
    <policies>
    <policy name="ConfigureElevationPolicy_1" class="User" displayName="$(string.ConfigureElevationPolicy)" key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy">
    <parentCategory ref="inetres:InternetExplorer" />
    <supportedOn ref="inetres:SUPPORTED_IE7Vista"/>
    <enabledList>
    <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="AppName">
    <value>
    <string><APPNAME1></string>
    </value>
    </item>
    <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="AppPath">
    <value>
    <string><APPPATH1></string>
    </value>
    </item>
    <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="CLSID">
    <value>
    <string><CLSID1></string>
    </value>
    </item>
    <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="Policy">
    <value>
    <decimal value="<POLICY1>" />
    </value>
    </item>
    </enabledList>
    </policy>
    <policy name="ConfigureElevationPolicy_2" class="Machine" displayName="$(string.ConfigureElevationPolicy)" key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy">
    <parentCategory ref="inetres:InternetExplorer" />
    <supportedOn ref="inetres:SUPPORTED_IE7Vista"/>
    <enabledList> <same as user policy above> </enabledList>
    </policy>
    </policies>
    </policyDefinitions>

    ElevationPolicy.adml ファイルの作成

    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">
    <displayName>enter display name here</displayName>
    <description>enter description here</description>
    <resources>
    <stringTable>
    <string id="ConfigureElevationPolicy">Enable customizing the elevation policy for Protected Mode</string>
    </stringTable>
    </resources>
    </policyDefinitionResources>

    : .admx ファイルは <%windir%>\policydefinitions の下、.adml ファイルは <%windir%>\policydefinitions\<%lang-dir%> の下にそれぞれ配置してください。結果を確認するには、gpedit.msc を実行します。

  3. ポリシー テンプレートに適切な値を設定します。これを行うには、次の手順を実行します。

    1. 新しい GUID を生成し、サンプル コードの <GUID1> を新しい GUID に置き換えます。

    2. 最初に選択したアプリケーションについて、<APPNAME1> を実行可能ファイル名に置き換え、<APPPATH1> を実行可能ファイルのパスに置き換えます。拡張機能が COM サーバーを起動する場合、<CLSID> を拡張機能の CLSID に置き換えます。<POLICY1> をアプリケーションの昇格ポリシー番号 0 ~ 3 に置き換えます。

    3. 選択した他のすべてのアプリケーションと同じ数だけ <enabledList> から </enabledList> までのコード ブロックを複製し、ブロックごとに手順 3a ~ 3b を実行して値を設定します。

    4. 手順 3. で作成したポリシーを、コード内の CLASS MACHINE エントリの下にコピーします。

  4. ファイルを .adm ファイル (ElevationPolicy.adm など) として保存します。

  5. 結果を確認するには、次の手順を実行します。

: 手順 3d.、4.、および 5b. は .adm ファイルの場合のみ実行してください。

プロパティ

文書番号:918239 - 最終更新日: 2007/11/20 - リビジョン: 1

フィードバック