Compartir a través de


Configurar la autenticación basada en servidor con SharePoint local

La integración basada en servidor para la gestión de documentos se utiliza para conectar aplicaciones de interacción con el cliente (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Marketing y) con las instalaciones locales. SharePoint Dynamics 365 Field Service Dynamics 365 Project Service Automation SharePoint Cuando se utiliza la autenticación basada en servidor, se utilizan los Microsoft Entra Servicios de dominio como agente de confianza y los usuarios no necesitan iniciar sesión SharePoint.

Permisos requeridos

Se requieren las siguientes suscripciones y privilegios para habilitar la gestión de documentos de SharePoint.

  • Microsoft 365 Se requiere membresía de administrador global para:

    • Acceso de nivel administrativo a la suscripción de Microsoft 365.
    • Ejecute el asistente para Habilitar la autenticación basada en servidor.
    • Ejecutar los cmdlets de AzurePowerShell.
  • Power Apps El privilegio Ejecutar SharePoint Asistente de integración habilita el asistente Habilitar autenticación basada en servidor.

    El rol de seguridad Administrador del sistema tiene este privilegio de forma predeterminada.

  • Para la integración local, se requiere la membresía del grupo Administradores de granja para ejecutar la mayoría de los comandos de PowerShell en el servidor. SharePoint SharePoint SharePoint

Configurar la autenticación de servidor a servidor con SharePoint local

Siga los pasos, en el orden proporcionado, para configurar aplicaciones de interacción con el cliente con SharePoint 2016 local.

Importante

Los pasos descritos aquí se deben completar en el orden indicado. Si una tarea no se completa, como un comando de PowerShell que devuelve un mensaje de error, el problema debe resolverse antes de continuar con el siguiente comando, tarea o paso.

Verificación de los requisitos previos

Antes de configurar las aplicaciones de involucración del cliente y SharePoint local para autenticación basada en servidor, deben cumplirse los siguientes requisitos previos:

Requisitos previos de SharePoint

Otros requisitos previos

  • Licencia de SharePoint Online. La autenticación basada en servidor de aplicaciones de involucración del cliente a SharePoint local debe tener el nombre de entidad de seguridad de servicio (SPN) de SharePoint registrado en Microsoft Entra ID. Para lograr el acceso, se requiere al menos una licencia de usuario en línea. SharePoint La licencia de SharePoint Online pueden obtenerse de una sola licencia de usuario y se consigue a partir de una de las acciones siguientes:

    • Una suscripción a SharePoint Online. Cualquier plan de SharePoint Online es suficiente, aunque la licencia no esté asignada a un usuario.

    • Una suscripción a Microsoft 365 que incluya SharePoint Online. Por ejemplo, si tiene Microsoft 365 E3, tiene la licencia adecuada aunque esta no esté asignada a un usuario.

      Para obtener más información sobre estos planes, vaya a Encuentre la solución adecuada para usted y Compare SharePoint opciones.

  • Las siguientes características de software son necesarias para ejecutar los cmdlets de PowerShell descritos en este artículo.

    Microsoft.Graph

    Para instalar el módulo Microsoft.Graph, ingrese el siguiente comando desde una sesión de administrador de PowerShell.

    $currentMaxFunctionCount =
        $ExecutionContext.SessionState.PSVariable.Get("MaximumFunctionCount").Value
    
    # Set execution policy to RemoteSigned for this session
    if ((Get-ExecutionPolicy -Scope Process) -ne "RemoteSigned") {
        Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
    }
    
    # Update MaximumFunctionCount if needed
    if ($currentMaxFunctionCount -lt 32768) {
        $ExecutionContext.SessionState.PSVariable.Set("MaximumFunctionCount", 32768)
    }
    
    # Install and import required modules
    if (-not (Get-Module -ListAvailable -Name "Microsoft.Graph")) {
        $Params = @{
            Name = "Microsoft.Graph"
            Scope = CurrentUser
        }
        Install-Module @Params -Force
    }
    
    $Params = @{
        Name = "Microsoft.Graph"
        Function = @("Connect-MgGraph", "Get-MgOrganization")
    }
    Import-Module @Params
    
    if (-not (Get-Module -ListAvailable -Name "Microsoft.Graph.Identity.DirectoryManagement")) {
        $Params = @{
            Name = "Microsoft.Graph.Identity.DirectoryManagement"
            Scope = CurrentUser
        }
        Install-Module @Params -Force
    }
    
    $Params = @{
        Name = "Microsoft.Graph.Identity.DirectoryManagement"
        Function = @("Get-MgServicePrincipal", "Update-MgServicePrincipal")
    }
    Import-Module @Params
    
  • Un tipo adecuado de asignación de autenticación basada en notificaciones para usar en la asignación de identidades entre aplicaciones de involucración del cliente y SharePoint local. De forma predeterminada se usa la dirección de correo electrónico. Obtenga más información en Otorgar permiso a las aplicaciones de interacción con el cliente para acceder SharePoint y configurar la asignación de autenticación basada en reclamaciones.

Actualizar SharePoint el servidor SPN en Microsoft Entra Servicios de dominio

En el servidor local SharePoint, en el Shell de administración de SharePoint 2016, ejecute estos comandos de PowerShell en el orden indicado.

  1. Conéctese a Microsoft 365.

    Cuando ejecuta el comando Connect-MgGraph, debe proporcionar una cuenta Microsoft válida que tenga membresía de administrador global para la licencia en línea requerida. SharePoint

    Para obtener información detallada sobre cada uno de los comandos IDPowerShell enumerados aquí, vaya a Administrar mediante Windows PowerShell Microsoft Entra . Microsoft Entra

    Connect-MgGraph -Scopes "Directory.ReadWrite.All", "Application.ReadWrite.All"  
    
  2. Establezca la URL del host. SharePoint

    El valor que establezca para la variable HostNameUrl debe ser la URL del nombre de host completo de la SharePoint colección de sitios. El nombre de host debe derivar URL de la colección de sitios y distingue mayúsculas de minúsculas. En este ejemplo, la URL de la colección de sitios es https://SharePoint.constoso.com/sites/salesteam, por lo que la URL del nombre de host es https://SharePoint.contoso.com.

    Importante

    Si hay varios sitios, ejecute el siguiente comando para cada sitio.

    # Generate Service Principal Name
    # Note: If there are multiple sites, and the host is the same, no action is needed.
    #       If the host is different, each site needs to be configured to add the 
    #       host to the service principal.
    $uri = [System.Uri]"https://SharePoint.constoso.com/sites/salesteam"
    $hostName = $uri.Host
    $baseUrl = "$($uri.Scheme)://$hostName"
    $servicePrincipalName = $baseUrl
    
  3. Obtenga el ID del objeto (inquilino) y el nombre principal del servicio del servidor (SPN). Microsoft 365 SharePoint

    # SharePoint Online App ID
    $SPOAppId = "00000003-0000-0ff1-ce00-000000000000"
    
    # Retrieve SharePoint Online Service Principal
    $SharePoint = Get-MgServicePrincipal -Filter "AppId eq '$SPOAppId'"
    
    $UpdatedServicePrincipalNames = $SharePoint.ServicePrincipalNames |
        Where-Object { $_ -ne $servicePrincipalName }
    $UpdatedServicePrincipalNames += $servicePrincipalName
    
  4. Obtenga el ID del objeto (inquilino) y el nombre principal del servicio del servidor (SPN). Microsoft 365 SharePoint

    $maxRetries = 5
    $retryDelay = 5 # seconds 
    
    for ($retry = 1; $retry -le $maxRetries; $retry++) {
        try {
            $Params = @{
     	         ServicePrincipalId = $SharePoint.Id
     			     ServicePrincipalNames = $UpdatedServicePrincipalNames
     		   }
     		   Update-MgServicePrincipal @Params
     		   Write-Host "Service Principal Names updated successfully."
     		   break
     	 }
     	 catch {
     		   if ($_.Exception.Message -match "Directory_ConcurrencyViolation" -and
                $retry -lt $maxRetries) {
     			     Write-Host "Concurrency violation detected. (Attempt $retry of $maxRetries)"
     			     Start-Sleep -Seconds $retryDelay
       		 }
       		 else {
         			 Write-Host "Failed to update Service Principal Names. Error: $_"
     		    	 exit 1
            }
        }
    }
    

Una vez completados estos comandos, no cierre el Shell de administración 2016. SharePoint Continúe con el siguiente paso.

Actualice el dominio de SharePoint para que coincida con el de SharePoint Online

En el servidor de SharePoint local, en el Shell de administración de SharePoint 2016, ejecute este comando de Windows PowerShell.

El siguiente comando requiere la pertenencia del administrador de granja de SharePoint y establece el dominio de autenticación de la granja de SharePoint local.

Precaución

Al ejecutar este comando cambia el dominio de autenticación de la granja SharePoint local. Para las aplicaciones que utilizan un servicio de token de seguridad (STS) existente, este comando puede provocar un comportamiento inesperado con otras aplicaciones que utilizan tokens de acceso. Obtenga más información en Set-SPAuthenticationRealm. ...

# SPOContextId is the tenant ID for the dynamics 365 tenant. It is used to identify the tenant in Azure AD and SharePoint Online.
$SPOContextId = "<tenantId>"
Set-SPAuthenticationRealm -Realm $SPOContextId

Crear un emisor de token de seguridad de confianza para Microsoft Entra ID en SharePoint

En el servidor local SharePoint, en el Shell de administración de SharePoint 2016, ejecute estos comandos de PowerShell en el orden indicado.

Los siguientes comandos requieren la pertenencia del administrador de granja de SharePoint.

Para obtener información detallada sobre estos comandos de PowerShell, vaya a SharePoint 2016: Lista de cmdlets de PowerShell.

  1. Habilite la sesión de PowerShell para realizar cambios en el servicio de token de seguridad para la granja de SharePoint.

    $c = Get-SPSecurityTokenServiceConfig  
    $c.AllowMetadataOverHttp = $true  
    $c.AllowOAuthOverHttp= $true  
    $c.Update()  
    
  2. Establezca el extremo de metadatos.

    $metadataEndpoint = 
        "https://login.microsoftonline.com/common/.well-known/openid-configuration"  
    $oboissuer = "https://sts.windows.net/*/" 
    $issuer = "00000007-0000-0000-c000-000000000000@" + $SPOContextId  
    
  3. Cree el nuevo proxy de aplicación del servicio de control de token en Microsoft Entra ID.

    $existingIssuer = Get-SPTrustedSecurityTokenIssuer "D365Obo"
    if ($existingIssuer) {
        $Params = @{
            Identity = $existingIssuer
            IsTrustBroker = $true
            MetadataEndpoint = $metadataEndpoint
            RegisteredIssuerName = $oboissuer
        }
        Set-SPTrustedSecurityTokenIssuer @Params
    } else {
        $Params = @{
            Name = "D365Obo"
            IsTrustBroker = $true
            MetadataEndpoint = $metadataEndpoint
            RegisteredIssuerName = $oboissuer
        }
        $obo = New-SPTrustedSecurityTokenIssuer @Params
    }
    

Conceder permiso a las aplicaciones de involucración del cliente para obtener acceso a SharePoint y configurar la asignación de autenticación basada en notificaciones

En el servidor local SharePoint, en el Shell de administración de SharePoint 2016, ejecute estos comandos de PowerShell en el orden indicado.

Los siguientes comandos requieren la pertenencia de administración de la colección de sitios de SharePoint.

  1. Registre aplicaciones de involucración del cliente con la colección de sitios de SharePoint.

    Escriba la dirección URL de la colección de sitios de SharePoint local. En este ejemplo, se utiliza <https://sharepoint.contoso.com/sites/crm/> .

    $site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/"
    $Params = @{
        site = $site.RootWeb
        NameIdentifier = $issuer
        DisplayName = "crmobo"
    }
    Register-SPAppPrincipal @Params
    
  2. Conceda acceso a las aplicaciones de involucración del cliente al sitio de SharePoint. Reemplace <https://sharepoint.contoso.com/sites/crm/> con la URL de su SharePoint sitio.

    Nota

    En el siguiente ejemplo, se concede permiso a la aplicación de involucración del cliente a la colección de sitios de SharePoint especificada mediante el parámetro de colección de sitios –Scope. El parámetro Scope acepta las siguientes opciones. Elija el ámbito que sea el más adecuado para la configuración de SharePoint.

    • site. Concede permiso solo a las aplicaciones de involucración del cliente al sitio web especificado de SharePoint. No concede permiso a ningún subsitio bajo el sitio con nombre.
      • sitecollection. Concede permiso a las aplicaciones de involucración del cliente a todos los sitios web y subsitios dentro de la colección de sitios de SharePoint especificada.
      • sitesubscription. Concede permiso a las aplicaciones de involucración del cliente a todos los sitios web de la granja de SharePoint, incluidas todas las colecciones de sitios, sitios web y subsitios.

    Importante

    Si hay varios sitios, ejecute el script para cada sitio.

    $Params = @{
        NameIdentifier = $issuer
        Site = "https://sharepoint.contoso.com/sites/crm/"
    }
    $app = Get-SPAppPrincipal @Params
    
    $Params = @{
        AppPrincipal = $app
        Site = $site.Rootweb
        Scope = "sitecollection"
        Right = "FullControl"
    }
    Set-SPAppPrincipalPermission @Params
    
  3. Establezca el tipo de asignación de la autenticación basada en notificaciones:

    Importante

    De forma predeterminada, la asignación de autenticación basada en notificaciones utiliza la dirección de correo electrónico de la cuenta Microsoft del usuario y la dirección de correo electrónico del trabajo local del usuario para la asignación. SharePoint Cuando se utiliza la asignación de autenticación basada en reclamaciones, las direcciones de correo electrónico de los usuarios deben coincidir entre los dos sistemas. Obtenga más información en Cómo seleccionar un tipo de mapeo de autenticación basado en notificaciones.

    $Params = @{
        IncomingClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
        IncomingClaimTypeDisplayName = "EmailAddress"
    }
    $map1 = New-SPClaimTypeMapping @Params -SameAsIncoming
    

Ejecutar el asistente de la Integración de SharePoint basado en servidor

Siga estos pasos:

  1. Asegúrese de que tiene el permiso adecuado para ejecutar el asistente. Más información en Permisos requeridos.

  2. Vaya a Configuración>Administración de documentos.

  3. En el área Administración de documentos, haga clic en Habilitar la integración de SharePoint basada en servidor.

  4. Revise la información y, a continuación, haga clic en Siguiente.

  5. Para sitios de SharePoint, haga clic en Local y luego en Siguiente.

  6. Escriba la dirección URL de la colección de sitios local SharePoint, como https://sharepoint.contoso.com/sites/crm. El sitio se debe configurar para SSL.

  7. Haga clic en Siguiente.

  8. Aparecerá la sección de validación de sitios. Si se determina que todos los sitios son válidos, haga clic en Habilitar. Si se determina que uno o más sitios no son válidos, vaya a Solución de problemas de autenticación basada en servidor.

Seleccione las entidades que desea incluir en administración de documentos

De forma predeterminada, se incluyen las entidades Cuenta, Artículo, Cliente potencial, Producto, Oferta y Documentación de ventas. Puede agregar o eliminar las entidades utilizadas para la gestión de documentos en SharePoint Configuración de gestión de documentos . Vaya a Configuración>Administración de documentos. Obtenga más información en Habilitar la gestión de documentos en entidades.

Agregar integración de OneDrive para la Empresa

Tras completar la configuración de autenticación basada en servidor de aplicaciones de involucración del cliente y SharePoint local, también puede integrar OneDrive para la Empresa. Con la integración de aplicaciones de involucración del cliente y OneDrive para la Empresa, los usuarios pueden crear y administrar documentos privados con OneDrive para la Empresa. Se podrá acceder a dichos documentos después de que el administrador del sistema los habilite para empresas. OneDrive

Habilitar OneDrive para la Empresa

En el Windows Server donde se ejecuta SharePoint Server local, abra el shell de administración de SharePoint y ejecute los siguientes comandos:

Add-Pssnapin *  

# Access WellKnown App principal  
[Microsoft.SharePoint.Administration.SPWebService]::ContentService.WellKnownAppPrincipals  
  
# Create WellKnown App principal  
$ClientId = "00000007-0000-0000-c000-000000000000"  
$PermissionXml = @"
<AppPermissionRequests AllowAppOnlyPolicy="true">
    <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
    <AppPermissionRequest Scope="http://sharepoint/social/tenant" Right="Read" />
    <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" />
</AppPermissionRequests>
"@

$wellKnownApp = New-Object `
    -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" `
    -ArgumentList ($ClientId, $PermissionXml)  
  
$wellKnownApp.Update()    

Selección de tipo de asignación de autenticación basada en notificaciones

De forma predeterminada, la asignación de autenticación basada en notificaciones utiliza la dirección de correo electrónico de la cuenta Microsoft del usuario y la dirección de correo electrónico de trabajo local del usuario para la asignación. SharePoint Independientemente del tipo de autenticación basada en reclamaciones que utilice, los valores, como las direcciones de correo electrónico, deben coincidir entre las aplicaciones de interacción con el cliente y SharePoint. Microsoft 365 La sincronización de directorios ayuda a que las direcciones de correo electrónico coincidan. Obtenga más información en Implementar Microsoft 365 Sincronización de directorios en Microsoft Azure. Para utilizar un tipo diferente de mapeo de autenticación basado en reclamaciones, vaya a Definir mapeo de reclamaciones personalizado para la SharePoint integración basada en servidor.

Importante

Para habilitar la propiedad de correo electrónico de trabajo, SharePoint local debe tener una aplicación de servicio de perfil de usuario iniciada y configurada. Para habilitar una aplicación de servicio de perfil de usuario en SharePoint, vaya a Crear, editar o eliminar aplicaciones de servicio de perfil de usuario en SharePoint Server 2016. Para realizar cambios en una propiedad de usuario, como el correo electrónico de trabajo, vaya a Editar una propiedad de perfil de usuario. Para obtener más información sobre la aplicación de servicio de perfiles de usuario, vaya a Descripción general de la aplicación de servicio de perfiles de usuario en SharePoint Server 2016.