Configuración de la autenticación de servidor a servidor entre granjas de servidores de publicación y consumo

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint 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 de 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:

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 integrado Administradores 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)

Consulte 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

Otros recursos

New-SPTrustedSecurityTokenIssuer

Set-SPAppPrincipalPermission