SharePoint 2013. Mostrar elementos de listas en la búsqueda de usuarios anónimos

El Servicio de Búsqueda de SharePoint indexa el contenido siempre atendiendo al contexto de seguridad del usuario, esto es, si un usuario no tiene permisos en un elemento de lista o documento, no podrá obtener ese resultado en una búsqueda. Cuando hablamos de usuarios anónimos, se cumple perfectamente esta regla y nos permite tener contenido público y contenido privado sin mucho esfuerzo.

Cuando creamos una lista o biblioteca de documentos, los usuarios anónimos heredan los permisos de seguridad del sitio y se les concede permisos de «Ver elementos» en la biblioteca.

 

Esta configuración de seguridad permite que los usuarios anónimos puedan acceder directamente a los documentos, mediante la URL de acceso, por ejemplo: http://www.compartimoss.com/BannerHome/banner_compartimoss.jpg, sin embargo, el rastreador del servicio de búsqueda no puede indexarlo ya que los usuarios anónimos no tienen acceso a la página que contiene las columnas o metadatos del documento.

Por motivos de seguridad, los usuarios anónimos no tienen acceso a los formularios de las listas porque se encuentra habilitada la característica «ViewFormPagesLockDown». Si la desactivamos, cosa que os recomiendo salvo contadas excepciones, pondrías a disposición de los usuarios anónimos estos documentos y formularios de listas.

La solución es bastante simple, romper la herencia de permisos de esta biblioteca y asignarle el nivel de permiso «Ver páginas de aplicaciones» a los usuarios anónimos.

$web = get-spweb «http://www.compartimos.com/banners»

$list = $web.Lists[«Banners«]

$list.BreakRoleInheritance($true)

$list.AnonymousPermMask = $list.AnonymousPermMask -bor ([int][Microsoft.SharePoint.SPBasePermissions]::ViewFormPages)

$list.Update()

 

Para comprobar que funciona, esperamos a que el buscador rastree el contenido o ejecutamos un rastreo manual, en una página añadimos un Web Part de Consulta de Contenido o Content Search Web Part, definimos la consulta de búsqueda, por ejemplo, URL:http://www.compartimoss.com/banners y publicamos. Recuerda comprobar sin autenticarte para asegurarte que eres un usuario anónimo y que obtienes un resultado tal como la imagen siguiente.

 

Básicamente, habilitamos el acceso a los formularios sólo para aquellas listas o bibliotecas que lo requieran y no para todo el sitio, con lo que reducimos la posible superficie de ataque en nuestra web.

 

Saludos a todos…

Deja un comentario

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