Configuración de autenticación SSO web mediante ADFS (Windows SharePoint Services)
En este artículo:
Acerca de los sistemas de autenticación federada
Antes de comenzar
Configuración de la aplicación web de extranet para usar la autenticación SSO web
Concesión de permisos de acceso a los usuarios al sitio web de extranet
Trabajo con el selector de personas
Trabajo con notificaciones de UPN y correo electrónico
Trabajo con notificaciones de grupos y grupos organizativos
Acerca de los sistemas de autenticación federada
Windows SharePoint Services 3.0 admite escenarios de autenticación federada cuando el sistema de autenticación no es local respecto del equipo host de Windows SharePoint Services 3.0. Los sistemas de autenticación federada también se conocen como sistemas web de inicio de sesión único (SSO). Con Servicios de federación de Active Directory (AD FS), los trabajadores de una empresa pueden obtener acceso a servidores hospedados por una empresa distinta mediante las cuentas existentes de Active Directory. ADFS también establece una relación de confianza entre dos empresas y una experiencia de inicio de sesión único satisfactoria para los usuarios finales. ADFS se basa en 302 redirecciones para autenticar usuarios finales. Se emite un token de autenticación (cookie) para los usuarios después de la autenticación.
Antes de comenzar
Antes de usar ADFS para configurar la autenticación SSO web para la aplicación web de extranet, debe familiarizarse con los siguientes recursos:
Entrada del blog del equipo de Productos y Tecnologías de Microsoft SharePoint acerca de la configuración de varios proveedores de autenticación (https://blogs.msdn.com/sharepoint/archive/2006/08/16/configuring-multiple-authentication-providers-for-sharepoint-2007.aspx) (en inglés).
Guía paso a paso para los servicios de federación de Active Directory (https://go.microsoft.com/fwlink/?linkid=145396&clcid=0xC0A). Los nombres de servidor y los ejemplos usados en este artículo se basan en esta guía paso a paso, en la que se describe la configuración de ADFS en un entorno de laboratorio de tamaño reducido. En este entorno, se agrega un servidor nuevo llamado Trey-SharePoint al bosque Trey Research. Siga los pasos de esta guía paso a paso para configurar la infraestructura de ADFS. Sin embargo, puesto que en este artículo se describe como configurar Windows SharePoint Services 3.0 en modo de aplicación para notificaciones, no es necesario que implemente todos los pasos para crear aplicaciones de agente de tokens de Windows NT que se describen en esta guía.
Nota
Cuando se usa el Selector de personas para agregar usuarios a Windows SharePoint Services 3.0, Windows SharePoint Services 3.0 valida los usuarios con respecto al proveedor (que, en este ejemplo, es ADFS). Por lo tanto, se deberá configurar el servidor de federación antes de configurar Windows SharePoint Services 3.0.
Importante
El proceso de instalación se ha capturado en un archivo de VBScript que puede usar para configurar Windows SharePoint Services 3.0 de forma que use ADFS en la autenticación. Este archivo de script está incluido en el archivo (SetupSharePointADFS.zip) y está disponible en el blog de Productos y Tecnologías de Microsoft SharePoint, en la sección Datos adjuntos. Para obtener más información, vea la página de blog acerca de un script para establecer que SharePoint use ADFS para la autenticación (en inglés).
Configuración de la aplicación web de extranet para usar la autenticación SSO web
Instale el agente web de aplicaciones para notificaciones.
Descargue e instale la revisión para ADFS descrita en el artículo en el que se explica por qué no es posible realizar la llamada al proveedor de funciones y al proveedor de pertenencia desde Windows SharePoint Services 3.0 en un equipo basado en Windows Server 2003 R2 que ejecuta ADFS y Microsoft Windows SharePoint Services 3.0 (https://go.microsoft.com/fwlink/?linkid=145397&clcid=0xC0A). Esta revisión se incluirá en Windows Server 2003 Service Pack 2 (SP2).
Instale Windows SharePoint Services 3.0, configure todos los servicios y servidores de la granja, y cree una nueva aplicación web. De forma predeterminada, esta aplicación web se configurará para usar la autenticación de Windows, y será el punto de entrada a través del cual los usuarios de la intranet obtendrán acceso al sitio. En el ejemplo incluido en este artículo, el nombre del sitio es http://trey-moss.
Extienda la aplicación web creada en el paso dos a otra zona. En la página de administración de aplicaciones del sitio web de Administración central de SharePoint, haga clic en Crear o extender una aplicación web, luego en Extender una aplicación web existente y, a continuación, realice lo siguiente:
Agregue un encabezado de host. Este es el nombre DNS con el que los usuarios de la extranet reconocerán el sitio. En este ejemplo, el nombre es extranet.treyresearch.net.
Cambie la zona a Extranet.
Asigne al sitio un nombre de encabezado de host que configurará en DNS y que se usará para resolver los usuarios de la extranet.
Haga clic en Usar Capa de sockets seguros (SSL) y cambie el número de puerto a 443. ADFS requiere que los sitios estén configurados para usar SSL.
En el cuadro Dirección URL de carga equilibrada, elimine la cadena de texto :443. Internet Information Services (IIS) automáticamente usará el puerto 443 debido a que este número de puerto se especificó en el paso anterior.
Complete el resto de los pasos incluidos en la página para finalizar la extensión de la aplicación web.
En la página Asignaciones de acceso alternativas (AAM), compruebe que las direcciones URL sean similares a las de la siguiente tabla.
Dirección URL interna Zona Dirección URL pública para zona http://trey-moss
Predeterminado
http://trey-moss
https://extranet.treyresearch.net
Extranet
https://extranet.treyresearch.net
Agregue un certificado de SSL al sitio web de la extranet en IIS. Asegúrese de que el certificado de SSL esté emitido para extranet.treyresearch.net, ya que éste es el nombre que usarán los clientes para obtener acceso a los sitios.
Realice lo siguiente para configurar el proveedor de autenticación para que la zona de extranet en la aplicación web use SSO web:
En la página de administración de aplicaciones del sitio de Administración central de la granja de servidores, haga clic en Proveedores de autenticación.
Haga clic en Cambiar en la esquina superior derecha de la página y seleccione la aplicación web en la que desea habilitar SSO web.
En la lista de las dos zonas asignadas para esta aplicación web (ambas deben decir Windows), haga clic en el vínculo Windows para la zona de extranet.
En la sección Tipo de autenticación, haga clic en Inicio de sesión web único.
En el cuadro Nombre del proveedor de pertenencia, escriba:
SingleSignOnMembershipProvider2
Tome nota de este valor. Deberá agregarlo al elemento de nombre de la sección <membership> en los archivos web.config que editará más adelante en este procedimiento.
En el cuadro Nombre del administrador de funciones, escriba:
SingleSignOnRoleProvider2
Tome nota de este valor. Deberá agregarlo al elemento de nombre de la sección <roleManager> en los archivos web.config que editará más adelante en este procedimiento.
Asegúrese de que la opción ¿Desea habilitar la integración de clientes? esté establecida en No.
Haga clic en Guardar.
Su aplicación web de extranet está ahora configurada para usarla con SSO web. Sin embargo, en este punto, no se podrá tener acceso al sitio porque nadie tiene los permisos necesarios. El siguiente paso es asignar permisos a usuarios de forma que puedan obtener acceso a este sitio.
Nota
Una vez que se haya seleccionado SSO web como Proveedor de autenticación, se habilitará automáticamente la autenticación anónima para el sitio de SharePoint en IIS (no se requiere ninguna acción por parte del usuario). Esta configuración es necesaria para permitir el acceso al sitio usando sólo notificaciones.
Concesión de permisos de acceso a los usuarios al sitio web de la extranet
Use un editor de texto para abrir el archivo web.config correspondiente al sitio web de la zona predeterminada que usa la autenticación de Windows.
Agregue la siguiente entrada en cualquier parte del nodo <system.web>.
<membership> <providers> <add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" /> </providers> </membership>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"> <providers> <remove name="AspNetSqlRoleProvider" /> <add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" /> </providers> </roleManager>
Modifique el valor de fs-server para que indique el servidor de federación de recursos (adfsresource.treyresearch.net). Asegúrese de haber especificado los nombres correctos de proveedor de pertenencia y administrador de funciones en Proveedores de autenticación de la página Administración central. Cuando se agrega esta entrada al archivo web.config, el Selector de personas de la zona predeterminada del sitio que usa la autenticación de Windows puede reconocer los proveedores de ADFS y, por lo tanto, resolver las notificaciones de ADFS. Esto le permite conceder permisos a las notificaciones de ADFS en su sitio web.
Conceda acceso al sitio para las notificaciones de ADFS de la siguiente manera:
Vaya al sitio web en la zona predeterminada que usa la autenticación de Windows como administrador del sitio.
Haga clic en el menú Acciones del sitio, elija Configuración del sitio y, a continuación, haga clic en Permisos avanzados.
Haga clic en Nuevo, y luego en Agregar usuarios.
Para agregar una notificación de usuario, especifique la dirección de correo electrónico o el nombre principal de usuario (UPN) en la sección Usuarios/Grupos. Si las notificaciones de UPN y de correo electrónico se envían desde el servidor de federación, SharePoint usará el UPN para la comprobación con el proveedor de pertenencia. Por lo tanto, si desea usar el correo electrónico, deberá deshabilitar la notificación de UPN en el servidor de federación. Vea “Trabajar con notificaciones de UPN y correo electrónico” para obtener más información.
Para agregar una notificación de grupo, escriba el nombre de la notificación que desea que use el sitio de SharePoint en la sección Usuarios/Grupos. Por ejemplo, cree una notificación de grupo organizativo llamada Colaborador Adatum en el servidor de federación. Agregue el nombre de notificación Colaborador Adatum al sitio de Sharepoint de la misma forma que agrega un grupo o un usuario de Windows. Puede asignar a esta notificación Miembros de la página principal [Colaborar] y cualquier usuario que obtenga acceso al sitio de SharePoint mediante esta notificación de grupo tendrá acceso de Colaborador al sitio.
Seleccione el nivel de permiso adecuado o el grupo de SharePoint.
Haga clic en Aceptar.
Use el editor de texto que prefiera para abrir el archivo web.config para el sitio extranet y agregue la siguiente entrada en el nodo <configSections>.
<sectionGroup name="system.web"> <section name="websso" type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /> </sectionGroup>
Agregue la siguiente entrada al nodo <httpModules>
<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
Nota
El módulo de autenticación ADFS debe especificarse siempre después del módulo SPRequest de Sharepoint en el nodo <httpModules> del archivo web.config. Es más seguro agregarlo como la última entrada de la sección.
Agregue la siguiente entrada en cualquier parte debajo del nodo <system.web>.
<membership defaultProvider="SingleSignOnMembershipProvider2"> <providers> <add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </providers> </membership>
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2"> <providers> <add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </providers> </roleManager>
<websso> <authenticationrequired /> <auditlevel>55</auditlevel> <urls> <returnurl>https://your_application</returnurl> </urls> <fs>https://fs-server/adfs/fs/federationserverservice.asmx</fs> <isSharePoint /> </websso>
Nota
Cambie el valor de fs-server en el equipo del servidor de federación y cambie el valor de su_aplicación de forma que muestre la dirección URL de su aplicación web de extranet.
Vaya al sitio web https://extranet.treyresearch.netcomo usuario ADFS con permisos para el sitio web de extranet.
Acerca del uso de Administración central
También puede usar la directiva Administración Central para conceder derechos a usuarios ADFS, pero es mejor no usar este método por los siguientes motivos:
Conceder derechos mediante directivas es una operación muy tosca. Permite al usuario (o al grupo) tener los mismos derechos en cada sitio web, en cada colección de sitios de toda la aplicación web. Se debe usar cuidadosamente; en esta situación en particular, podemos conceder acceso a usuario de ADFS sin seguir este método.
Después de usar los sitios en un entorno de extranet, es muy común que los usuarios internos sean responsables de conceder acceso a los sitios y al contenido. Debido a que sólo los administradores de la granja de servidores tienen acceso al sitio de administración central, la mejor opción es que los usuarios internos puedan agregar notificaciones de ADFS desde el sitio de la zona predeterminada que usa la autenticación de Windows.
Al ampliar aplicaciones web mediante diferentes proveedores, puede configurar uno de ellos, o más, para encontrar usuarios y grupos de distintos proveedores que usa en la aplicación web. En esta situación, configuramos nuestro sitio que usa autenticación de Windows de forma que permita a los usuarios del sitio seleccionar otros usuarios de Windows, grupos de Windows y notificaciones ADFS, todo desde un sitio.
Trabajo con el selector de personas
El selector de personas no puede realizar búsquedas con caracteres comodín para buscar funciones. Si tiene un proveedor de funciones SSO web llamado Lectores y escribe Lector en el selector de personas en el cuadro de diálogo de búsqueda, no encontrará la notificación. Si escribe Lectores, lo encontrará. No se trata de un error; simplemente no se pueden usar comodines en búsquedas con el proveedor de funciones.
Los archivos ejecutables de línea de comandos como stsadm.exe no podrá resolver las notificaciones de ADFS de forma predeterminada. Por ejemplo, es posible que desee agregar un nuevo usuario al sitio de extranet mediante el comando stsadm.exe –o adduser. Para permitir que Stsadm (u otro archivo ejecutable) resuelva usuarios, siga estos pasos para crear un nuevo archivo de configuración:
Cree un nuevo archivo llamado stsadm.exe.config en el mismo directorio en que se encuentra stsadm.exe (%programfiles%\Archivos comunes\Microsoft Shared Debug\Web Server Extensions\12\BIN). Agregue la siguiente entrada en el archivo stsadm.exe.config:
<configuration> <system.web> <membership defaultProvider="SingleSignOnMembershipProvider2"> <providers> <add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" /> </providers> </membership> <roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2"> <providers> <add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" /> </providers> </roleManager> </system.web> </configuration>
Nota
Modifique el valor de fs-server en el servidor de federación de recursos (adfsresource.treyresearch.net).
Trabajo con notificaciones de UPN y correo electrónico
Para configurar si el servidor de federación puede o no enviar notificaciones de UPN o correo electrónico a Windows SharePoint Services 3.0, realice el siguiente procedimiento.
Configurar las notificaciones de UPN y correo electrónico en un servidor de federación
En Herramientas administrativas del servidor de federación, abra el complemento ADFS.
Nota
También puede abrir el complemento ADFS si escribe ADFS.MSC en el cuadro de diálogo Ejecutar.
Seleccione el nodo de su aplicación Windows SharePoint Services 3.0 (la aplicación debe estar ya en la lista de nodos).
En la lista de notificaciones de la derecha, haga clic con el botón secundario en Correo electrónico y seleccione Habilitar o Deshabilitar.
En la lista de notificaciones de la derecha, haga clic con el botón secundario en UPN y seleccione Habilitar o Deshabilitar.
Nota
Si UPN y Correo electrónico están habilitados, Windows SharePoint Services 3.0 usará UPN para comprobar la notificación de los usuarios. Por lo tanto, al configurar Windows SharePoint Services 3.0, tenga cuidado con las notificaciones de usuario que especifica. Tenga también en cuenta que la notificación de UPN sólo funcionará de forma coherente si los sufijos de UPN y de correo electrónico que acepta el servidor de federación son idénticos. Esto se debe a que el proveedor de pertenencia está basado en correo electrónico. Debido a esta complejidad en la configuración de notificaciones de UPN, se recomienda usar la configuración de notificaciones de usuario por correo electrónico para la autenticación de pertenencias.
Trabajo con notificaciones de grupos y grupos organizativos
En Windows SharePoint Services 3.0 se pueden asignar derechos a grupos de Active Directory mediante su adición a un grupo de SharePoint o directamente a un nivel de permisos. El nivel de permisos que tiene un usuario determinado en un sitio se calcula en función de los grupos de Active Directory y de SharePoint a los que éste pertenece y todos los niveles de permisos a los que se ha agregado el usuario directamente.
Cuando se usa ADFS como un proveedor de funciones en Windows SharePoint Services 3.0, el proceso es distinto. No hay ninguna forma de que el proveedor SSO web resuelva un grupo de Active Directory directamente; en su lugar, resuelve la pertenencia mediante notificaciones de grupo organizativo. Cuando se usa ADFS con Windows SharePoint Services 3.0, debe crear un conjunto de notificaciones de grupo organizativo en ADFS. A continuación, puede asociar varios grupos de Active Directory con una notificación de grupo organizativo ADFS.
Para que las notificaciones de grupos funcionen con la última versión de ADFS, debe editar el archivo web.config de la aplicación ADFS en IIS en el servidor de ADFS.
Abra el archivo web.config y agregue <getGroupClaims /> al nodo <FederationServerConfiguration> del nodo <System.Web>, tal como se muestra en el siguiente ejemplo.
<configuration>
<system.web>
<FederationServerConfiguration>
<getGroupClaims />
</FederationServerConfiguration>
</system.web>
</configuration>
En Adatum (Bosque de cuentas), haga lo siguiente:
Cree un grupo de Active Directory llamado Lectores de SharePoint de Trey.
Cree un grupo de Active Directory llamado Colaboradores de SharePoint de Trey.
Agregue Alansh al grupo Lectores y Adamcar a Colaboradores.
Cree una notificación de grupo organizativo llamada Lectores de SharePoint de Trey.
Cree una notificación de grupo organizativo llamada Colaboradores de SharePoint de Trey.
Haga clic con el botón secundario en el almacén de cuentas de Active Directory y haga clic en Nuevo y, a continuación, en Extracción de notificación de grupo.
Seleccione la notificación de grupo organizativo Lectores de SharePoint de Trey y asóciela con el grupo de Active Directory Lectores de SharePoint de Trey.
Repita el paso 6 y, a continuación, asocie la notificación de grupo de colaboradores de SharePoint de Trey al grupo de Active Directory de colaboradores de SharePoint de Trey.
Haga clic con el botón secundario en el asociado de cuenta Trey Research y cree las siguientes asignaciones de notificación salientes:
Seleccione la notificación Lector de SharePoint de Trey y asigne la notificación saliente adatum-trey-lectores.
Seleccione la notificación Colaborador de SharePoint de Trey y asigne la notificación saliente adatum-trey-colaboradores.
Nota
Las organizaciones deben acordar los nombres de asignación de notificación y éstos deben combinar de forma exacta.
Del lado de Trey Research, inicie ADFS.MSC y siga estos pasos:
Cree una notificación de grupo organizativo llamada Lectores de SharePoint de Adatum.
Cree una notificación de grupo organizativo llamada Colaboradores de SharePoint de Adatum.
Cree asignaciones de grupos entrantes para las notificaciones:
Haga clic con el botón secundario en el asociado de cuenta Adatum y haga clic en Asignación de notificación de grupo entrante.
Seleccione Lectores de SharePoint de Adatum y asigne el elemento al nombre de notificación entrante adatum-trey-lectores.
Seleccione Colaboradores de SharePoint de Adatum y asigne el elemento al nombre de notificación entrante adatum-trey-colaboradores.
Haga clic con el botón secundario en la aplicación web Windows SharePoint Services 3.0 y, luego, haga clic en Habilitar en las notificaciones Lector y Colaborador.
Vaya al sitio http://trey-moss del lado de Trey Research como administrador del sitio y siga estos pasos:
Haga clic en el menú Acciones del sitio, elija Configuración del sitio y, después, haga clic en Personas y grupos.
Si no está seleccionado, haga clic en el grupo Integrantes de su sitio.
Haga clic en Nuevo y, luego, en Agregar usuario en la barra de herramientas.
Haga clic en el icono de libreta de direcciones junto al cuadro Usuarios/Grupos.
En el cuadro Buscar del cuadro de diálogo Selector de personas, escriba
Lectores de SharePoint de Adatum
En la sección Conceder permisos, seleccione Página principal del grupo de SharePointVisitantes [lectores].
En el cuadro Buscar, escriba
Colaboradores de SharePoint de Adatum
En la sección Conceder permisos, seleccione Página principal de grupo de SharePoint Miembros [colaborar].
Descarga de este libro
En este tema se incluye el siguiente libro descargable para facilitar la lectura y la impresión:
Consulte la lista completa de libros disponibles en los libros descargables para Windows SharePoint Services.