Compartir a través de


Procedimientos recomendados para usar la personalización avanzada de permisos en SharePoint Server

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

La personalización avanzada de permisos puede afectar la seguridad en una granja de SharePoint. Se pueden presentar problemas de rendimiento al usar la personalización avanzada de permisos. La siguiente información ayuda a solucionar los problemas de un entorno que puede haber provocado una escala o uso incorrecto de la personalización avanzada de permisos.

Para evitar la personalización avanzada de permisos, haga lo siguiente:

  • Interrumpa la herencia de permisos con la menor frecuencia posible.

  • Use grupos basados en la pertenencia a carpetas para asignar permisos.

  • Debido a un cambio en las funciones de rastreo continuo de la búsqueda de SharePoint Server que ahora incluyen información de seguridad, ya no recomendamos evitar el uso de grupos de SharePoint para administrar la pertenencias dinámicas de usuarios y grupos. Antes de SharePoint Server, el uso de pertenencias dinámicas en grupos de SharePoint podía provocar que los resultados de búsqueda no se mostraran correctamente para todos los miembros hasta la ejecución de un rastreo completo tras el cambio de pertenencia. Ahora que la capacidad de rastreo continuo incluye información de seguridad, las pertenencias dinámicas u otros cambios de seguridad se identificarán antes (el valor predeterminado es de 15 minutos) y se usarán en el recorte de resultados de la consulta de búsqueda.

  • Asigne permisos en el nivel más alto posible. Como parte de esta estrategia, considere las siguientes técnicas:

    • Coloque los documentos que requieren una personalización avanzada de permisos en bibliotecas de documentos definidas para admitir cada grupo de permisos. Mantenga las bibliotecas de documentos en una colección de sitios o un sitio independiente.

    • Use diferentes niveles de publicación de documentos para controlar el acceso. Antes de publicar un documento, es posible definir la configuración avanzada de permisos y versiones para los usuarios que solo pueden aprobar elementos en la biblioteca de documentos.

    • Para las bibliotecas que no son de documentos (listas), use los niveles de permisos ReadSecurity y WriteSecurity. Al crear una lista, los propietarios pueden definir los permisos de nivel de elemento en acceso de lectura o en acceso de creación y edición.

Antes de empezar

Antes de empezar esta operación, revise la siguiente información sobre los requisitos previos:

Procedimientos recomendados para evitar los problemas de límite comunes de la personalización avanzada de permisos

Si usar la personalización avanzada de permisos es un requisito de su negocio, considere los siguientes procedimientos recomendados:

  • Asegúrese de que no tiene demasiados elementos en el mismo nivel de jerarquía en las bibliotecas de documentos, ya que aumenta el tiempo necesario para procesar elementos en las vistas.

  • Use controladores de eventos para controlar el permiso de edición. Puede tener un controlador que registre un evento mediante los métodos SPEventReceiverType.ItemUpdating y SPEventReceiverType.ItemUpdated, y luego usar un código para controlar si se debe permitir la actualización. Este proceso es muy eficaz porque permite tomar decisiones relativas a la seguridad en función de cualquier metadato de una lista o elemento, sin que el rendimiento de la representación de vistas se vea afectado.

  • Use el método AddToCurrentScopeOnly para asignar la pertenencia de Acceso limitado en un grupo de SharePoint. El elemento clave de este principio consiste en rediseñar la arquitectura para que la pertenencia al ámbito no provoque el recálculo de la lista de control de acceso (ACL) en la biblioteca de documentos primaria y en la web. Para más información sobre los cambios de ámbito, vea Problema 3: Usar la personalización avanzada de permisos por cambios de estructura de ámbito (2010 solamente).

Cuando se trabaja con permisos específicos, es fácil encontrar límites involuntariamente que impiden que los permisos se resuelvan. Esta sección describe algunos de estos límites y los procedimientos recomendados para definirlos y permitir que los permisos se resuelvan correctamente.

Demasiados ámbitos en una lista

Hay un límite integrado de 50 000 ámbitos por lista o biblioteca de documentos. Una vez alcanzado este número, se prohíbe la adición de nuevos ámbitos en una lista o biblioteca de documentos determinada.

Procedimientos recomendados:

  • Solamente defina ámbitos únicos en objetos primarios, por ejemplo, carpetas.

  • No cree un sistema con muchos objetos con permisos únicos debajo de un objeto que tenga muchos ámbitos.

  • Si su negocio necesita más de 50.000 elementos con permisos únicos en una lista o biblioteca de documentos, debe mover algunos elementos a una lista o biblioteca de documentos diferente.

Cambio del límite de ámbito integrado

Use un script de PowerShell de Microsoft para cambiar el límite de ámbito integrado.

Para cambiar el límite de ámbito integrado con Windows PowerShell

  1. Compruebe que cumple con las pertenencias siguientes:
  • Rol fijo de servidor securityadmin en la instancia de SQL Server.

  • Rol fijo de base de datos db_owner en todas las bases de datos que se van a cargar.

  • Los administradores se agrupan en el servidor en el que se ejecutan los cmdlets de PowerShell.

  • Agregue las pertenencias que resulten necesarias por encima de los mínimos establecidos anteriormente.

    Los administradores pueden usar el cmdlet Add-SPShellAdmin para conceder los permisos necesarios para usar los cmdlets de SharePoint Server 2016.

    Nota:

    Si no tiene permisos, póngase en contacto con el administrador del programa de instalación o con el administrador de SQL Server para solicitar los permisos. Para obtener más información sobre los permisos de PowerShell, consulte Add-SPShellAdmin.

  1. Inicie el SharePoint Management Shell.

  2. En el símbolo del sistema de PowerShell, escriba el comando siguiente:

    $webapp = Get-SPWebApplication http://<serverName>
    $webapp.MaxUniquePermScopesPerList
    $webapp.MaxUniquePermScopesPerList = <Number of scope limit>
    

    Donde:

    • Donde <serverName> es el nombre del servidor de aplicaciones en la granja de servidores de SharePoint.

    • Donde <Número de límite> de ámbito es el número máximo de ámbitos de permisos únicos que desea permitir por lista de SharePoint. A menudo, el límite efectivo es mucho menor que 50.000 si existen muchos ámbitos en el mismo nivel jerárquico. Esto se debe a que las comprobaciones de visualización para los elementos por debajo de ese nivel jerárquico se deben realizar en todos los ámbitos superiores. Esta limitación puede causar que el número efectivo de ámbitos en una consulta determinada disminuya a un valor entre 1.000 y 2.000.

Nota:

Se recomienda usar Windows PowerShell para realizar tareas administrativas de línea de comandos. La herramienta de línea de comandos Stsadm ya no se usa, pero se ha incluido para ofrecer compatibilidad con las versiones anteriores del producto.

Demasiados miembros en un ámbito de permisos

Como describimos anteriormente, se calcula una ACL binaria cuando cambia la pertenencia del ámbito de permisos asociado. Esto incluye la adición de un nuevo miembro de acceso limitado. Como aumenta la pertenencia a un ámbito, se incrementa el tiempo necesario para volver a calcular la ACL binaria.

El problema puede empeorar dado que la adición de usuarios en el ámbito único de un objeto secundario provocará la actualización de los ámbitos primarios con los nuevos miembros de Acceso limitado, incluso si en última instancia no se genera ningún cambio en la pertenencia a los ámbitos primarios. Cuando esto sucede, también se debe volver a calcular la ACL binaria para los ámbitos primarios, aunque aumente el tiempo de procesamiento, incluso si finalmente se obtiene la misma ACL.

Procedimiento recomendado:

Use la pertenencia de grupos en lugar de la pertenencia de usuarios individuales en los ámbitos de permisos. Por ejemplo, si se puede usar un grupo único en lugar de 1.000 usuarios individuales, el ámbito tendrá 999 entradas de pertenencia menos para el ámbito de permisos y cualquiera de los ámbitos primarios. Además, el grupo único se actualizará con derechos de Acceso limitado, en vez de actualizar cada usuario que tiene derechos de Acceso limitado. Esto ayuda a acelerar la inserción de derechos de Acceso limitado y el nuevo cálculo de la ACL en los objetos de ámbitos primarios.

Importante

El uso de un grupo de SharePoint generará un rastreo completo del índice. Si es posible, use un grupo de dominio.

Jerarquía de ámbitos muy profunda

Como indicamos anteriormente, la profundidad jerárquica de los ámbitos de permisos puede afectar el trabajo necesario para agregar usuarios con Acceso limitado a los ámbitos primarios. Cuando mayor sea el número de ámbitos únicos por encima de un elemento (hasta el sitio web con permisos únicos inclusive), mayor será el número de adiciones que se deben producir. Si la jerarquía de un ámbito es muy profunda, es posible que un cambio en la pertenencia al ámbito tarde mucho tiempo, ya que cada cambio de pertenencia en el elemento de ámbito más profundo deberá actualizar de manera iterativa los ámbitos primarios con una adición de pertenencia para el usuario o grupo agregado explícitamente que tiene derechos de Acceso limitado. Además, esto aumentará el número de ACL binarias que se deben volver a calcular, con un impacto correspondiente en el rendimiento.

Procedimiento recomendado:

Disminuya el número de objetos primarios con permisos únicos. Esto reduce el número de ámbitos que se deben actualizar con miembros de Acceso limitado cuando cambia el ámbito de algún objeto secundario.