La biblioteca migrada conserva la herencia de permisos anterior: causa raíz y solución
🔍 WiseChecker

La biblioteca migrada conserva la herencia de permisos anterior: causa raíz y solución

Después de migrar una biblioteca de documentos de SharePoint desde un servidor local u otra colección de sitios, es posible que la biblioteca siga mostrando la herencia de permisos anterior en lugar de adoptar los permisos del nuevo sitio. Esto ocurre porque las herramientas de migración de SharePoint suelen conservar los permisos únicos originales de la biblioteca de origen. En este artículo, aprenderás por qué se rompe la herencia de permisos durante la migración y cómo restaurar la herencia adecuada para que la biblioteca respete la configuración de permisos del sitio principal.

Conclusiones clave: Cómo corregir la herencia de permisos después de la migración de la biblioteca

  • Centro de administración de SharePoint > Sitios activos > Permisos del sitio: Comprueba rápidamente si la biblioteca tiene la herencia rota comparando el resumen de permisos del sitio con la página de permisos de la biblioteca.
  • Configuración de la biblioteca > Permisos para esta biblioteca de documentos > Heredar permisos: El único botón que restaura la herencia del sitio principal, eliminando todos los permisos únicos antiguos.
  • Comando de PowerShell Set-PnPLibraryInheritance -Identity “NombreDeLaBiblioteca” -Inherit: Corrige varias bibliotecas en un solo script sin navegar por la interfaz web para cada biblioteca.

ADVERTISEMENT

Por qué una biblioteca migrada conserva la herencia de permisos anterior

Cuando migras una biblioteca de SharePoint con herramientas como la Herramienta de migración de SharePoint o una solución de terceros, la herramienta copia los metadatos, el contenido y la configuración de permisos de la biblioteca exactamente como existían en el entorno de origen. Si la biblioteca de origen tenía permisos únicos, es decir, no heredaba permisos de su sitio principal, esos permisos únicos se conservan en el destino. La herramienta de migración no combina ni restablece automáticamente los permisos para que coincidan con el modelo de herencia del nuevo sitio.

La causa raíz es que SharePoint trata cada biblioteca migrada como un objeto protegible distinto. La herencia de permisos de la biblioteca se establece como “rota” desde el momento en que se crea en el destino. La herramienta escribe la lista de control de acceso anterior directamente en la configuración de permisos de la biblioteca. Como resultado, los usuarios que tenían acceso en el entorno anterior conservan el acceso, y los usuarios que deberían tener acceso a través de los grupos del nuevo sitio pueden ser denegados. Este comportamiento es consistente en todas las versiones de SharePoint, tanto en SharePoint Server como en SharePoint Online.

Otro factor que contribuye es que las herramientas de migración a menudo se ejecutan en modo “conservar permisos” de forma predeterminada. Los administradores pueden no darse cuenta de que esta configuración está habilitada. La herramienta interpreta “conservar” como “mantener todo exactamente como está”, incluida la herencia rota. A menos que deshabilites explícitamente la conservación de permisos en la configuración de migración, la biblioteca llegará con su estado de herencia anterior.

Pasos para restaurar la herencia de permisos en una biblioteca migrada

Los siguientes pasos se aplican a SharePoint Online y SharePoint Server 2019 y versiones posteriores. El método de interfaz web funciona para una biblioteca a la vez. El método de PowerShell funciona para varias bibliotecas en una sola ejecución.

Método 1: Usar la interfaz web de SharePoint

  1. Abre la biblioteca y accede a su configuración
    Navega al sitio de SharePoint que contiene la biblioteca migrada. Haz clic en el icono de engranaje en la esquina superior derecha y selecciona Configuración de la biblioteca. Si estás en un sitio de SharePoint moderno, es posible que debas hacer clic en el nombre de la biblioteca, luego en el icono de engranaje de la cinta y luego en Configuración de la biblioteca.
  2. Ve a la página de permisos
    En la página de configuración de la biblioteca, en la sección Permisos y administración, haz clic en Permisos para esta biblioteca de documentos. Esto abre la página de permisos de la biblioteca.
  3. Comprueba el estado de herencia
    Mira la cinta o la barra de herramientas. Si la biblioteca tiene permisos únicos, el botón Heredar permisos es visible. Si la biblioteca ya hereda permisos, verás un botón Dejar de heredar permisos en su lugar. Para una biblioteca migrada que conservó la herencia anterior, deberías ver Heredar permisos.
  4. Haz clic en Heredar permisos
    Haz clic en el botón Heredar permisos. Aparece un cuadro de diálogo de confirmación que advierte que se eliminarán todos los permisos únicos. Haz clic en Aceptar. SharePoint elimina todas las entradas de permisos directas en la biblioteca y establece que la biblioteca herede permisos de su sitio principal.
  5. Verifica el cambio
    Actualiza la página de permisos. El botón ahora debería decir Dejar de heredar permisos, lo que confirma que se ha restaurado la herencia. Los usuarios que tenían acceso a través de los permisos únicos antiguos se eliminan. Ahora los usuarios deben tener acceso a través de los grupos de permisos del sitio para ver la biblioteca.

Método 2: Usar PowerShell con PnP PowerShell

Usa PnP PowerShell para corregir varias bibliotecas en un solo script. Necesitas tener instalado el módulo PnP.PowerShell.

  1. Conéctate a tu sitio de SharePoint
    Ejecuta Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive. Reemplaza la URL con la URL real de tu sitio.
  2. Obtén la biblioteca que deseas corregir
    Ejecuta $library = Get-PnPList -Identity "LibraryName". Reemplaza LibraryName con el nombre para mostrar de tu biblioteca migrada.
  3. Comprueba si la biblioteca tiene permisos únicos
    Ejecuta $library.HasUniqueRoleAssignments. Si devuelve True, la biblioteca tiene la herencia rota.
  4. Restaura la herencia
    Ejecuta Set-PnPList -Identity "LibraryName" -BreakRoleInheritance:$false. Este comando restablece la biblioteca para que herede permisos del sitio principal. No aparece ningún cuadro de diálogo de confirmación.
  5. Verifica el cambio
    Ejecuta $library = Get-PnPList -Identity "LibraryName"; $library.HasUniqueRoleAssignments. Ahora debería devolver False.

Para corregir todas las bibliotecas de un sitio que tengan la herencia rota, ejecuta un bucle:

$site = Get-PnPSite
$lists = Get-PnPList | Where-Object { $_.HasUniqueRoleAssignments -eq $true -and $_.BaseType -eq "DocumentLibrary" }
foreach ($list in $lists) {
    Write-Host "Fixing $($list.Title)"
    Set-PnPList -Identity $list.Id -BreakRoleInheritance:$false
}

ADVERTISEMENT

Si la biblioteca aún muestra permisos antiguos después de la corrección

Los cambios de permisos no se propagan a las subcarpetas

Restaurar la herencia en la biblioteca no corrige automáticamente las subcarpetas o archivos que tenían permisos únicos antes de la migración. Cada subcarpeta y archivo con permisos únicos debe restablecerse individualmente. Usa PowerShell para recorrer todos los elementos y restablecer su herencia:

$items = Get-PnPListItem -List "LibraryName" -PageSize 500
foreach ($item in $items) {
    if ($item.HasUniqueRoleAssignments) {
        Set-PnPListItemPermission -List "LibraryName" -Identity $item.Id -Inherit
    }
}

La biblioteca aún muestra usuarios antiguos debido a permisos en caché

Los cambios de permisos de SharePoint tardan unos minutos en propagarse a todos los servidores front-end y vistas en caché. Espera 15 minutos y actualiza la página de permisos. Si los usuarios antiguos aún aparecen, borra la caché de tu navegador o abre el sitio en una ventana de navegación privada.

La herramienta de migración volvió a aplicar permisos después de la corrección

Si ejecutaste un trabajo de migración después de corregir la herencia, la herramienta puede haber vuelto a aplicar los permisos antiguos. Siempre corrige la herencia como último paso después de que se completen todos los trabajos de migración. Algunas herramientas tienen una configuración de “combinación de permisos” que puede sobrescribir los cambios de herencia. Deshabilita esa configuración en la herramienta antes de ejecutar la última pasada de migración.

Permisos heredados vs. únicos después de la migración: diferencias clave

Elemento Permisos heredados Permisos únicos
Fuente de permisos Sitio principal u objeto principal Asignados directamente en la biblioteca
Esfuerzo de administración Bajo: cambia los permisos en un solo lugar Alto: cada biblioteca debe administrarse por separado
Valor predeterminado después de la migración No se conserva a menos que se establezca explícitamente Conservado por la mayoría de las herramientas de migración
Impacto en el rendimiento Ninguno Evaluación de permisos más lenta para bibliotecas grandes
Recomendado para la mayoría de los equipos Solo cuando se requiere un aislamiento estricto

Después de restaurar la herencia, puedes administrar todos los permisos desde la página de permisos del sitio. Usa el Centro de administración de SharePoint > Sitios activos > Permisos del sitio para revisar los grupos a nivel de sitio y la configuración de uso compartido.

ADVERTISEMENT