Configuración de la autenticación SSO web mediante ADFS (Office SharePoint Server)

En este artículo:

  • Sistemas de autenticación federada

  • Antes de empezar

  • Configuración de la aplicación web de extranet para usar la autenticación SSO web

  • Acceso de 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

Sistemas de autenticación federada

Microsoft Office SharePoint Server 2007 admite escenarios de autenticación federada cuando el sistema de autenticación no es local respecto del equipo host de Office SharePoint Server 2007. 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 (ADFS), 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 empezar

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 de ADFS(https://go.microsoft.com/fwlink/?linkid=145396&clcid=0xC0A). Los nombres de servidores y los ejemplos incluidos en este artículo se basan en esta guía paso a paso, que describe la configuración de los Servicios de federación de Active Directory (ADFS) en un entorno de laboratorio de pruebas pequeño. En este entorno, un nuevo servidor denominado Trey-SharePoint se une al bosque Trey Research. Siga los pasos de esta guía para configurar la infraestructura de ADFS. Sin embargo, debido a que en este artículo se describe cómo configurar Office SharePoint Server 2007 en modo de aplicación para notificaciones, no necesitará implementar todos los pasos para crear aplicaciones de agente basadas en token de Windows NT que se describen en la guía paso a paso.

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 Office SharePoint Server 2007 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

  1. Instale el agente web de aplicaciones para notificaciones.

  2. Descargue e instale la revisión para ADFS que se describe en el artículo sobre la imposibilidad de 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).

  3. Instale Office SharePoint Server 2007, 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.

  4. Extienda la aplicación web creada en el paso dos a otra zona. En la página Administración de aplicaciones del sitio web 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:

    1. Agregue un encabezado de host. 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.

    2. Cambie la zona a Extranet.

    3. Asigne al sitio un nombre de encabezado de host que configurará en DNS y que se usará para resolver los usuarios de la extranet.

    4. 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.

    5. 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.

    6. Complete el resto de los pasos incluidos en la página para finalizar la extensión de la aplicación web.

  5. 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

    Predeterminada

    http://trey-moss

    https://extranet.treyresearch.net

    Extranet

    https://extranet.treyresearch.net

  6. Agregue un certificado SSL al sitio web de la extranet en IIS. Asegúrese de que el certificado SSL esté emitido para extranet.treyresearch.net, ya que éste es el nombre que usarán los clientes para obtener acceso a los sitios.

  7. Realice lo siguiente para configurar el proveedor de autenticación para que la zona de extranet en la aplicación web use SSO web:

    1. En la página Administración de aplicaciones del sitio de Administración central de la granja de servidores, haga clic en Proveedores de autenticación.

    2. 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.

    3. En la lista de las dos zonas asignadas para esta aplicación web (ambas deben indicar Windows), haga clic en el vínculo Windows para la zona de extranet.

    4. En la sección Tipo de autenticación, haga clic en Inicio de sesión web único.

    5. 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.

    6. 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.

    7. Asegúrese de que la opción ¿Desea habilitar la integración de clientes? esté establecida en No.

    8. 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.

Acceso de los usuarios al sitio web de la extranet

  1. 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.

  2. 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>
    
  3. 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.

  4. Conceda acceso al sitio para las notificaciones de ADFS de la siguiente manera:

    1. Vaya al sitio web en la zona predeterminada que usa la autenticación de Windows como administrador del sitio.

    2. Haga clic en el menú Acciones del sitio, elija Configuración del sitio y, a continuación, haga clic en Permisos avanzados.

    3. Haga clic en Nuevo y, a continuación, en Agregar usuarios.

    4. 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 “Trabajo con notificaciones de UPN y correo electrónico” para obtener más información.

    5. 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 Colaboradores Adatum en el servidor de federación. Agregue el nombre de notificación Colaboradores 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.

    6. Seleccione el nivel de permiso adecuado o el grupo de SharePoint.

    7. Haga clic en Aceptar.

  5. 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>
    
  6. 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.

  7. 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 your_application de forma que muestre la dirección URL de su aplicación web de extranet.

  8. Vaya al sitio web https://extranet.treyresearch.netcomo usuario de ADFS con permisos para el sitio web de extranet.

Uso de Administración central

También puede usar la directiva Administración Central para conceder derechos a usuarios de ADFS, pero es mejor no usar este método por los siguientes motivos:

  • Conceder derechos mediante directivas es una operación poco compleja. Permite al usuario (o al grupo) tener los mismos derechos en cada sitio web de cada colección de sitios de toda la aplicación web. Se debe usar cuidadosamente; en esta situación en particular, podemos conceder acceso al 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 el mismo 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, sí la encontrará. No se trata de un error; simplemente no se pueden usar caracteres comodín en búsquedas con el proveedor de funciones.

Los archivos ejecutables de línea de comandos como stsadm.exe no podrán resolver las notificaciones 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 Office SharePoint Server 2007, realice el siguiente procedimiento.

  1. 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.

  2. Seleccione el nodo de su aplicación Office SharePoint Server 2007 (la aplicación debe estar ya en la lista de nodos).

  3. En la lista de notificaciones de la derecha, haga clic con el botón secundario en Correo electrónico y seleccione Habilitar o Deshabilitar.

  4. 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, Office SharePoint Server 2007 usará UPN para comprobar la notificación de los usuarios. Por lo tanto, al configurar Office SharePoint Server 2007, 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 suscripciones se basa en el 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 suscripciones.

Trabajo con notificaciones de grupos y grupos organizativos

En Office SharePoint Server 2007, se pueden asignar derechos a grupos de Active Directory si se agregan 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 a partir de los grupos de Active Directory de los que el usuario es miembro, los grupos de SharePoint a los que pertenece y los niveles de permisos a los que se le haya agregado directamente.

Cuando se usa ADFS como proveedor de funciones en Office SharePoint Server 2007, el proceso es diferente. El proveedor de SSO web no tiene forma de resolver directamente un grupo de Active Directory; en su lugar, resuelve los grupos mediante el uso de notificaciones de grupos organizativos. Cuando se usa ADFS con Office SharePoint Server 2007, se debe crear un conjunto de notificaciones de grupos organizativos en ADFS. Después, se pueden asociar varios grupos de Active Directory a una notificación de grupo organizativo de ADFS.

Para que las notificaciones de grupo 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:

  1. Cree un grupo de Active Directory llamado Lectores de Trey SharePoint.

  2. Cree un grupo de Active Directory llamado Colaboradores de Trey SharePoint.

  3. Agregue Alansh al grupo Lectores y Adamcar a Colaboradores.

  4. Cree una notificación de grupo organizativo llamada Lectores de Trey SharePoint.

  5. Cree una notificación de grupo organizativo llamada Colaboradores de Trey SharePoint.

  6. Haga clic con el botón secundario en el almacén de cuentas de Active Directory y haga clic en Crear una nueva extracción de notificación de grupo.

    1. Seleccione la notificación de grupo organizativo Lectores de Trey SharePoint y asóciela con el grupo de Active Directory Lectores de Trey SharePoint.

    2. Repita el paso 6 y, después, asocie la notificación de grupo organizativo Colaboradores de Trey SharePoint al grupo Colaboradores de Trey SharePoint de Active Directory.

  7. Haga clic con el botón secundario en el asociado de cuenta Trey Research y cree las siguiente asignaciones de notificación salientes:

    1. Seleccione la notificación Lector de Trey SharePoint y asigne la notificación saliente adatum-trey-lectores.

    2. Seleccione la notificación Colaborador de Trey SharePoint 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 coincidir de forma exacta.

Del lado de Trey Research, inicie ADFS.MSC y siga estos pasos:

  1. Cree una notificación de grupo organizativo llamada Lectores de SharePoint de Adatum.

  2. Cree una notificación de grupo organizativo llamada Colaboradores de SharePoint de Adatum.

  3. Cree asignaciones de grupos entrantes para los reclamos:

    1. 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.

    2. Seleccione Lectores de SharePoint de Adatum y asigne el elemento al nombre de notificación entrante adatum-trey-lectores.

    3. Seleccione Colaboradores de SharePoint de Adatum y asigne el elemento al nombre de notificación entrante adatum-trey-colaboradores.

  4. Haga clic con el botón secundario en la aplicación web Office SharePoint Server 2007 y, a continuación, 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:

  1. Haga clic en el menú Acciones del sitio, elija Configuración del sitio y, después, haga clic en Personas y grupos.

  2. Si no está seleccionado, haga clic en el grupo Integrantes de su sitio.

  3. Haga clic en Nuevo y, luego, en Agregar usuario en la barra de herramientas.

  4. Haga clic en el icono de libreta de direcciones junto al cuadro Usuarios/Grupos.

  5. En el cuado Buscar del cuadro de diálogo Selector de personas, escriba

    Lectores de SharePoint de Adatum

    En la sección Conceder permisos, seleccione la página principal del grupo de SharePoint Visitantes [Lectores].

  6. En el cuadro Buscar, escriba

    Colaboradores de SharePoint de Adatum

    En la sección Conceder permisos, seleccione la página principal del grupo de SharePoint Integrantes [Colaborar].

Descarga de este libro

En este tema se incluye el siguiente libro descargable para facilitar la lectura y la impresión:

Vea la lista completa de libros disponibles en la biblioteca técnica de Office SharePoint Server.