次の方法で共有


管理認証プロバイダー <providers>

概要

<authentication> 要素の <providers> 要素は、管理サービス (WMSVC) が IIS マネージャーを使用してサイトとアプリケーションにリモート接続するユーザーを認証するために使用する認証プロバイダーを指定します。

Note

既定の認証プロバイダー ConfigurationAuthenticationProvider は、IIS Administration.config ファイルを使用して IIS マネージャーの IIS マネージャー ユーザー資格情報を格納します。

互換性

バージョン メモ
IIS 10.0 <providers> 要素は IIS 10.0 では変更されませんでした。
IIS 8.5 <providers> 要素は IIS 8.5 では変更されませんでした。
IIS 8.0 <providers> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <providers> 要素は、IIS 7.5 では変更されませんでした。
IIS 7.0 <authentication> 要素の <providers> 要素が 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 用に選択された I S 管理サービスを示すスクリーンショット。
  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 Manager の [管理サービス] ウィンドウを示すスクリーンショット。

操作方法

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

構成

属性

なし。

子要素

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

認証プロバイダーのコレクションにプロバイダーを追加します。

構成サンプル

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

<authentication defaultProvider="ConfigurationAuthenticationProvider">
   <providers>
      <add name="ConfigurationAuthenticationProvider"
         type="Microsoft.Web.Management.Server.ConfigurationAuthenticationProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
   </providers>
</authentication>

サンプル コード

Note

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

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

次のコード例では、ContosoAuthenticationProvider という名前の認証プロバイダーを管理認証プロバイダーのコレクションに追加し、既定の認証プロバイダーを ContosoAuthenticationProvider に設定します。

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 authenticationSection = config.GetSection("system.webServer/management/authentication");
         ConfigurationElementCollection providersCollection = authenticationSection.GetCollection("providers");
         ConfigurationElement addElement = providersCollection.CreateElement("add");
         addElement["name"] = @"ContosoAuthenticationProvider";
         addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
         providersCollection.Add(addElement);
         authenticationSection["defaultProvider"] = "ContosoAuthenticationProvider";

         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 authenticationSection As ConfigurationSection = config.GetSection("system.webServer/management/authentication")
      Dim providersCollection As ConfigurationElementCollection = authenticationSection.GetCollection("providers")
      Dim addElement As ConfigurationElement = providersCollection.CreateElement("add")
      addElement("name") = "ContosoAuthenticationProvider"
      addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
      providersCollection.Add(addElement)
      authenticationSection("defaultProvider") = "ContosoAuthenticationProvider"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

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

var authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT"); 
var providersCollection = authenticationSection.ChildElements.Item("providers").Collection;

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

adminManager.CommitChanges();

VBScript

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

Set authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT")
Set providersCollection = authenticationSection.ChildElements.Item("providers").Collection

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

adminManager.CommitChanges()