Consideraciones de seguridad al permitir scripts personalizados
Permitir que los usuarios personalicen sitios y páginas en SharePoint mediante la inserción de scripts puede proporcionarles la flexibilidad necesaria para satisfacer las diferentes necesidades de su organización. Sin embargo, debe tener en cuenta las implicaciones de seguridad del script personalizado.
Al permitir que los usuarios ejecuten un script personalizado, ya no puede aplicar la gobernanza, limitar las funcionalidades del código insertado, bloquear partes específicas del código o bloquear todo el código personalizado que se ha implementado. En lugar de permitir scripts personalizados, se recomienda usar SharePoint Framework. Para obtener más información, consulte Una alternativa al script personalizado.
Qué script personalizado puede hacer
Cada script que se ejecuta en una página de SharePoint (ya sea una página HTML en una biblioteca de documentos o un JavaScript en un elemento web del Editor de scripts) siempre se ejecuta en el contexto del usuario que visita la página y la aplicación de SharePoint. Esto significa que:
Los scripts tienen acceso a todo lo que el usuario tiene acceso.
Los scripts pueden acceder al contenido en varios servicios de Microsoft 365 e incluso más con la integración de Microsoft Graph.
No se puede auditar la inserción del script
Como administrador de SharePoint o superior, puede permitir o bloquear funcionalidades de script personalizadas para toda la organización o para colecciones de sitios específicas. (Para obtener información sobre cómo hacerlo, consulte Permitir o impedir scripts personalizados). Sin embargo, una vez que se permite el scripting, no se puede identificar:
¿Qué código se ha insertado?
Dónde se ha insertado el código
Quién insertó el código
Cualquier usuario que tenga el permiso "Agregar y personalizar páginas" (parte de los niveles de permisos Diseño y Control total) en cualquier página o biblioteca de documentos puede insertar código que potencialmente puede tener un efecto eficaz en todos los usuarios y recursos de la organización.
El script tiene acceso a algo más que a la página o al sitio: puede acceder al contenido de todas las colecciones de sitios y otros servicios de Microsoft 365 de la organización. No hay límites para ejecutar el script. Para obtener información sobre la actividad del sitio que puede auditar, consulte Configuración de las opciones de auditoría para una colección de sitios.
No se puede bloquear ni quitar el script insertado
Si ha permitido un script personalizado, puede cambiar la configuración para evitar que los usuarios agreguen un script personalizado, pero no puede bloquear la ejecución del script que ya se ha insertado. Si se inserta un script peligroso o malintencionado, la única manera de detenerlo es eliminar la página que lo hospeda. Esto puede dar lugar a la pérdida de datos.
Una alternativa al script personalizado
SharePoint Framework es un modelo de elementos web y páginas que proporciona una forma regulada y totalmente compatible de crear soluciones mediante tecnologías de scripting con compatibilidad con herramientas de código abierto. Características clave de SharePoint Framework:
El marco se ejecuta en el contexto del usuario actual y la conexión en el explorador.
Los controles se representan en la página normal Modelo de objetos de documento (DOM).
Los controles tienen capacidad de respuesta y son accesibles.
Los desarrolladores pueden acceder al ciclo de vida. También para representar, pueden acceder a la carga, serializar y deserializar, los cambios de configuración, etc.
Puede usar cualquier marco de explorador que desee: React, Handlebars, Knockout, Angular y mucho más.
La cadena de herramientas se basa en herramientas de desarrollo de cliente de código abierto comunes, por ejemplo, npm, TypeScript, Yeoman, webpack y Gulp.
Los administradores tienen herramientas de gobernanza para deshabilitar inmediatamente las soluciones independientemente del número de instancias que se han usado y del número de páginas o sitios en los que se han usado.
Las soluciones se pueden implementar en elementos web y páginas que usan la experiencia clásica o la nueva experiencia.
Solo los administradores globales, los administradores de SharePoint y las personas a las que se les ha concedido permiso para administrar el sitio aplicaciones pueden agregar soluciones. Para obtener información sobre cómo conceder permiso a los usuarios para administrar el sitio aplicaciones, consulte Solicitud de permisos de instalación de aplicaciones.