La herencia de permisos no se rompe en una subcarpeta: causa raíz y solución
🔍 WiseChecker

La herencia de permisos no se rompe en una subcarpeta: causa raíz y solución

Cuando intenta romper la herencia de permisos en una subcarpeta de SharePoint, el cambio a menudo no se aplica. La carpeta sigue heredando permisos de su sitio o biblioteca principal. Esto sucede porque SharePoint impone un límite en los permisos únicos por elemento o por contenedor. Este artículo explica la causa raíz en el modelo de permisos de SharePoint y proporciona una solución directa mediante PowerShell o la configuración del sitio.

Puntos clave: Romper la herencia de permisos en una subcarpeta

  • Límite de permisos únicos de SharePoint: SharePoint detiene la creación de nuevas rupturas de herencia cuando un sitio o lista alcanza los 50.000 permisos únicos.
  • Administrador de la colección de sitios > Permisos del sitio > Comprobar permisos: Use esta herramienta para verificar si la herencia está realmente rota o pendiente.
  • SharePoint Online Management Shell (PowerShell): Use el cmdlet Set-PnPListItemPermission para forzar la ruptura de la herencia en una subcarpeta.

ADVERTISEMENT

Por qué SharePoint se niega a romper la herencia en una subcarpeta

SharePoint Online tiene un límite estricto de 50.000 ámbitos de permisos únicos por colección de sitios. Se crea un ámbito de permisos único cada vez que se rompe la herencia en una lista, biblioteca, carpeta o elemento. Cuando intenta romper la herencia en una subcarpeta después de superar este límite, SharePoint ignora la solicitud de forma silenciosa. La carpeta sigue heredando permisos de su elemento principal y no aparece ningún error en la interfaz del navegador.

Este límite existe para proteger el rendimiento. Cada ámbito único requiere una entrada de lista de control de acceso independiente en la base de datos. Más allá de 50.000 ámbitos, los tiempos de consulta se degradan y el aprovisionamiento del sitio puede fallar. El límite se aplica por colección de sitios, no por sitio.

El papel del umbral de permisos de la colección de sitios

El límite de 50.000 ámbitos está documentado en los límites y restricciones de SharePoint. Afecta a todas las rupturas de herencia de permisos, no solo a las carpetas. Si ya tiene muchos permisos únicos en listas, bibliotecas de documentos o elementos, el siguiente intento de ruptura en cualquier subcarpeta fallará. La interfaz no le advierte que ha alcanzado el límite. Solo lo nota cuando la carpeta sigue mostrando “Permisos heredados” después de hacer clic en “Dejar de heredar permisos”.

Cómo funcionan realmente las rupturas de herencia

Cuando rompe la herencia en una carpeta, SharePoint copia los permisos del elemento principal a esa carpeta y crea un nuevo ámbito de permisos único. Este ámbito cuenta para el límite de 50.000. Si la lista o biblioteca principal ya tiene muchos ámbitos rotos, la operación puede superar el límite. SharePoint entonces cancela la operación y deja la carpeta en estado heredado.

Pasos para forzar la ruptura de la herencia en una subcarpeta

Antes de intentar romper la herencia, compruebe el recuento actual de permisos únicos. Luego use uno de los métodos siguientes para aplicar la solución.

Método 1: Comprobar el recuento actual de permisos únicos

  1. Abra la colección de sitios en el centro de administración de SharePoint
    Vaya a Centro de administración de SharePoint > Sitios activos. Seleccione el sitio que contiene la subcarpeta.
  2. Ejecute el informe de comprobación de permisos
    En la configuración del sitio, elija Permisos del sitio > Comprobar permisos. Introduzca el nombre de la carpeta y una cuenta de usuario. Si el resultado muestra “Heredado del elemento principal”, la herencia no está rota.
  3. Use PowerShell para contar ámbitos únicos
    Abra SharePoint Online Management Shell y ejecute:
    Connect-SPOService -Url https://yourtenant-admin.sharepoint.com
    Luego ejecute:
    Get-SPOSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" | Select-Object -ExpandProperty Owner
    Esto no muestra directamente el recuento de ámbitos. Para obtener el recuento, use PnP PowerShell:
    Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive
    Get-PnPList | ForEach-Object { $_.HasUniqueRoleAssignments } | Measure-Object
    Esto muestra el número de listas con permisos únicos. Para los elementos, use:
    Get-PnPListItem -List "Documents" -PageSize 5000 | Where-Object { $_.HasUniqueRoleAssignments } | Measure-Object

Método 2: Usar PnP PowerShell para romper la herencia

  1. Conéctese al sitio
    Ejecute Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive
  2. Obtenga el objeto de carpeta
    Ejecute $folder = Get-PnPFolder -Url "Shared Documents/YourSubfolder"
  3. Rompa la herencia en la carpeta
    Ejecute Set-PnPListItemPermission -List "Shared Documents" -Identity $folder.Name -BreakInheritance
    Si también desea copiar los permisos del elemento principal, agregue CopyRoleAssignments al comando:
    Set-PnPListItemPermission -List "Shared Documents" -Identity $folder.Name -BreakInheritance -CopyRoleAssignments
  4. Verifique el cambio
    Ejecute Get-PnPListItem -List "Shared Documents" -Identity $folder.Name | Select-Object HasUniqueRoleAssignments
    Si el resultado es True, la herencia está rota.

Método 3: Reducir los permisos únicos para hacer espacio

  1. Identifique listas o bibliotecas con muchos permisos únicos
    Ejecute los comandos de recuento de PnP PowerShell del Método 1 para encontrar los contenedores más pesados.
  2. Restablezca la herencia en los elementos donde ya no se necesitan permisos únicos
    Para cada elemento, ejecute:
    Set-PnPListItemPermission -List "ListName" -Identity $item.Id -InheritPermissions
    Debe recorrer los elementos. Por ejemplo:
    $items = Get-PnPListItem -List "LargeList" -PageSize 5000
    foreach ($item in $items) {
    if ($item.HasUniqueRoleAssignments) {
    Set-PnPListItemPermission -List "LargeList" -Identity $item.Id -InheritPermissions
    }
    }
  3. Vuelva a comprobar el recuento de permisos únicos
    Ejecute de nuevo los comandos de medición para confirmar que está por debajo de 50.000.
  4. Rompa la herencia en la subcarpeta usando la interfaz del navegador
    Vaya a la carpeta, seleccione … > Administrar acceso > Configuración avanzada > Dejar de heredar permisos.

ADVERTISEMENT

Si SharePoint sigue negándose a romper la herencia

El botón “Dejar de heredar permisos” no hace nada

Si hace clic en el botón y la página se actualiza pero la herencia permanece, ha alcanzado el límite de 50.000 ámbitos. Siga el Método 3 para reducir los permisos únicos en otra parte de la colección de sitios. Luego inténtelo de nuevo.

La herencia se rompe pero se revierte después de unas horas

Esto ocurre cuando un trabajo de temporizador o un proceso de sincronización restablece los permisos. Compruebe si algún receptor de eventos personalizado o herramienta de copia de seguridad de terceros está restableciendo la herencia. También verifique que ningún administrador de la colección de sitios tenga un script en ejecución que herede permisos según una programación.

La herencia de permisos muestra “Rota” pero los usuarios no pueden acceder a la carpeta

Cuando rompe la herencia sin copiar las asignaciones de roles, se eliminan todos los permisos existentes. La carpeta solo queda accesible para los administradores de la colección de sitios. Para solucionarlo, agregue los usuarios o grupos necesarios mediante Administrar acceso > Agregar personas o ejecutando Set-PnPListItemPermission -List "Shared Documents" -Identity $folder.Name -User "user@domain.com" -AddRole "Contribute".

Permisos heredados vs. únicos: diferencias clave

Elemento Permisos heredados Permisos únicos
Almacenamiento de permisos Se almacena una vez en el nivel principal Se almacena por separado para cada elemento secundario
Impacto en el rendimiento Mínimo Degrada la velocidad de consulta más allá de 50.000 ámbitos
Esfuerzo de administración Bajo — cambie el principal, todos los secundarios se actualizan Alto — cada secundario debe administrarse individualmente
Límite de SharePoint Ninguno 50.000 ámbitos únicos por colección de sitios
Ideal para La mayoría de las carpetas y elementos Solo cuando elementos específicos necesitan acceso restringido

Los permisos heredados son el enfoque predeterminado y recomendado para la mayoría del contenido de SharePoint. Use permisos únicos con moderación para mantenerse por debajo del límite de 50.000 ámbitos. Cuando necesite permisos únicos, rompa la herencia en carpetas en lugar de elementos individuales para reducir el recuento total de ámbitos.

Ahora puede romper la herencia en una subcarpeta comprobando primero el recuento de permisos únicos y usando PowerShell para forzar la operación. A continuación, revise su colección de sitios para detectar listas o bibliotecas con permisos únicos excesivos y restablezca los que ya no necesite. Como sugerencia avanzada, programe un script de PowerShell mensual que informe el número de permisos únicos por colección de sitios para que pueda planificar las rupturas de herencia antes de alcanzar el límite.

ADVERTISEMENT