Autenticación de administración <autenticación>
Información general
El elemento <authentication>
del elemento <management>
especifica las credenciales de autenticación para las cuentas de usuario del Administrador de IIS. Los usuarios del administrador de IIS pueden usar el administrador de IIS para conectarse a sitios y aplicaciones para los que están autorizados por un administrador del servidor.
Cuando se usa configurationAuthenticationProviderpredeterminado como proveedor de autenticación y habilita la autenticación del Administrador de IIS, el elemento secundario <credentials>
puede contener una serie de elementos <add>
que definen los nombres de usuario y las contraseñas de las cuentas de usuario del Administrador de IIS. Estas cuentas de usuario del Administrador de IIS no son cuentas de Windows, por lo que se limitan a configurar solo los sitios y la configuración que un administrador del servidor pone a su disposición.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <authentication> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <authentication> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <authentication> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <authentication> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <authentication> del elemento <management> se introdujo en IIS 7.0. |
IIS 6,0 | N/D |
Configuración
La instalación predeterminada de IIS 7 y versiones posteriores no incluye el servicio de rol de Servicio de administración. Para instalar este servicio de rol, siga estos pasos.
Windows Server 2012 o Windows Server 2012 R2
- En la barra de tareas, haga clic en Administrador del servidor.
- En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
- En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
- En la página Roles de servidor, expanda Servidor web (IIS), expanda Herramientas de administración y, a continuación, seleccione Servicio de administración. Haga clic en Next.
.
- En la página Seleccionar características, haz clic en Siguiente.
- En la página Confirmar selecciones de instalación, haga clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows 8 o Windows 8.1
- En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
- Expanda Internet Information Services, expanda Herramientas de administración web y seleccione Servicio de administración de IIS.
- Haga clic en OK.
- Haga clic en Cerrar.
Windows Server 2008 o Windows Server 2008 R2
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
- En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
- En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
- En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Servicio de administración y haga clic en Siguiente.
- En la página Confirmar selecciones de instalación, haz clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows Vista o Windows 7
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
- Expanda Internet Information Servicesy, a continuación , Herramienta de administración web.
- Seleccione Servicio de administración de IIS y, a continuación, haga clic en Aceptar.
Procedimientos
Habilitación de las credenciales del administrador de IIS para un servidor
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones, haga clic en el nombre del servidor.
En el panel Iniciodel servidor, haga doble clic en Servicio de administración.
En la página Servicio de administración, elija Credenciales de Windows o credenciales del Administrador de IIS y, a continuación, haga clic en Aplicar en el panel Acciones.
Adición de credenciales de usuario del administrador de IIS a un servidor
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones, haga clic en el nombre del servidor.
En el panel Inicio del servidor, haga doble clic en Usuarios del administrador de IIS.
En la página Usuarios del administrador de IIS, haga clic en Agregar usuario... en el panel Acciones.
En el cuadro de diálogo Agregar usuario, escriba el nombre de usuario y la contraseña y, a continuación, haga clic en Aceptar.
Configuración
Atributos
Atributo | Descripción |
---|---|
defaultProvider |
Atributo de cadena opcional. Especifica el proveedor predeterminado que proporciona autenticación para los usuarios del Administrador de IIS en el servidor web. Si cambia el proveedor predeterminado, debe reiniciar el servicio de administración (WMSVC) para que los cambios surtan efecto. Si tiene abierto el administrador de IIS, también debe volver a abrir el administrador de IIS. |
Elementos secundarios
Elemento | Descripción |
---|---|
credentials |
Elemento opcional. Configura las credenciales de usuario del Administrador de IIS para que los usuarios se conecten a sitios y aplicaciones en el servidor mediante el Administrador de IIS. |
providers |
Elemento opcional. Configura proveedores de autenticación que autentican a los usuarios del Administrador de IIS que se conectan de forma remota a sitios y aplicaciones mediante el Administrador de IIS. |
Ejemplo de configuración
En el siguiente ejemplo de configuración se muestra cómo agregar un usuario del administrador de IIS denominado ContosoUser a Administration.config.
<credentials>
<add name="ContosoUser" password="Encrypted-Password-Data" enabled="true" />
</credentials>
El siguiente elemento predeterminado <providers>
bajo el elemento <authentication>
se configura en el archivo Administration.config de IIS 7 cuando se instala el servicio de rol Servicio de administración.
<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>
Código de ejemplo
En los siguientes ejemplos de código se agrega una cuenta de usuario de IIS Manager denominada ContosoUser a IIS 7.
AppCmd.exe
Nota:
No se pueden configurar las opciones de <system.webServer/management/authentication>
mediante AppCmd.exe.
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 credentialsCollection = authenticationSection.GetCollection("credentials");
ConfigurationElement addElement = credentialsCollection.CreateElement("add");
addElement["name"] = @"ContosoUser";
addElement["password"] = @"P@ssw0rd";
addElement["enabled"] = true;
credentialsCollection.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 authenticationSection As ConfigurationSection = config.GetSection("system.webServer/management/authentication")
Dim credentialsCollection As ConfigurationElementCollection = authenticationSection.GetCollection("credentials")
Dim addElement As ConfigurationElement = credentialsCollection.CreateElement("add")
addElement("name") = "ContosoUser"
addElement("password") = "P@ssw0rd"
credentialsCollection.Add(addElement)
addElement("enabled") = True
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 credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection;
var addElement = credentialsCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoUser";
addElement.Properties.Item("password").Value = "P@ssw0rd";
addElement.Properties.Item("enabled").Value = true;
credentialsCollection.AddElement(addElement);
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 credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection
Set addElement = credentialsCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoUser"
addElement.Properties.Item("password").Value = "P@ssw0rd"
addElement.Properties.Item("enabled").Value = True
credentialsCollection.AddElement(addElement)
adminManager.CommitChanges()
Nota:
Los ejemplos de este documento ilustran el uso de un ensamblado de código administrado que se ha almacenado en la caché global de ensamblados (GAC) de .NET. Antes de usar el código de estos ejemplos para implementar sus propios ensamblados, debe recuperar la información del ensamblado de GAC. Para ello, siga estos pasos:
- En el Explorador de Windows, abra la ruta de acceso C:\Windows\assembly, donde C: es la unidad del sistema operativo.
- Busque el ensamblado.
- Haga clic con el botón secundario en el ensamblado y haga clic en Propiedades.
- Copie el valor de Cultura; por ejemplo: Neutro.
- Copie el número de Versión; por ejemplo: 1.0.0.0.
- Copie el valor de Token de clave pública; por ejemplo: 426f62526f636b73.
- Haga clic en Cancelar.
En los ejemplos de código siguientes se agrega un proveedor de autenticación denominado ContosoAuthenticationProvider a la colección de proveedores de autenticación de administración y se establece el proveedor de autenticación predeterminado en ContosoAuthenticationProvider.
AppCmd.exe
Nota:
No se pueden configurar las opciones de <system.webServer/Management>
mediante AppCmd.exe.
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()