在 IIS 7 中配置远程管理员管理和功能委派

作者:Saad Ladki

介绍

IIS 为管理员和开发人员提供一个可访问、可扩展和可分发的全新配置系统。 基于 XML 的新格式允许轻松配置 IIS 7 及更高版本中提供的模块和功能。 它还允许对可以配置各个功能设置的位置进行精细控制(例如,在 applicationHost.config 文件中的服务器级别,或在 Web.config 文件中的站点或应用程序级别)。

作为新的 IIS 管理用户界面 (UI),IIS 管理器完全支持这一新配置系统,并添加了其他功能,为配置 Web 服务器提供强大而精细的系统。 其中两项附加功能是远程管理服务器、站点和应用程序,并支持基于用户的身份验证和授权。

本文介绍如何启用远程连接、配置用户和权限,以及如何将功能委托给站点或应用程序级别。 在某些情况下,IIS 服务器管理员可能希望将特定功能的管理控制权委派给他人,或者管理员可能希望阻止其他人查看现有配置。 例如,假设出现以下情况。

Edward 是托管多个站点的计算机上的服务器管理员。 计算机是域的一部分,一些网站所有者属于同一域。 但是,某些网站所有者在域之外,Edward 必须为每个所有者创建用户名和密码来为其创建 IIS 管理器用户帐户。 创建必要的 IIS 管理器用户帐户后,Edward 为每个站点设置 IIS 管理器权限,以指定允许哪些用户连接到特定站点。 为此,Edward 打开了每个站点中的 IIS 管理器权限功能,并添加了 Windows 用户和 IIS 管理器用户。 此操作完成两个任务。 首先,配置 IIS 以允许用户在提供了有效凭证后连接到站点。 其次,允许成功连接的用户在该站点中配置任何委派功能的用户。

Edward 还希望将他信任的部分功能的配置委托给网站所有者,允许他们在其自己的网站中配置。 这样,网站所有者就无需请求 Edward 配置因网站而异的功能,例如默认文档。 他决定将所有站点中以下功能的配置委托到他的服务器上:默认文档、目录浏览和错误页面。 此外,Edward 决定将另一项功能(HTTP 重定向)的配置委托给站点 Contoso,因为他知道该站点常常需要重定向并信任站点所有者来配置这些设置。 他将所有其他功能设置为只读,以便站点所有者可以查看设置,但不能在其网站中对其进行配置。

Julian 和 Catherine 是 Edward 计算机上的站点 Contoso 的站点所有者。 Julian 有一个 Windows 用户帐户,Catherine 有一个 IIS 管理器用户帐户,Edward 为其提供了凭据。 他们都可以在自己的计算机上打开 IIS 管理器,并连接到 Contoso,因为 Edward 已允许其帐户配置 Contoso 站点。 他们都可以看到已委托给网站级别的所有功能。 他们可以配置默认文档、目录浏览、错误页面和 HTTP 重定向,因为 Edward 将这些设置的配置委托给他们的站点。

先决条件

完成本文中的程序需要安装以下各项:

  • Windows Server® 2008 上的 IIS 7.0 或 Windows Server 2008 R2 上的 IIS 7.5
  • IIS 经理

在 IIS 管理器中配置远程连接

在 IIS 中,IIS 管理器可以轻松执行远程管理。 除了在本地计算机上管理 IIS 之外,IIS 管理器还可以管理远程服务器、站点和应用程序。 服务器管理员使用远程管理功能添加 IIS 管理器用户帐户,并允许这些用户连接到他们有权访问的任何网站或应用程序。

配置远程管理涉及在 IIS 管理器中启用远程连接,以及配置连接到服务器所需的凭据类型。 (可选)可以更改默认连接和日志记录设置,并根据 IP 地址或域名添加连接限制。

安装管理服务

默认的 IIS 安装选项不包括远程管理所必需的管理服务(也称为 Web 管理服务(WMSVC))。 如果尚未安装管理服务,请按照此过程中的步骤进行安装。

安装管理服务:

  1. 单击“开始”,在“搜索”框中键入“服务器管理器”,然后按 Enter 打开服务器管理器。
  2. 在树中的“角色”下,选择“Web 服务器 (IIS)”
  3. 单击“添加角色服务”,然后选择下图所示的“管理服务”
  4. 单击“下一步”,然后根据说明完成安装。“角色服务”菜单的屏幕截图。突出显示了管理服务。

启用远程连接和配置标识凭据

启用远程连接,以便 Windows 用户和 IIS 管理器用户(本文稍后配置)可以使用计算机上的 IIS 管理器连接到此计算机。 默认情况下,管理服务仅允许具有 Windows 凭据的用户建立连接,但你可以将其配置为允许具有 IIS 管理器凭据的用户建立连接。 出于本文的目的,请将管理服务配置为允许下图所示的两种凭据类型。

注意

本文的下一部分介绍 IIS 管理器凭据。

启用远程连接并允许来自 Windows 用户和 IIS 管理器用户的连接:

  1. 在 IIS 管理器中的“连接”窗格中,单击树中的服务器节点。
  2. 双击“管理服务”打开“管理服务功能”页面。
  3. 选中“启用远程连接”复选框。
  4. “标识凭据”下,选择“Windows 凭据或 IIS 管理器凭据”。
  5. “操作”窗格中,单击“应用”保存更改,然后单击“开始”以启动管理服务。
    管理服务功能页的屏幕截图。突出显示了“启用远程连接”选项。在“操作”窗格中,突出显示了“开始”。

其他信息

无需启用远程连接来启动管理服务。 如果禁用远程连接并且管理服务已启动,则可以从本地计算机连接到管理服务,但不能从远程计算机连接到管理服务。 如果无法从远程计算机进行连接,请确保启用远程连接。

应检查防火墙设置,以确保允许连接到管理服务。 安装管理服务后,安装过程会添加一个防火墙规则,该规则允许管理服务的流量通过端口 8172(默认端口)发送,该端口默认处于打开状态。 如果更改管理服务使用的端口,则必须添加新的防火墙规则,以允许管理服务的流量通过该端口发送。

为管理服务配置连接和日志记录设置

除了上述部分中配置的管理服务设置外,还可以配置连接设置并指定记录请求的位置。 下表描述了每个字段及其默认设置。 如果更改任何设置,请确保单击“操作”窗格中的“应用”,然后重启管理服务。

properties 说明 默认设置
IP 地址 指定服务绑定到的 IP 地址。 全部未指派
端口 指定服务用于请求的端口号。 8172
SSL 证书 指定服务使用的 SSL 证书。 对服务的所有请求都通过“端口”字段中指定的端口使用 HTTPS。 此列表包含可用于服务器的 SSL 证书。 如果要添加其他 SSL 证书,请在服务器级别使用“服务器证书”功能。 安装过程中安装的自签名证书
将请求记录至 指定管理服务日志文件的路径。 %SystemDrive%\Inetpub\logs\WMSVC

为管理服务配置 IP 和域限制

默认情况下,管理服务接受对其配置的 IP 地址和端口发出的所有请求,并且用户可以在添加到 IIS 管理器时进行连接(如下一部分所述)。 但是,可以将服务配置为拒绝未指定请求的访问,而是添加特定的允许规则,以便仅接受来自特定 IP 地址或域的请求。 有关允许或拒绝来自 IP 地址或域的请求的详细信息,请参阅在 Microsoft TechNet 上“配置远程管理”下的过程。

为 IIS 管理器配置用户和权限

在上述部分中配置管理服务时,你选择了“Windows 凭据或 IIS 管理器凭据”选项。 此选项使具有 Windows 用户帐户或 IIS 管理器用户帐户的用户能够使用 IIS 管理器连接到远程计算机上的站点或应用程序。 这两种类型的用户在远程连接时必须提供有效的凭据(用户名和密码对)。 如果计算机是域的成员,Windows 用户必须为远程计算机上的用户帐户或域中的用户帐户提供有效的 Windows 凭据。 IIS 管理器用户必须提供有效的 IIS 管理器凭据,这些凭据由远程计算机上的服务器管理员在 IIS 管理器中配置。 在这两种情况下,用户都可以使用 IIS 管理器连接到服务器管理员为其授予用户权限的站点或应用程序。

添加 IIS 管理器用户

以下过程说明如何打开 IIS 管理器用户功能并添加用户。 当“IIS 管理器用户”功能页面打开时,列表会显示每个 IIS 管理器用户名以及帐户是启用还是禁用。 仅允许启用的帐户连接到已为其授予权限的网站或应用程序。

添加 IIS 管理器用户:

  1. 在 IIS 管理器中的“连接”窗格中,单击树中的服务器节点。
  2. 在服务器主页上,双击“IIS 管理器用户”
    B D E L A P C 一划线 I S 服务器主页的屏幕截图。在“连接”窗格中,突出显示了“I S 服务器”节点的 B D E L P C 一划线。突出显示了“我经理用户”图标。
  3. “IIS 管理器用户”页上的“操作”窗格中,单击“添加用户”。
  4. “用户名”框中,键入用户名。
  5. 在“密码”框中键入密码,在“确认密码”框中重新键入密码。
  6. 单击“确定”。
    I S Manager 用户页的屏幕截图。在“操作”窗格中,突出显示了“添加用户”。箭头从“添加用户”到“用户名”框。

为站点或应用程序配置 IIS 管理器权限

为了使用户能够远程连接到服务器上的站点或应用程序,服务器管理员必须授予他们对站点或应用程序的权限。 授予权限后,他们可以使用 IIS 管理器通过 Windows 凭据(如果是 Windows 用户)或其 IIS 管理器用户凭据(如果是 IIS 管理器用户)连接到站点或应用程序。

若要允许 IIS 管理器用户连接到站点或应用程序:

  1. 在 IIS 管理器的“连接”窗格中,选择要为其配置权限的站点或应用程序。
  2. 在网站或应用程序的主页上,双击“IIS 管理器权限”
    “连接”窗格的屏幕截图。已选择默认网站。在“默认网站主页”窗格中,突出显示了“I S 管理器权限”。
  3. “IIS 管理器权限”页面上的“操作”窗格中,单击“允许用户”
  4. “允许用户”对话框中,选择“IIS 管理器”并单击“选择”
    “I S 管理器权限”页和“操作”窗格的屏幕截图。突出显示了“允许用户”选项。将显示“允许用户”对话框。我选择了“我的经理”。
  5. “用户”对话框中,从列表中选择一个或多个 IIS 管理器用户,然后单击“确定”
    “用户”对话框的屏幕截图。TestAdmin 显示在“名称”和“选择用户”下的列表中。
  6. 单击“确定”关闭“允许用户”对话框。

若要允许 Windows 用户连接到站点或应用程序:

  1. “IIS 管理器权限”页面上的“操作”窗格中,单击“允许用户”
  2. “允许用户”对话框中,选择“Windows”,然后单击“选择”。
  3. “选择用户或组”对话框中,键入用户名或搜索用户帐户,然后单击“确定”。
    “选择用户或组”对话框的屏幕截图。在文本“选择此对象类型”下,将编写用户。在此位置的文本下,将编写 I S 的 B D E L A P C 一个短划线。
  4. 单击“确定”关闭“允许用户”对话框。

为内容目录配置访问控制列表 (ACL)

为了使 IIS 管理器在用户连接到站点或应用程序时正常工作,必须为站点或应用程序的物理目录正确配置 ACL。 对于 Windows 用户,必须为需要访问目录和文件的每个 Windows 用户或组配置目录和文件 ACL。 对于 IIS 管理器用户,必须为 WMSVC 用户(默认 NT Service\WMSVC)配置目录和文件 ACL。

对于站点或应用程序的物理目录,请为 WMSVC 用户(如果允许 IIS 管理器用户连接)以及需要连接到该站点或应用程序的任何 Windows 用户配置读取、写入和执行权限。

如果站点或应用程序的物理目录位于其他计算机上(即 UNC 共享上),则需要将 WMSVC 配置为作为具有对该 UNC 共享上内容的读取、写入和执行权限的用户运行(默认用户 NT Service\WMSVC,无法访问其他计算机上的项目)。

连接 IIS 管理器中的站点或应用程序

配置管理服务并配置用户和权限后,用户可以连接到其站点或应用程序。

连接到站点或应用程序

  1. 在 IIS 管理器中,单击“文件”,然后单击“连接到站点”(或连接到应用程序)。
  2. “连接到站点”或“连接到应用程序”向导中,键入要连接到的服务器名称和站点名称。 如果要连接到应用程序,请同时键入应用程序名称。 然后单击“下一步”
    “连接到站点”向导的屏幕截图。在文本服务器名称下,将编写 localhost。在文本“网站名称”下,编写 contoso dot com。“下一步”选项突出显示。
  3. “连接到站点”或“连接到应用程序”向导的“提供凭据”页面上,选择是要使用当前凭据还是指定要连接到站点的凭据。 指定凭据时,默认值为 Windows 凭据,除非选择“使用 IIS 管理器凭据”复选框。 指定凭据后,单击“下一步”以连接到服务器。
    “连接到站点”向导的屏幕截图。将显示“提供凭据”页。在“连接到 localhost 和默认网站”的文本下,将显示用户名和密码。突出显示了单击“下一步”的选项。
  4. 如果连接成功,IIS 管理器将显示“连接到站点”或“连接到应用程序”向导的最后一页,用于为连接命名。 如下图所示,TestAdmin 用户已创建与 Contoso.com 站点的站点连接。
    “连接到站点”向导的屏幕截图。将显示 Internet 信息服务(I S)管理器页面。突出显示并选中站点名称 contoso dot com。

其他信息

在下一部分中,我们将学习功能委派。 但是,在此之前,为了更好地解释功能委派及其用途,我们看一个刚刚连接到的站点功能。 该站点应突出显示,并显示站点主页。 在主页上,双击“错误页面”。

如下图所示,页面右侧有一条警报,指出“此功能已被锁定且只读”。当某个功能已锁定时,将显示此警报;下一部分将更详细地介绍功能委派和锁定。

显示“错误页”的屏幕截图。页面右侧有一条警报,指出此功能已被锁定,并且是只读的,突出显示了此功能。

在 IIS 管理器中委派功能

功能委派”功能页面允许服务器管理员配置在 IIS 管理器的站点和应用程序级别的 Web.config 文件中可配置的功能委派状态。 管理员可能希望将某些功能(如默认文档和目录浏览)的配置委托给单个站点所有者,以便所有者可以在其站点中配置这些委派功能。

或者,服务器管理员可能会将某个功能委派为只读功能,以便站点所有者可以查看功能配置,但无法更改设置。 服务器管理员甚至可以阻止在站点和应用程序级别的 IIS 管理器中显示功能。

有几种不同的委派状态,每个状态都确定某个功能是否委托给配置系统中的较低级别,以及当用户在较低级别连接时,该功能是否显示在 IIS 管理器中。 下表描述了每一种委派状态。

委派类型 说明
未委派 配置已锁定,Web.config 文件中该功能的任何配置都会导致运行时错误。 当用户连接时的级别低于设置此状态的级别时,该功能在 IIS 管理器中不可见或不可配置。 例如,如果某个功能在站点级别配置为“未委派”,则连接到该站点中的应用程序的用户将看不到该功能,并且无法在 IIS 管理器中对其进行配置。
只读 配置已锁定,Web.config 文件中该功能的任何配置都会导致运行时错误。 当用户在较低级别连接时,此功能在 IIS 管理器中可见,但配置已锁定,因此无法进行更改。
读取/写入 可以在 Web.config 中配置该功能。此功能显示在 IIS 管理器中,可以在用户在较低级别连接(站点或应用程序级别)时进行配置。
配置只读 含义与“只读”相同;但是,该功能有些设置或数据在 IIS 外部存储和管理,如数据库中。
配置读/写 含义与“读/写”相同;但是,该功能有些设置或数据在 IIS 外部存储和管理,如数据库中。

注意

服务器管理员可以修改所有功能的配置,因此,如果他们连接到服务器,即使已将某个功能配置为在较低级别不显示,他们也会看到所有级别的所有功能。

为 IIS 管理器中的功能配置默认委派状态

首次打开“功能委派”功能页面时,可以在 IIS 管理器中配置功能的默认委派状态。 这些委派状态是 IIS 管理器用于服务器上的所有站点和应用程序的默认设置。

为 IIS 管理器中的功能配置默认委派状态

  1. 在 IIS 管理器中的“连接”窗格中,单击树中的服务器节点。
  2. 在服务器主页上,双击“功能委派”服务器主页中“连接”窗格的屏幕截图,其中突出显示了“I S 主页”的 B D E L A P C 1 短划线,并突出显示了“功能委派”图标。
  3. 从“分组依据”列表中选择“委派”,以便按其当前委派状态组织功能列表。
    操作窗格中功能委派列表的屏幕截图,其中突出显示了组列表中的委派。
  4. 在“功能委派”列表中选择“错误页面”,然后在“操作”窗格中查看可用的委派状态。 选择了“错误页面”功能,“设置功能委派”下的可用选项包括“读/写”、“删除委派”和“重置为继承”。
    “功能委派”列表的屏幕截图,其中选择了“错误页”,其中显示了“设置功能委派”下的可用选项。
  5. 选择“错误页面”。在“操作”窗格中,单击“读/写”以解锁与“错误页面”功能相关的配置部分。 这使得该功能可以在 Web.config 文件以及 IIS 管理器中站点和应用程序级别配置。

其他信息

IIS 配置文件中的以下摘录显示,可以在每个位置(也称为“路径”)重写值:

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors>
            ...
            ...
        </httpErrors>
    </system.webServer>
</location>

若要进一步演示此操作的作用,请查看站点级别的“错误页面”功能。“连接”窗格中,连接到站点,然后在站点主页上双击“错误页面”。 如下图所示,“错误页面”功能现在可由连接到站点级别的用户配置。

错误页的屏幕截图,其中突出显示了“添加”、“退出功能设置”、“帮助”和“联机帮助”等操作。

为站点或应用程序中的功能配置自定义委派状态

上述步骤为服务器上的所有站点中的“错误页面”功能配置了默认委派状态。 有时你不希望你配置的委派状态适用于所有站点。 在这种情况下,可以为特定站点配置自定义委派状态。 还可以将所有功能的自定义委派状态从一个站点复制到另一个站点。

为特定站点中的功能配置自定义委派状态

  1. 在 IIS 管理器中,双击“功能委派”。
  2. “功能委派”页面上的“操作”窗格中,单击“自定义网站委派”。
  3. 从“站点”列表中,选择要为其配置自定义委派设置的站点。
    “自定义网站委派”窗格的屏幕截图,其中突出显示了网站列表。
  4. 选择一项功能,然后单击“操作”窗格中的委派状态。

将自定义委派状态从一个站点复制到另一个站点

  1. “自定义网站委派”页面上的“站点”列表中,选择要从中将委派复制到其他站点的站点。
  2. 单击“复制委派”。
  3. 在“复制委派”对话框中,选择要将委派状态复制到的站点,然后单击“确定”。

重置功能委派状态

有时可能需要撤消对功能委派状态所做的更改。 也许是意外地对特定站点或应用程序进行的更改,也可能是对该功能的一些“试验”发生错误。 在这种情况下,将所有功能的委派状态重置回其默认状态。 或者,仅将一项功能重置回其默认状态。

重置功能委派状态

  1. 打开“功能委派”功能页面。
  2. 若要重置所有功能委派状态,请在“操作”窗格中单击“重置所有委派”。

若要重置特定功能的委派状态,请在列表中选择该功能,然后在“操作”窗格中单击“重置为继承”。