管理信頼プロバイダー <trustedProviders>

概要

<management> 要素の <trustedProviders> 要素は、IIS マネージャーと管理サービス (WMSVC) によって信頼される管理プロバイダーを構成します。

サイトまたはアプリケーションのプロバイダーを呼び出す前に、.NET ユーザー機能と .NET の役割機能で、構成されたプロバイダーが信頼されていることを確認します。 信頼されていない場合、allowUntrustedProviders 属性の設定によって、信頼されていないプロバイダーの実行が許可されるかどうかが決まります。 信頼されていないプロバイダーが許可されておらず、プロバイダーが信頼されたプロバイダー コレクションにない場合、プロバイダーの実行は許可されません。

互換性

バージョン メモ
IIS 10.0 <trustedProviders> 要素は、IIS 10.0 では変更されませんでした。
IIS 8.5 <trustedProviders> 要素は、IIS 8.5 では変更されませんでした。
IIS 8.0 <trustedProviders> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <trustedProviders> 要素は、IIS 7.5 では変更されませんでした。
IIS 7.0 <management> 要素の <trustedProviders> 要素が IIS 7.0 で導入されました。
IIS 6.0 該当なし

段取り

IIS 7 以降の既定のインストールには、管理サービスの役割サービスは含まれません。 この役割サービスをインストールするには、次の手順を使用します。

Windows Server 2012 または Windows Server 2012 R2

  1. タスク バーで [サーバー マネージャー]をクリックします。
  2. [サーバー マネージャー] で、[管理] メニューを選択し、[役割と機能の追加] を選択します。
  3. [役割と機能の追加] ウィザードで、[次へ] をクリックします。 インストールの種類を選択し、[次へ] をクリックします。 対象サーバーを選択し、[次へ] をクリックします。
  4. [サーバーの役割] ページで、[Web サーバー (IIS)][管理ツール] の順に展開し、[管理サービス] を選択します。 次へ をクリックします。
    Windows Server 2012 インターフェイスで選択されている管理サービスのスクリーンショット。 .
  5. [機能の選択] ページで、[次へ] をクリックします。
  6. [インストール オプションの確認] ページで、[インストール] をクリックします。
  7. [結果] ページで、 [閉じる]をクリックします。

Windows 8 または Windows 8.1

  1. [スタート] 画面で、ポインターを左下隅まで移動し、[スタート] ボタンを右クリックし、[コントロール パネル] をクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][Web 管理ツール] の順に展開し、[IIS 管理サービス] チェック ボックスをオンにします。
    Windows 8 インターフェイスで選択されている管理サービスのスクリーンショット。
  4. OK をクリックします。
  5. 閉じるをクリックします。

Windows Server 2008 または Windows Server 2008 R2

  1. タスク バーで [スタート] をクリックし、[管理ツール] をポイントして、[サーバー マネージャ] をクリックします。
  2. [サーバー マネージャ] 階層ウィンドウで [役割] を展開し、[Web サーバー (IIS)] をクリックします。
  3. [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] をクリックします。
  4. 役割サービスの追加ウィザード[役割サービスの選択] ページで、[管理サービス] を選択し、[次へ] をクリックします。
    Windows Server 2008 インターフェイスで選択されている管理サービスのスクリーンショット。
  5. [インストール オプションの確認] ページで、[インストール] をクリックします。
  6. [結果] ページで、 [閉じる]をクリックします。

Windows Vista または Windows 7

  1. タスク バーで、[スタート][コントロール パネル] の順にクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][Web 管理ツール] の順に展開します。
  4. [IIS 管理サービス] を選択し、[OK] をクリックします。
    I I S マネージャーの [管理サービス] ウィンドウのスクリーンショット。

操作方法

IIS 7 の <trustedProviders> 要素を構成するためのユーザー インターフェイスはありません。 <trustedProviders> 要素をプログラムで構成する方法の例については、このドキュメントのコード サンプルのセクションを参照してください。

構成

属性

属性 説明
allowUntrustedProviders 省略可能な Boolean 属性です。

信頼されていないプロバイダーを実行できるかどうかを指定します。

重要な注意事項: セキュリティ上の理由から、信頼されていないコードをサーバー上で実行できるようになるため、この値を true に変更することはお勧めしません。 代わりに、常にプロバイダーをテストし、信頼できるプロバイダー コレクションに追加するのは、それが安全な場合にのみ行う必要があります。

既定値は false です。

子要素

要素 説明
add 省略可能な要素です。

IIS マネージャーと管理サービス (WMSVC) によって実行される信頼されているプロバイダーのコレクションにプロバイダーを追加します。

構成サンプル

次の既定の <trustedProviders> 要素は、管理サービスの役割サービスがインストールされている場合、IIS 7.0 のルート Administration.config ファイルで構成されます。

<trustedProviders allowUntrustedProviders="false">
   <add type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <add type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <add type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</trustedProviders>

サンプル コード

Note

このドキュメントの例は、.NET グローバル アセンブリ キャッシュ (GAC) に格納されているマネージドコード アセンブリを使用して示されています。 これらの例のコードを使用して独自のアセンブリを展開する前に、GAC からアセンブリ情報を取得する必要があります。 そのためには、次の手順を行ってください。

  • エクスプローラーで、C:\Windows\assembly パスを開きます。ここで、C: はオペレーティング システム ドライブです。
  • アセンブリを見つけます。
  • アセンブリを右クリックし、[プロパティ] をクリックします。
  • カルチャ値 (例: Neutral) をコピーします。
  • バージョン番号 (例: 1.0.0.0) をコピーします。
  • Public Key Token 値 (例: 426f62526f636b73) をコピーします。
  • [キャンセル] をクリックします。

次のコード例では、信頼できる管理プロバイダーのコレクションに Contoso.Provider という名前のプロバイダーを追加します。

AppCmd.exe

Note

AppCmd.exe を使用して <system.webServer/Management> 設定を構成することはできません。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetAdministrationConfiguration();

         ConfigurationSection trustedProvidersSection = config.GetSection("system.webServer/management/trustedProviders");
         ConfigurationElementCollection trustedProvidersCollection = trustedProvidersSection.GetCollection();
         ConfigurationElement addElement = trustedProvidersCollection.CreateElement("add");
         addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
         trustedProvidersCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetAdministrationConfiguration

      Dim trustedProvidersSection As ConfigurationSection = config.GetSection("system.webServer/management/trustedProviders")
      Dim trustedProvidersCollection As ConfigurationElementCollection = trustedProvidersSection.GetCollection
      Dim addElement As ConfigurationElement = trustedProvidersCollection.CreateElement("add")
      addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
      trustedProvidersCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager"); 
adminManager.CommitPath = "MACHINE/WEBROOT"; 
adminManager.SetMetadata("pathMapper", "AdministrationConfig");

var trustedProvidersSection = adminManager.GetAdminSection("system.webServer/management/trustedProviders", "MACHINE/WEBROOT"); 
var trustedProvidersCollection = trustedProvidersSection.Collection;

var addElement = trustedProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
trustedProvidersCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"

Set trustedProvidersSection = adminManager.GetAdminSection("system.webServer/management/trustedProviders", "MACHINE/WEBROOT")
Set trustedProvidersCollection = trustedProvidersSection.Collection

Set addElement = trustedProvidersCollection.CreateNewElement("add")
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
trustedProvidersCollection.AddElement(addElement)

adminManager.CommitChanges()