SharePoint 2013: ¿Está soportado el acceso anónimo a informes de Reporting Services?

Esta es la pregunta qué me hicieron el otro día, y qué con mis dudas sobre la mesa, me llevo a hacer pruebas de si era posible o no acceder de forma anónima a informes de Reporting Services. Ya os adelanto que no está soportado por Microsoft como podéis leer en este enlace en el que se detalla un workaround no soportado que en cualquier caso habría que probar si es válido para una integración de SSRS y SharePoint. Aún así os dejo las pruebas que hice para ver si era posible o no dicho acceso anónimo:

  • En primer lugar, crear una cuenta de ejecución de informes de SQL para no utilizar autenticación Windows. En un escenario de Reporting Services 2012 integrado con SharePoint (por medio de la correspondiente aplicación de servicio), es necesario crear dicha cuenta en cada una de las BDs asociadas a la aplicación de servicio además de en las BDs master y msdb. Por supuesto, la cuenta se tiene que añadir a la BD qué contiene los datos que mostrará el informe.
   1:  exec sp_droplogin @loginame='ReportExecution'
   2:  exec sp_addlogin @loginame='ReportExecution', @passwd='pass@word1'
   3:   
   4:  --En AdventureWorksDW
   5:  use AdventureWorks
   6:  if exists(select * from sysusers where name='ReportExecution')
   7:      exec sp_dropuser @name_in_db='ReportExecution'
   8:  exec sp_adduser @loginame='ReportExecution', @grpname='db_datareader'
   9:   
  10:  --En msdb
  11:  use msdb
  12:  if exists(select * from sysusers where name='ReportExecution')
  13:      exec sp_dropuser @name_in_db='ReportExecution'
  14:  --add the users to the databases and give them permissions
  15:  exec sp_adduser @loginame='ReportExecution', @grpname='db_datareader' 
  16:   
  17:  --En ReportingService_SABD
  18:  use ReportingService_SABD
  19:  if exists(select * from sysusers where name='ReportExecution')
  20:      exec sp_dropuser @name_in_db='ReportExecution'
  21:  --add the users to the databases and give them permissions
  22:  exec sp_adduser @loginame='ReportExecution', @grpname='db_datareader'
  23:   
  24:  --En ReportingService_SABDTempDB
  25:  use ReportingService_SABDTempDB
  26:  if exists(select * from sysusers where name='ReportExecution')
  27:      exec sp_dropuser @name_in_db='ReportExecution'
  28:  --add the users to the databases and give them permissions
  29:  exec sp_adduser @loginame='ReportExecution', @grpname='db_datareader'

  • Las BDs asociadas a la aplicación de servicio de Reporting Services son 3 en total: la que contiene las definiciones de informes, la de alertas y la BD temporal para cuestiones de procesado.
  • Crear con Report Builder 3.0 un informe en el que usemos la cuenta de ejecución de SQL qué hemos creado con el script anterior.
image image image
  • Configurar el origen de datos para que el informe use esas credenciales (pestaña Credenciales) y no las intente usar como credenciales Windows. Por supuesto, a partir de aquí crear el informe de acuerdo a los requerimientos qué tengamos establecidos.
  • Publicar el informe en la Colección de Sitios en concreto.
  • A nivel de SharePoint, configurar el acceso anónimo a nivel de Aplicación Web y del Sitio dónde hemos desplegado el informe.
image image

Tras realizar todos estos cambios, si accedéis al informe publicado:

  • Comprobaréis que no se visualiza y se muestra un error en la ejecución del informe.
  • Si intentáis editar el informe con Report Builder, observaréis que no es posible y qué da un error de acceso al informe dado que identifica que es un usuario anónimo el que quiere acceder a configurar el informe.

Para hacer una vuelta atrás y que el informe se pueda visualizar y editar, es necesario que quitéis el acceso anónimo tanto a nivel de aplicación web como de sitio, es decir, no es suficiente con quitarlo a nivel de sitio (o de colección de sitios).

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

Un comentario en “SharePoint 2013: ¿Está soportado el acceso anónimo a informes de Reporting Services?”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *