コードを含むフォーム テンプレートのセキュリティ設定を構成するHow to: Configure Security Settings for Form Templates with Code

.NET 構成スナップインを使用して、InfoPath マネージ コード フォーム テンプレートに適用されるアクセス許可セットをカスタマイズできます。You can customize the permission set that is applied to an InfoPath managed code form template by using the .NET Configuration snap-in.

InfoPath でホストされている共通言語ランタイム (CLR) は、All_Code グループ内の InfoPath フォーム テンプレートという名前の事前定義コード グループを検索します。The common language runtime (CLR) hosted by InfoPath will look for a predefined code group named InfoPath Form Templates at the Machine policy level under the All_Code group. CLR は、そのグループで定義されているアクセス許可セットを、フォーム コードが実行されるアプリケーション ドメイン (AppDomain) に適用します。The CLR will apply the permission sets that are defined under that group to the application domain (AppDomain) where the form code runs. これにより、InfoPath マネージ コード フォーム テンプレートに付与されるアクセス許可セットをカスタマイズできます。This enables you to customize the permission sets that are granted to InfoPath managed code form templates. たとえば、http://MySite からダウンロードしたフォーム テンプレートに、Active Directory へのアクセス許可を付与できます。For example, you can grant a form template downloaded from http://MySite permission to access the Active Directory.

.NET 構成スナップインで定義したカスタム セキュリティ ポリシーを適用するには、フォーム テンプレートが実行されるすべてのクライアント コンピューター上にポリシーを配置する必要があります。For custom security policy defined by using the .NET Configuration snap-in to be applied, it must be deployed on all the client computers where the form template will run.

InfoPath マネージ コード フォーム テンプレートのセキュリティ モデルの詳細については、「コードを含むフォーム テンプレートのセキュリティ モデルについて」を参照してください。For more information about the security model for InfoPath managed code form templates, see About the Security Model for Form Templates with Code

InfoPath フォーム テンプレートのコード グループを作成するCreating a Code Group for InfoPath Form Templates

次の手順では、InfoPath マネージ コード フォーム テンプレートにアクセス許可を付与しないコード グループを作成します (ローカル コンピューターにインストールまたは登録されているフォーム テンプレートを除く)。このコード グループの下で、特定の URL または UNC にある InfoPath フォーム テンプレートにアクセス許可セットを割り当てることができます。 InfoPath Form Templates コード グループ内にコード グループを作成し、アクセス許可セットを割り当てる方法については、次の手順を参照してください。The following procedure will create a code group that grants no permissions to InfoPath managed code form templates (except those that are installed or registered on your local computer) under which you can assign permission sets to InfoPath form templates located at specific URLs or UNCs. For information about how to create and assign permission sets to code groups within the InfoPath Form Templates code group, see the following procedure.

注意

Microsoft .NET Framework 1.1 再頒布可能パッケージと共にインストールされる Microsoft .NET Framework 1.1 構成 ツールと異なり、 Microsoft .NET Framework 2.0 Configuration は Microsoft .NET Framework 2.0 Software Development Kit (SDK) をインストールしなければインストールされません。Unlike the Microsoft .NET Framework 1.1 Configuration tool that is installed with the Microsoft .NET Framework 1.1 Redistributable Package, the Microsoft .NET Framework 2.0 Configuration is installed only with the Microsoft .NET Framework 2.0 Software Development Kit (SDK).

InfoPath マネージ コード フォームのカスタム セキュリティ コード グループを作成するにはTo create a custom security code group for InfoPath managed code forms

  1. [ スタート] メニューの [ 管理ツール] をポイントし、[ Microsoft .NET Framework 2.0 Configuration] をクリックします。From the Start menu, point to Administrative Tools, and then click Microsoft .NET Framework 2.0 Configuration.

    [ スタート] メニューに [ 管理ツール] が表示されない場合は、[ コントロール パネル] から [ 管理ツール] を開き、[ Microsoft .NET Framework 2.0 Configuration] をダブルクリックします。If you do not have Administrative Tools on the Start menu, from the Control Panel open Administrative Tools, and then double-click Microsoft .NET Framework 2.0 Configuration.

  2. [ マイ コンピューター] の下の [ ランタイム セキュリティ ポリシー] ノードを展開し、[ コンピューター (Machine)] ノードを展開します。次に、[ コード グループ] ノードを展開し、[ All_Code] ノードを展開します。[ All_Code] ノードを右クリックし、[ 新規作成] をクリックして [ コード グループの作成] ダイアログ ボックスを開きます。Under My Computer, expand the Runtime Security Policy node, the Machine node, Code Groups node, the All_Code node, and then right-click the All_Code node and click New to open the Create Code Group dialog box.

  3. 新しいコード グループに InfoPath Form Templates という名前を付けて (このとおりの名前を正確に入力する必要があります)、[ 次へ] をクリックします。Name the new code group InfoPath Form Templates (this text must be exact), and then click Next.

  4. コード グループの条件の種類を [ すべてのコード] に設定し、[ 次へ] をクリックします。Set the condition type for the code group to All Code, and then click Next.

  5. [ 既存のアクセス許可セットを使用] をクリックし、コード グループに [ Nothing] アクセス許可セットを割り当てます。[ 次へ] をクリックし、[ 完了] をクリックします。Click Use existing permission set, assign the Nothing permission set to the code group, click Next, and then click Finish.

  6. 新しい設定を適用するには、InfoPath を閉じて再起動します。To apply the new settings, close and restart InfoPath.

必要に応じて、 InfoPath Form Templates コード グループに [ Nothing] 以外のアクセス許可セットを割り当て、すべての InfoPath マネージ コード フォーム テンプレートのアクセス許可セットを管理することができます。If you prefer, you can manage the permission set for all InfoPath managed code form templates by assigning a permission set other than the Nothing permission set to the InfoPath Form Templates code group.

注意

[ .NET Configuration 2.0] スナップインで、グループを右クリックして [ プロパティ] をクリックし、[ アクセス許可セット] タブをクリックすることにより、セキュリティ コード グループのアクセス許可セットをいつでも変更できます。You can change the permission set for a security code group at any time by right-clicking the group in the . NET Configuration 2.0 snap-in, clicking Properties, and then clicking the Permission Set tab.

特定の URL または UNC にあるフォームに FullTrust を割り当てるAssigning FullTrust to Forms at a Specific URL or UNC

InfoPath Form Templates グループの下にコード グループを作成し、特定の URL または UNC の場所からのフォーム テンプレートに完全信頼のアクセス許可セットを付与することができます。その後は、指定した場所に発行されるすべてのフォーム テンプレートが完全に信頼されて実行されます。You can create code groups under the InfoPath Form Templates group to grant the full trust permission set to form templates from a particular URL or UNC location. After doing this, every form template published to the specified location will run fully trusted.

注意

ローカル コンピューターから読み込んだフォーム テンプレート (My Computer Zone コード グループ) が、InfoPath によりランダムな URL を使用して読み込まれます。A form template that is loaded from the local computer (My Computer Zone code group) is loaded by InfoPath using a random URL. このため、次の手順を使用してこのようなフォーム テンプレートに FullTrust アクセス許可を付与することはできません。For this reason, you cannot use the following procedure to grant the FullTrust permission set to such a form template. ローカルにインストールされたフォーム テンプレートに FullTrust アクセス許可セットを付与するには、「コードを含む InfoPath フォーム テンプレートを展開する」の「完全な信頼を必要とするフォーム テンプレートを展開する」に記載されているいずれかの手順を使用します。To grant a locally installed form template the FullTrust permission set, use one of the procedures that are described in the "Deploying Form Templates That Require Full Trust" section of the How to: Deploy InfoPath Form Templates with Code topic.

特定の URL または UNC の場所にある InfoPath フォームに FullTrust を割り当てるには、次の操作を行います。To assign FullTrust to InfoPath forms at a specific URL or UNC location

  1. [ スタート] メニューの [ 管理ツール] をポイントし、[ Microsoft .NET Framework 2.0 Configuration] をクリックします。From the Start menu, point to Administrative Tools, and then click Microsoft .NET Framework 2.0 Configuration.

    [ スタート] メニューに [ 管理ツール] が表示されない場合は、[ コントロール パネル] から [ 管理ツール] を開き、[ Microsoft .NET Framework 2.0 Configuration] をダブルクリックします。If you do not have Administrative Tools on the Start menu, from the Control Panel open Administrative Tools, and then double-click Microsoft .NET Framework 2.0 Configuration.

  2. [ マイ コンピューター] の下の [ ランタイム セキュリティ ポリシー] ノードを展開し、[ コンピューター (Machine)] ノードを展開します。次に、[ コード グループ] ノードを展開し、[ All_Code] ノードを展開します。次に、[ InfoPath Form Templates] ノードをクリックします。Under My Computer, expand the Runtime Security Policy node, the Machine node, Code Groups node, the All_Code node, and then click the InfoPath Form Templates node.

  3. 右側のペインの [ タスク] ボックスの一覧で、[ 子コード グループを追加] をクリックし、コード グループに名前を付けて、[ 次へ] をクリックします。In Tasks list in the right pane, click Add a Child Code Group, name the code group, and then click Next.

  4. [ このコード グループの条件の種類を選択します] ボックスの一覧で [ URL] を選択し、[ FullTrust] アクセス許可セットを付与する InfoPath マネージ コード フォーム テンプレートの場所の URL または UNC を入力します。In the Choose the condition type for this code group list, select URL, and then enter the URL or UNC for the location of the InfoPath managed code form templates that you want to grant the FullTrust permission set.

    アクセス許可セットを 1 つのフォーム テンプレートに制限する場合は、その特定のフォーム テンプレートの完全パスを指定します。たとえば、次のように入力します。To restrict the permission set to a single form template, specify the full path of that particular form template. For example:

    \\MyServer\MyShare\MyFormTemplate.xsn

    http://MySite/MySubsite/MyFormTempate.xsn

    単一の URL または UNC を使用してすべてのフォーム テンプレートにアクセス許可セットを付与するには、テンプレート名を省略し、URL または UNC の末尾にアスタリスク (*) を追加します。たとえば、次のように入力します。To grant the permission set to all form templates in a URL or UNC, omit the name of the template and add an asterisk at the end of the URL or UNC. For example:

    \\MyServer\MyShare\*

    http://MySite/MySubsite/*

  5. [ 次へ] をクリックします。次に、[ 既存のアクセス許可セットを使用] をクリックし、コード グループに [ FullTrust] アクセス許可セットを割り当てます。Click Next, and then click Use existing permission set and assign the FullTrust permission set to the code group.

  6. [ 次へ] をクリックし、[ 完了] をクリックします。Click Next, and then click Finish.

  7. 新しい設定を適用するには、InfoPath を閉じて再起動します。To apply the new settings, close and restart InfoPath.

注意

より制限の厳しいアクセス許可セットや、独自のアクセス許可セットを適用するには、手順 4. で [ FullTrust] の代わりに適切なオプションを選択します。To apply a more restrictive or custom permission set, select the appropriate option instead of FullTrust in step 4.

InfoPath セキュリティ ポリシーの配置パッケージを作成するCreating a Deployment Package for InfoPath Security Policy

InfoPathマネージ フォーム テンプレートのカスタム セキュリティ ポリシーを定義した後で、Windows インストーラー パッケージ (.msi) を作成し、グループ ポリシーまたは Microsoft Systems Management Server を使用して、このセキュリティ ポリシーをユーザーのコンピューターに展開できます。After defining custom security policy for InfoPath managed-form templates, you can create a Windows Installer Package (.msi) to deploy this security policy on users' computers by using Group Policy or Microsoft Systems Management Server.

InfoPath のカスタム セキュリティ ポリシーの配置パッケージを作成するにはTo create a deployment package for custom InfoPath security policy

  1. [ スタート] メニューの [ 管理ツール] をポイントし、[ Microsoft .NET Framework 2.0 Configuration] をクリックします。From the Start menu, point to Administrative Tools, and then click Microsoft .NET Framework 2.0 Configuration.

    [ スタート] メニューに [ 管理ツール] が表示されない場合は、[ コントロール パネル] から [ 管理ツール] を開き、[ Microsoft .NET Framework 2.0 Configuration] をダブルクリックします。If you do not have Administrative Tools on the Start menu, from the Control Panel open Administrative Tools, and then double-click Microsoft .NET Framework 2.0 Configuration.

  2. [ ランタイム セキュリティ ポリシー] を右クリックし、[ 配置パッケージの作成] をクリックします。Right-click Runtime Security Policy, and then click Create Deployment Package.

  3. [ 配置するセキュリティ ポリシー レベルを選択する] で [ コンピューター - "Machine"] をクリックし、Windows インストーラー パッケージのフォルダーおよびファイル名を指定します。[ 次へ] をクリックします。Under Select the security policy to deploy, click Machine, specify the folder and file name for the Windows Installer Package, and then click Next.

  4. [ 完了] をクリックし、配置パッケージを作成します。Click Finish to create the deployment package.

  5. .NET Framework 構成ツールの使用方法については、Visual Studio ヘルプまたは MSDN Web サイトで ".NET Framework 構成ツール (Mscorcfg.msc)" を検索してください。For information about how to use the .NET Framework Configuration tool, search Visual Studio Help or the MSDN Web site for ".NET Framework Configuration Tool (Mscorcfg.msc)".

関連項目See also

コードを含むフォーム テンプレートのためのセキュリティ モデルについてAbout the Security Model for Form Templates with Code