Configuración de cuentas de usuario de caché de objetos en SharePoint Server
SE APLICA A:2013 2016 2019 Subscription Edition SharePoint en Microsoft 365
La memoria caché de objetos almacena propiedades sobre elementos en SharePoint Server. Los elementos de esta caché se usan por la característica de publicación cuando representa páginas web. Los objetivos de la caché de objeto son reducir la carga en el equipo en el que se está ejecutando SQL Server y mejorar la latencia de solicitud y rendimiento. La caché de objeto realiza sus consultas como una de las cuentas de usuario integradas: el superusuario de portal y el superlector de portal. Estas cuentas de usuario deben configurarse adecuadamente para garantizar que la caché de objeto funciona correctamente. La cuenta de superusuario de portal debe ser una cuenta con acceso de Control completo a la aplicación web. La cuenta de superlector de portal debe ser una cuenta con acceso completo de lectura a la aplicación web.
Importante
Las cuentas de superusuario de portal y superlector de portal deben ser cuentas independientes y no deben ser cuentas que se usarán alguna vez para iniciar sesión en el sitio.
En este artículo se explica por qué se deben configurar estas cuentas de usuario de caché de objetos y se describe cómo configurar las cuentas. Para obtener información sobre la caché de objetos, vea Operaciones de configuración de caché en SharePoint Server.
En SharePoint Server, la consulta de elementos está vinculada a la cuenta de usuario que realiza la consulta. Diversas partes de la característica de publicación realizan consultas para las cuales los resultados se almacenan en caché en la caché de objeto. Estos resultados se almacenan en caché en función del usuario que realiza la consulta. Para optimizar la velocidad de bits de la caché y los resultados de la memoria, las consultas se deben basar en si un usuario puede ver elementos de borrador. Cuando un control de publicación solicita a la caché de objeto que realice una consulta para obtener datos para el control, la caché realiza la consulta, no como el usuario que realiza la consulta, sino que la realiza dos veces: una, como la cuenta de superusuario de portal y otra, como la cuenta de superlector de portal. Los resultados de estas dos consultas se almacena en la caché de objeto. Los resultados de la cuenta de superusuario de portal incluyen elementos de borrador y los resultados del superlector de portal incluyen únicamente elementos publicados. La caché de objeto comprueba entonces las listas de control de acceso (ACL) para el usuario que ha iniciado la solicitud y devuelve los resultados adecuados para ese usuario en función de si dicho usuario puede ver elementos de borrador. Al agregar las cuentas de superusuario de portal y superlector de portal a la aplicación web, la caché debe almacenar resultados únicamente para dos usuarios. De esta manera se aumenta el número de resultados devueltos para una consulta y disminuye la cantidad de memoria necesaria para almacenar la caché.
De manera predeterminada, la cuenta de superusuario de portal es la cuenta de sistema del sitio y la cuenta de superusuario de portal es NT Authority\Local Service. Hay dos problemas principales con el uso de las cuentas integradas.
El primer problema es que algunos elementos se desprotegen para la cuenta del sistema, por lo que cuando se realiza una consulta que incluye estos elementos, se devuelve la versión desprotegida del elemento en lugar de la versión publicada más reciente. Esto es un problema porque no es lo que un usuario esperaría que se devolviera, por lo que la caché tiene que realizar una segunda consulta para capturar la versión correcta del archivo. Esto afecta de manera negativa al rendimiento del servidor para todas las solicitudes que incluyen estos elementos. El mismo problema se produciría para cualquier usuario que tenga elementos desprotegidos, si la cuenta de dicho usuario se estableciera para que fuera la cuenta del superusuario de portal. Este es el motivo por el que las cuentas configuradas para ser el superusuario de portal y el superlector de portal no deberían ser cuentas de usuario que se usan para iniciar sesión en el sitio. De esta manera se garantiza que el usuario no desprotege accidentalmente elementos y causan problemas en el rendimiento.
La cuenta de superlector de portal predeterminada es NT Authority\Local Service, que no está resuelta correctamente en una aplicación de autenticación de notificaciones. Como resultado, si la cuenta de superlector de portal no está configurada de manera explícita para una aplicación de autenticación de notificaciones, navegar hasta las colecciones de sitios en esta aplicación dará como resultado un error de "Acceso denegado", incluso para el administrador del sitio. Este error se producirá en cualquier sitio que use cualquier característica que use la caché de objeto de manera explícita, como la Infraestructura de publicación de SharePoint Server, la navegación de metadatos, el elemento web de consulta de contenido o la navegación.
Configurar las cuentas de usuarios de caché de objeto mediante Administración central y Windows PowerShell
Puede configurar las cuentas de usuario para la caché de objetos mediante el sitio web de Administración central de SharePoint y Microsoft PowerShell. Primero debe crear las cuentas en Administración central y, a continuación, agregar las cuentas a la aplicación web mediante PowerShell. Debe agregar las cuentas de usuario a cada aplicación web.
Precaución
Al final de este procedimiento, necesita restablecer Internet Information Services (IIS) para aplicar los cambios a la aplicación web. Asegúrese de llevar a cabo este procedimiento cuando haya una interrupción mínima para los usuarios conectados al sitio. Para obtener más información sobre IISReset, vea Actividad de restablecimiento de IIS.
Para crear las cuentas de usuario mediante Administración central
Compruebe que el usuario que está llevando a cabo este procedimiento es miembro del grupo Administradores de la granja que está ejecutando el sitio web de Administración central de SharePoint.
En Administración central, en la sección Administración de aplicaciones, haga clic en Administrar aplicaciones web y, a continuación, haga clic en el nombre de la aplicación web que desea configurar.
En la pestaña Aplicaciones web, en el grupo Directiva, haga clic en Directiva de usuario.
En la ventana Directiva de aplicación web, haga clic en Agregar usuarios.
En la lista Zonas, seleccione Todas las zonas y, a continuación, haga clic en Siguiente.
En el cuadro Usuarios , escriba el nombre de usuario de la cuenta superusuario del portal y, a continuación, haga clic en Comprobar nombres para asegurarse de que los proveedores de autenticación del servidor de aplicaciones puedan resolver el nombre de la cuenta.
En la sección Elegir permisos , active la casilla Control total: tiene control total y, a continuación, haga clic en Finalizar.
Repita los pasos del 5 al 7 para la cuenta de super lector del portal.
En la sección Elegir permisos, active la casilla Lectura completa - Tiene acceso completo de solo lectura box.
Haga clic en Finalizar.
Anote la manera en que se muestran los nombres para las cuentas de superlector de caché de objeto y superusuario de caché de objeto en la columna Nombre de usuario. Las cadenas mostradas serán diferentes en función de si está usando autenticación de notificaciones para la aplicación web.
Para agregar las cuentas de usuario a la aplicación web mediante Microsoft PowerShell
- 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.
Grupo de administradores en el servidor en el que tenga los cmdlets de PowerShell en funcionamiento.
Agregue las pertenencias que resulten necesarias por encima de los mínimos establecidos anteriormente.
Un administrador puede usar el cmdlet Add-SPShellAdmin para conceder permisos de uso para los cmdlets de SharePoint Server.
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 información adicional sobre permisos de PowerShell, vea Permisos y Add-SPShellAdmin.
- Pegue el siguiente código en un editor de texto como el Bloc de notas:
$wa = Get-SPWebApplication -Identity "<WebApplication>"
$wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
$wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
$wa.Update()
- Reemplace los siguientes marcadores de posición con los valores:
<WebApplication> es el nombre de la aplicación web a la que se agregarán las cuentas.
<SuperUser> es la cuenta que se va a usar para la cuenta de superusuario del portal tal y como se ha visto en la columna Nombre de usuario mencionada en el paso 11 del procedimiento anterior.
<SuperReader> es la cuenta que se va a usar para la cuenta de Super Reader del portal, tal y como se ha visto en la columna Nombre de usuario mencionada en el paso 11 del procedimiento anterior.
Guarde el nombre y asígnele el nombre SetUsers.ps1.
Nota:
Puede usar otro nombre de archivo diferente pero debe guardar el archivo codificado con ANSI como archivo de texto cuya extensión es .ps1.
Cierre el editor de texto.
Abra Shell de administración de SharePoint.
Cambie al directorio en el que haya guardado el archivo.
En el símbolo del sistema de PowerShell, escriba el siguiente comando: ./SetUsers.ps1
Restablezca Internet Information Services (IIS). Para obtener más información sobre IISReset, vea Iniciar o detener el servidor web (IIS 8).