Delegación de identidad para Servicios de Excel (SharePoint Server 2010)
Se aplica a: Excel Services, SharePoint Server 2010
Última modificación del tema: 2016-11-30
En este escenario se agrega la aplicación de servicio de Servicios de Excel al entorno de SharePoint Server y se configura la delegación limitada de Kerberos para permitir que el servicio actualice los datos en una hoja de cálculo desde un origen de datos externo de SQL Server.
Nota
Si va a realizar una instalación en Windows Server 2008, es posible que tenga que instalar la siguiente revisión para la autenticación Kerberos:
Al usar el algoritmo Estándar de cifrado avanzado (AES), se produce un error en la autenticación Kerberos junto con el código de error 0X80090302 o 0x8009030f en un equipo que ejecuta Windows Server 2008 o Windows Vista (https://support.microsoft.com/kb/969083/es-es)
Dependencias de escenarios
Para completar este escenario debe haber completado los siguientes artículos:
Escenario 1: Configuración principal
Escenario 2: Autenticación Kerberos para OLTP de SQL
Lista de comprobación de configuración
Área de configuración | Descripción |
---|---|
Configuración de Active Directory |
Crear una cuenta de servicio de Servicios de Excel Configurar el SPN en la cuenta de servicio de Servicios de Excel Configurar la delegación limitada de Kerberos para servidores que ejecutan Servicios de Excel Configurar la delegación limitada de Kerberos para la cuenta de servicio de Servicios de Excel |
Configuración de SharePoint Server |
Iniciar las notificaciones del servicio de token de Windows en los servidores de Servicios de Excel Iniciar la instancia de servicio de Servicios de Excel en el servidor de Servicios de Excel Crear la aplicación de servicio y el proxy de Servicios de Excel Configurar la ubicación del archivo de confianza y las opciones de autenticación de Servicios de Excel |
Comprobar la delegación restringida de Servicios de Excel |
Crear la biblioteca de documentos para hospedar el libro de prueba Crear una de base de datos de SQL de prueba y una tabla de pruebas Crear un libro de Excel de prueba con la conexión de datos de SQL Publicar un libro en SharePoint Server y actualizar una conexión de datos |
Detalles del entorno del escenario
Rutas de acceso de delegación limitada de Kerberos
En este escenario, se configurará la cuenta de servicio de Servicios de Excel de SharePoint Server para la delegación limitada de Kerberos para el servicio SQL Server.
Nota
En este escenario, se configurarán las notificaciones de los servicios de token de Windows (C2WTS) para usar una cuenta de servicio dedicada. Si configura C2WTS para usar el Sistema local, necesitará configurar la delegación restringida en la cuenta de equipo para el equipo que ejecuta C2WTS y Servicios de Excel.
Autenticación lógica de SharePoint Server
La autenticación en este escenario comienza cuando el cliente se autentica con la autenticación Kerberos en el front-end web. SharePoint Server 2010 convertirá el token de autenticación de Windows en un token de notificaciones mediante el servicio de token de seguridad (STS) local. La aplicación de servicio de Excel aceptará el token de notificaciones y lo convertirá en un token de Windows (Kerberos) mediante las notificaciones del servicio de token de Windows (C2WTS) locales, que forman parte de Windows Identity Framework (WIF). La aplicación de servicio de Excel, a continuación, usará el vale Kerberos del cliente para autenticarse con el origen de datos back-end.
Instrucciones de configuración paso a paso
Configuración de Active Directory
Crear una cuenta de servicio de Servicios de Excel
Como procedimiento recomendado, Servicios de Excel debería ejecutarse bajo su propia identidad de dominio. Para configurar la aplicación de servicio de Excel, deben crearse cuentas de Active Directory. En este ejemplo, se han creado las siguientes cuentas:
Servicio de SharePoint Server | Identidad del grupo de aplicaciones de IIS |
---|---|
Servicios de Excel |
vmlab\svcExcel |
Configurar el SPN en la cuenta de servicio de Servicios de Excel
Se debe configurar la delegación limitada de Kerberos si Servicios de Excel va a delegar la identidad del cliente a un origen de datos back-end. En este ejemplo, Servicios de Excel consulta datos de una base de datos transaccional de SQL. Por lo tanto, se requiere la delegación Kerberos.
El complemento Usuarios y equipos de Active Directory de MMC se usa normalmente para configurar la delegación Kerberos. Para establecer la configuración de delegación en el complemento, el objeto de Active Directory que se va a configurar debe tener aplicado un nombre de entidad de seguridad de servicio; de lo contrario, no aparecerá la ficha Delegación para el objeto en el cuadro de diálogo de propiedades del objeto. Aunque Servicios de Excel no requiera un SPN para funcionar, se configurará uno para este propósito.
En la línea de comandos, ejecute el comando siguiente:
SETSPN -S SP/ExcelServices
Nota
El SPN no es válido. Se aplica a la cuenta de servicio especificada para mostrar las opciones de delegación en el complemento Usuarios y equipos de AD. Se admiten otras formas para especificar la configuración de delegación (específicamente el atributo msDS-AllowedToDelegateTo de AD), pero este tema no se tratará en este documento.
Configurar la delegación limitada de Kerberos para Servicios de Excel
Para permitir que Servicios de Excel delegue la identidad del cliente, se debe configurar la delegación limitada de Kerberos. Es necesario para configurar la delegación restringida con transición de protocolos para la conversión del token de notificaciones al token de Windows a través de C2WTS de WIF.
Cada servidor que ejecuta Servicios de Excel debe ser de confianza para delegar las credenciales a cada servicio back-end con el cual se va a autenticar Excel. Además, la cuenta de servicio de Servicios de Excel también debe configurarse para permitir la delegación a los mismos servicios back-end.
En este ejemplo, se definen las siguientes rutas de acceso de delegación:
Tipo de entidad de seguridad | Nombre de entidad de seguridad | Delega al servicio |
---|---|---|
Usuario |
svcExcel |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
*Usuario |
svcC2WTS |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
**Equipo |
VMSP10APP01 |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
* Se configura más adelante en este escenario
** Solo se requiere si C2WTS se ejecuta como sistema local
Para configurar la delegación restringida
Abra las propiedades del objeto de Active Directory en Usuarios y equipos de Active Directory.
Navegue hasta la ficha Delegación.
Seleccione Confiar en este usuario para la delegación sólo a los servicios especificados.
Seleccione Usar cualquier protocolo de autenticación. Esto permite la transición de protocolos y es necesario para que la cuenta de servicio use C2WTS.
Haga clic en el botón Agregar para seleccionar la entidad de seguridad de servicio a la que se permite delegar.
Seleccione Usuarios y equipos.
Seleccione la cuenta de servicio que ejecute el servicio que desee delegar. En este ejemplo, es la cuenta de servicio del servicio SQL.
Nota
La cuenta de servicio seleccionada debe tener aplicado un SPN. En este ejemplo, el SPN para esta cuenta se configuró en un escenario anterior.
Haga clic en Aceptar. A continuación, se le pedirá que seleccione los SPN a los que se va a delegar en la siguiente pantalla.
Seleccione los servicios para el clúster de SQL y haga clic en Aceptar.
Ahora debería ver los SPN seleccionados en la lista Servicios a los que esta cuenta puede presentar credenciales delegadas.
Repita estos pasos para cada ruta de acceso de delegación definida al principio de esta sección.
Compruebe el SPN de MSSQLSVC para la cuenta de servicio que ejecuta el servicio en el servidor SQL Server (realizado en el escenario 2)
Compruebe que exista el SPN de la cuenta de servicio de Analysis Services (vmlab\svcSQL) con el siguiente comando SetSPN:
SetSPN -L vmlab\svcSQL
Debería ver lo siguiente:
MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433
Configuración de SharePoint Server
Configurar e iniciar las notificaciones del servicio de token de Windows en los servidores de Servicios de Excel
Notificaciones del servicio de token de Windows (C2WTS) es un componente de Windows Identity Foundation (WIF) responsable de convertir los tokens de notificaciones del usuario en tokens de Windows. Servicios de Excel usa C2WTS para convertir el token de notificaciones del usuario en un token de Windows cuando los servicios necesitan delegar credenciales a un sistema back-end que usa autenticación de Windows integrada. WIF se implementa con SharePoint Server 2010 y C2WTS se puede iniciar desde Administración central.
Cada servidor de aplicaciones de Servicios de Excel debe ejecutar C2WTS localmente. C2WTS no abre ningún puerto y un autor de llamada remoto no puede acceder a él. Además, el archivo de configuración del servicio C2WTS debe configurarse para confiar específicamente en la identidad del cliente de llamada local.
Como procedimiento recomendado, debe ejecutar C2WTS mediante una cuenta de servicio dedicada y no como Sistema local (la configuración predeterminada). La cuenta de servicio de C2WTS requiere permisos locales especiales en cada servidor en que se ejecuta el servicio, por lo que debe asegurarse de configurar estos permisos cada vez que se inicie el servicio en un servidor. Lo mejor es configurar los permisos de la cuenta de servicio en el servidor local antes de iniciar C2WTS; pero si se configuran después, podrá reiniciar C2WTS desde la consola de administración de servicios (services.msc) de Windows.
Para iniciar C2WTS
Cree una cuenta de servicio en Active Directory bajo la cual se pueda ejecutar el servicio. En este ejemplo se creó vmlab\svcC2WTS.
Agregue un nombre de entidad de seguridad de servicio (SPN) arbitrario a la cuenta de servicio para exponer las opciones de delegación para esta cuenta en Usuarios y equipos de Active Directory. El SPN puede tener cualquier formato, ya que no se autentica a C2WTS mediante la autenticación Kerberos. Se recomienda no usar un SPN de HTTP para evitar crear potencialmente SPN duplicados en el entorno. En este ejemplo, se registró SP/C2WTS en vmlab\svcC2WTS mediante el siguiente comando:
SetSPN -S SP/C2WTS vmlab\svcC2WTS
Configure la delegación limitada de Kerberos en la cuenta de servicios de C2WTS. En este escenario, se van a delegar las credenciales al servicio SQL que se ejecuta con el nombre de entidad de seguridad de servicio MSSQLSVC/MySqlCluster.vmlab.local:1433.
A continuación, configure los permisos de servidor local requeridos para C2WTS. Deberá configurar estos permisos en cada servidor en que se ejecute C2WTS. En este ejemplo, es VMSP10APP01. Inicie sesión en el servidor y otorgue los permisos siguientes a C2WTS:
Agregue la cuenta de servicio a los grupos de administradores locales.
En la directiva de seguridad local (secpol.msc) de la asignación de derechos de usuario, conceda los permisos siguientes a la cuenta de servicio:
Actuar como parte del sistema operativo
Suplantar a un cliente tras la autenticación
Iniciar sesión como servicio
Abra Administración central.
En Seguridad -> Configurar cuentas de servicio administradas, registre la cuenta de servicio C2WTS como una cuenta administrada.
En Servicios, seleccione Administrar servicios en el servidor.
En el cuadro de selección de servidor en la esquina superior derecha, seleccione los servidores que ejecutan Servicios de Excel. En este ejemplo, es VMSP10APP01.
Busque Notificaciones del servicio de token de Windows e inícielo.
Vaya a Seguridad -> Administrar cuentas administradas. Cambie la identidad de C2WTS por la nueva cuenta administrada.
Nota
Si C2WTS ya estaba en ejecución antes de configurar la cuenta de servicio dedicada o si necesita cambiar los permisos de la cuenta de servicio después de que se esté ejecutando C2WTS, deberá reiniciar C2WTS desde la consola de servicios.
Además, si experimenta problemas con C2WTS después de reiniciar el servicio, es posible que también se necesiten restablecer los grupos de aplicaciones de IIS que se comunican con C2WTS.
Agregar dependencias de inicio al servicio C2WTS de WIF
Hay un problema conocido con C2WTS que consiste en que es posible que este servicio no se inicie automáticamente de forma correcta al reiniciar el sistema. Una solución alternativa al problema es configurar una dependencia de servicio en el servicio Servicios de cifrado:
Abra la ventana de símbolo del sistema.
Escriba: sc config "c2wts" depend= CryptSvc
Encuentre Notificaciones del servicio de token de Windows en la consola de servicios.
Abra las propiedades del servicio.
Compruebe la ficha Dependencias. Asegúrese de que Servicios de cifrado esté en la lista.
Haga clic en Aceptar.
Conceder a la cuenta de servicio de Servicios de Excel permisos para la base de datos de contenido de la aplicación web
Un paso necesario para la configuración de Office Web Applications de SharePoint Server 2010 es permitir el acceso de la cuenta de servicio de la aplicación web a las bases de datos de contenido para una aplicación web determinada. En este ejemplo, se concederá acceso a la cuenta de servicio de Servicios de Excel para la base de datos de contenido de la aplicación web "portal" mediante Windows PowerShell.
Ejecute el comando siguiente desde la Consola de administración de SharePoint 2010:
$w = Get-SPWebApplication -Identity http://portal
$w.GrantAccessToProcessIdentity("vmlab\svcExcel")
Iniciar la instancia de servicio de Servicios de Excel en el servidor de Servicios de Excel
Antes de crear una aplicación de servicio de Servicios de Excel, inicie el servicio de servidor de Servicios de Excel en los servidores designados del conjunto o granja de servidores.
Abra Administración central.
En Servicios, seleccione Administrar servicios en el servidor.
En el cuadro de selección de servidor en la esquina superior derecha, seleccione los servidores que ejecutan Servicios de Excel. En este ejemplo, es VMSP10APP01.
Inicie el servicio Excel Calculation Services.
Crear la aplicación de servicio y el proxy de Servicios de Excel
A continuación, configure una nueva aplicación de servicio y el proxy de aplicación de Servicios de Excel para permitir que las aplicaciones web consuman Servicios de Excel:
Abra Administración central.
En Administración de aplicaciones, seleccione Administrar aplicaciones de servicio.
Seleccione Nueva y, a continuación, haga clic en Aplicación de Servicios de Excel.
Configure la nueva aplicación de servicio. Asegúrese de seleccionar la cuenta de servicio correcta (cree una nueva cuenta administrada si la cuenta de servicio de Excel no está en la lista).
Configurar la ubicación del archivo de confianza y las opciones de autenticación de Servicios de Excel
Una vez creada la aplicación de Servicios de Excel, configure las propiedades en la nueva aplicación de servicio para especificar la configuración de autenticación y una ubicación de host de confianza.
Abra Administración central.
En Administración de aplicaciones, seleccione Administrar aplicaciones de servicio.
Haga clic en el vínculo para la nueva aplicación de servicio; en este ejemplo, Servicios de Excel.
En la pantalla de administración de Servicios de Excel, haga clic en "Ubicaciones de archivos de confianza".
Agregue una nueva ubicación de archivos de confianza.
Especifique la ubicación de la biblioteca de pruebas.
Nota
En este ejemplo, se confía en la dirección URL de aplicación web raíz y todos sus elementos secundarios. En un entorno de producción puede restringir la confianza a una ubicación más pormenorizada.
En Datos externos, seleccione Bibliotecas de conexiones de datos de confianza e incrustadas.
Nota
En este ejemplo se usará una conexión incrustada para conectarse con el servidor SQL Server. En su entorno, puede crear un archivo de conexión independiente y almacenarlo en una biblioteca de conexiones de datos de confianza. En ese caso podría seleccionar Sólo bibliotecas de conexiones de datos de confianza.
Cambie la vigencia de la memoria caché de datos externos. Para fines de prueba, es conveniente cambiar la Duración en caché de datos externos para asegurarse de que las actualizaciones de datos provengan del origen de datos y no de la memoria caché. En Datos externos, cambie los valores siguientes:
Actualización automática (periódica/al abrir) = 0
Actualización manual = 0
Nota
En un entorno de producción, querrá establecer una configuración de memoria caché superior a 0. La configuración de la memoria caché en 0 es solo para el propósito de esta prueba.
Comprobar la delegación restringida de Servicios de Excel
Crear la biblioteca de documentos para hospedar el libro de prueba
Abra un sitio en la ruta de acceso de confianza que se configuró en el paso anterior. Cree una nueva biblioteca de documentos para hospedar un libro de Excel de prueba.
Crear un libro de Excel de prueba con la conexión de datos de SQL
A continuación, cree un libro de Excel con una conexión de datos con la nueva base de datos de prueba:
Abra Excel.
En la ficha Datos, seleccione De otras fuentes -> Desde SQL Server.
Conéctese con el origen de datos SQL de prueba.
Seleccione la base de datos de prueba y la tabla de pruebas (en este ejemplo, Sales).
Haga clic en Siguiente. Haga clic en el botón Configuración de autenticación. Asegúrese de que esté especificada la autenticación de Windows.
Haga clic en Finalizar.
Seleccione Informe de tabla dinámica.
Configure la tabla dinámica. Asegúrese de que se devuelvan los datos desde el origen SQL.
Publicar un libro en SharePoint Server y actualizar una conexión de datos
El último paso para validar la aplicación de Servicios de Excel es publicar el libro y probar la actualización de la conexión de SQL incrustada.
Haga clic en la pestaña Archivo.
Haga clic en Guardar y enviar, seleccione Guardar en SharePoint y, a continuación, haga clic en Buscar una ubicación.
Escriba la ubicación de la biblioteca de confianza creada en los pasos anteriores.
Asegúrese de que Abrir libro con Excel en el explorador esté seleccionado.
En este momento, se abrirá una nueva ventana de explorador con el libro de prueba. Una vez que se represente el libro, actualice la conexión de datos. Para ello, haga clic en Datos y, a continuación, haga clic en Actualizar todas las conexiones.
Si se actualiza la conexión de datos, es porque se ha configurado correctamente la delegación Kerberos para Servicios de Excel. Para probar la conectividad aún más, cambie los datos de origen a través de SQL Management Studio y, a continuación, actualice la conexión. Debería ver los datos modificados recientemente en el libro. Si no ve ningún cambio y no recibe ningún error al actualizar, es muy probable que esté viendo los datos almacenados en la memoria caché. De forma predeterminada, Servicios de Excel almacenará en la memoria caché datos de orígenes externos durante cinco minutos. Puede cambiar esta configuración de memoria caché. Para obtener más información, vea Configurar la ubicación del archivo de confianza y las opciones de autenticación de Servicios de Excel.