Configuración de la autenticación de servidor a servidor entre granjas de servidores de publicación y consumo
SE APLICA A:2013 2016 2019 Subscription Edition SharePoint en Microsoft 365
Cuando una granja de servidores consume la aplicación de servicio de perfil de usuario de una granja de servidores de publicación, SharePoint emite solicitudes mediante la autenticación de servidor a servidor en nombre del usuario para algunas características:
Siga un documento en una aplicación web de contenido cuando el sitio personal de un usuario se encuentre en una aplicación web en una granja de servidores externa. La aplicación web de contenido realiza una solicitud de OAuth a la aplicación web Mis sitios en nombre del usuario.
Cree o responda a una publicación de fuente de sitio para un sitio que se encuentra en una aplicación web de contenido, pero que se realiza a través del suministro de noticias Mi sitio del usuario en la aplicación web Mis sitios. La aplicación web Mis sitios realizará una solicitud de la aplicación web de contenido en nombre del usuario para escribir la publicación o la respuesta.
Una tarea de aplicación de servicio de perfil de usuario para volver a rellenar la caché de fuentes tiene que leer desde el sitio personal o el sitio de contenido. Si la aplicación Servicio de perfiles de usuario se ejecuta en una granja de servidores diferente, envía una solicitud de OAuth a la aplicación web Mis sitios o a la aplicación web de contenido para leer los datos de fuente de usuario o sitio en la memoria caché.
Antes de empezar
El procedimiento de este artículo requiere que ya haya configurado lo siguiente:
- Se ha compartido la aplicación de servicio de perfil de usuario entre una granja de servidores de consumo y una granja de publicación, como se documenta en Uso compartido de aplicaciones de servicio entre granjas de servidores de SharePoint Server.
- Se han configurado las aplicaciones de servicio De administración de suscripciones y de administración de aplicaciones en granjas de servidores de publicación y consumo, como se documenta en la sección "Configurar las aplicaciones del servicio Administración de suscripciones" de este artículo.
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.
- Miembro del grupo de administradores integrado en el servidor en el que se ejecutan los cmdlets de PowerShell.
Un administrador puede usar el cmdlet Add-SPShellAdmin para conceder permisos de uso para los cmdlets de SharePoint Server.
Nota:
Si no dispone de permisos, póngase en contacto con el administrador para la instalación o con el administrador de SQL Server para solicitarlos. Para más información sobre permisos de PowerShell, vea Add-SPShellAdmin.
Configurar la autenticación de servidor a servidor entre las granjas de servidores de publicación y de consumo
En el procedimiento siguiente se describe cómo configurar la autenticación de servidor a servidor entre granjas de servidores de publicación y consumo y conceder solo los permisos necesarios para permitir que funcionen las características sociales. Cada granja mantiene su propio dominio de autenticación único.
Autorización de la granja de servidores de consumo para enviar solicitudes de OAuth a la granja de servidores que hospeda la aplicación web MySites
En un servidor de SharePoint de la granja de servidores que ejecuta la aplicación web MySites (que podría no ser la granja de servidores de publicación), inicie el Shell de administración de SharePoint y ejecute este script de PowerShell para registrar la granja de servidores de consumo como emisor de confianza, obtener su entidad de seguridad de aplicación y concederle las autorizaciones necesarias:
# Register the consuming farm as a trusted issuer using information in its metadata file
$trustedIssuer = New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<ConsumingFarmWinClaimsWebApp>/_layouts/15/metadata/json/1" -Name "<ConsumingFarmFriendlyName>"
# Get the app principal and set required authorizations
$mySiteHost = Get-SPWeb "http://<MySiteHostUrl/"
$appPrincipal = Get-SPAppPrincipal -Site $mySiteHost -NameIdentifier $trustedIssuer.NameId
# Grant permissions AppOnly and Write on the MySite host
Set-SPAppPrincipalPermission -EnableAppOnlyPolicy -Site $mySiteHost -AppPrincipal $appPrincipal -Scope SiteSubscription -Right Write
# Grant permissions Manage on the PrivateAPI and Read on the SocialPermissionProvider
$privateAPITypeId = New-Object -TypeName System.Guid ("a2ccc2e2-1703-4bd9-955f-77b2550d6f0d")
$socialPermissionProviderId = New-Object -TypeName System.Guid ("fcaec196-a98c-4f8f-b60f-e1a82272a6d2")
$mgr = New-Object -TypeName Microsoft.SharePoint.SPAppPrincipalPermissionsManager ($mySiteHost)
$mgr.AddSiteSubscriptionPermission($appPrincipal, $privateAPITypeId, [Microsoft.SharePoint.SPAppPrincipalPermissionKind]::Manage)
$mgr.AddSiteSubscriptionPermission($appPrincipal, $socialPermissionProviderId, [Microsoft.SharePoint.SPAppPrincipalPermissionKind]::Read)
Autorización de la granja de servidores de publicación para enviar solicitudes de OAuth a la granja de servidores de consumo
En un servidor de SharePoint de la granja de servidores de consumo, inicie el Shell de administración de SharePoint y ejecute este script de PowerShell para registrar la granja de servidores de publicación como emisor de confianza, obtener su entidad de seguridad de aplicación y concederle las autorizaciones necesarias:
# Register the publishing farm as a trusted issuer using information in its metadata file
$trustedIssuer = New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<PublishingFarmWinClaimsWebApp>/_layouts/15/metadata/json/1" -Name "<PublishingFarmFriendlyName>"
# Get the app principal
$centralAdminWeb = Get-SPWeb "http://<ConsumingFarmCentralAdminURL/"
$appPrincipal = Get-SPAppPrincipal -Site $centralAdminWeb -NameIdentifier $trustedIssuer.NameId
# Grant app only permission and Read on the SiteSubscription
Set-SPAppPrincipalPermission -EnableAppOnlyPolicy -AppPrincipal $appPrincipal -Site $centralAdminWeb -Scope SiteSubscription -Right Read
# Grant permissions Manage on the PrivateAPI
$privateAPITypeId = New-Object -TypeName System.Guid ("a2ccc2e2-1703-4bd9-955f-77b2550d6f0d")
$mgr = New-Object -TypeName Microsoft.SharePoint.SPAppPrincipalPermissionsManager ($centralAdminWeb)
$mgr.AddSiteSubscriptionPermission($appPrincipal, $privateAPITypeId, [Microsoft.SharePoint.SPAppPrincipalPermissionKind]::Manage)
Vea también
Conceptos
Compartir aplicaciones de servicio entre granjas de servidores en SharePoint Server
Introducción a la autenticación para el servidor de SharePoint
Planear la autenticación de servidor a servidor en SharePoint Server