Implementar el conector de Microsoft SharePoint local

Esta guía va dirigida a los administradores de conectores de SharePoint local de Google Cloud Search, es decir, a cualquier persona responsable de descargar, configurar, ejecutar y supervisar el conector.

En ella se proporcionan instrucciones para realizar tareas clave relacionadas con la implementación del conector:

  • Descargar el software del conector de SharePoint local de Google Cloud Search.
  • Configurar el conector para que se pueda usar con una fuente de datos de SharePoint local concreta.
  • Implementar y ejecutar el conector.

Para comprender los conceptos expuestos en este documento, deberás conocer los aspectos básicos de G Suite y de SharePoint local.

Descripción general

De forma predeterminada, Google Cloud Search puede localizar, indexar y servir contenido procedente de datos de G Suite, por ejemplo, de Documentos de Google y Gmail. Con el conector de SharePoint local, puedes ampliar el alcance de Google Cloud Search y servir contenido de SharePoint local a tus usuarios.

Archivos de propiedades de configuración

Para que el conector pueda localizar contenido de SharePoint local y subirlo a la API Indexing, debes crear un archivo de configuración para proporcionar información específica al conector. A medida que sigas los procedimientos de configuración descritos en el apartado Pasos de la implementación, irás añadiendo parámetros para crear el archivo de configuración.

Además de los parámetros del conector de SharePoint local descritos en este documento, existen otros parámetros de configuración que utilizan todos los conectores de Cloud Search. Para obtener información detallada al respecto, consulta el capítulo sobre parámetros de configuración proporcionados por Google.

Sistemas operativos compatibles

El conector de SharePoint local de Cloud Search es compatible con los siguientes sistemas operativos:

  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bits)

Versiones de SharePoint compatibles

El conector de SharePoint local de Cloud Search es compatible con SharePoint Server 2016 y SharePoint Server 2013.

Indexación de documentos no publicados

El conector de SharePoint local de Cloud Search siempre respeta el ajuste de visibilidad de búsqueda de SharePoint, que no se puede anular. La indexación de los borradores de documentos depende de los permisos que se hayan concedido a la cuenta de usuario del conector. Si el usuario solo tiene permisos de lectura completa, el conector respetará todos los ajustes de visibilidad de los borradores en SharePoint.

Mecanismos de autenticación compatibles

El conector de SharePoint local de Cloud Search es compatible con la autenticación NTLM, Kerberos, HTTP básica y ADFS.

Limitaciones conocidas del conector

A continuación, se ofrece una lista de las limitaciones conocidas que presenta este conector:

  • El número de bases de datos de contenido afectará a la latencia de detección de cambios en los documentos.
  • El número de grupos y usuarios únicos utilizados en las listas de control de acceso (LCA) de cada colección de sitios web afectará al consumo de memoria.
  • La versión actual del conector admite identidades de un solo dominio de Active Directory.
  • La versión actual del conector no es compatible con las entidades principales conocidas de Active Directory y Windows, como Everyone, BUILTIN\Users, All Authenticated Users.
  • La versión actual del conector no genera notificaciones de eliminación instantáneas.
  • La versión actual del conector depende de que se realice una nueva indexación del contenido para poder identificar los elementos eliminados del repositorio fuente. En el caso del contenido indexado previamente, la latencia de detección de los elementos eliminados puede superar las 4 horas.

Antes de implementar el conector de SharePoint local de Cloud Search

El conector de SharePoint local de Google Cloud Search se puede instalar en Linux o en Windows. Antes de implementarlo, asegúrate de que dispones de lo siguiente:

  • Windows Server 2016
  • SharePoint Server 2016 o SharePoint Server 2013
  • Java JRE 1.8 instalado en el ordenador donde se utilice el conector de SharePoint local de Google Cloud Search
  • La información de G Suite necesaria para establecer las relaciones entre Google Cloud Search y la fuente de datos:

    Por lo general, el administrador de G Suite del dominio podrá proporcionarte estas credenciales.

  • Una cuenta de usuario para utilizarla con el conector, con permisos de lectura completa en la aplicación web de SharePoint según la política del usuario.

  • Asegúrate de que se ha creado una colección de sitios web raíz para la aplicación web. Este conector no admite la indexación de contenido de aplicaciones web que no tengan colección de sitios web raíz.

  • Si hay alguna colección de sitios web bloqueada contra escritura, ejecuta la secuencia de comandos PrepareWriteLockedSitesForAdaptor.ps1 en SharePoint con una cuenta que tenga privilegios de administrador antes de instalar el conector.

  • Para recabar información adicional sobre el entorno de SharePoint que puede ayudarte a configurar el conector de SharePoint, ejecuta diagnose_sp.ps1 en el servidor de SharePoint con una cuenta que tenga privilegios de administrador de granja de servidores.

    Aunque ejecutar la secuencia de comandos no es un paso obligatorio antes de implementar el conector de SharePoint, la salida de la secuencia de comandos, que incluye información como el número de aplicaciones web, el mecanismo de autenticación, la cantidad de documentos y el recuento de miembros del grupo de usuarios, resulta muy útil para calcular el número de instancias del conector necesarias, los requisitos de memoria y el recuento de documentos previsto.

Pasos de la implementación

Para implementar el conector de SharePoint local de Google Cloud Search, sigue estos pasos:

  1. Instalar el software del conector de SharePoint local de Google Cloud Search
  2. Especificar la configuración del conector de SharePoint local
  3. Configurar el acceso a la fuente de datos de Google Cloud Search
  4. Configurar el acceso a SharePoint local
  5. Añadir SharePoint como host de confianza
  6. Configurar colecciones de sitios web
  7. Activar el registro
  8. Configurar la asignación de identidades de SharePoint con Google Cloud Search
  9. Configurar la búsqueda de Active Directory
  10. Configurar la generación de contenido HTML y la compatibilidad con datos estructurados de elementos de lista de SharePoint

1. Instalar el software del conector de SharePoint local de Google Cloud Search

Google proporciona el software de instalación del conector en este archivo:

google-cloudsearch-sharepoint-connector-v1-0.0.2.zip

Descarga y descomprime el conector de Microsoft SharePoint local, y guárdalo en un directorio de trabajo local donde se ejecute el conector. Este directorio también puede contener todos los archivos relevantes necesarios para la ejecución, incluidos el archivo de configuración y el archivo de clave de la cuenta de servicio.

2. Especificar la configuración del conector de SharePoint local

Para que el conector pueda acceder correctamente a SharePoint local e indexar el contenido pertinente, primero es necesario crear su archivo de configuración. Los parámetros que definas en el archivo de configuración te permitirán controlar el comportamiento y los atributos del conector de SharePoint local, en concreto, estos aspectos:

  • Acceso a la fuente de datos
  • Acceso al servidor de SharePoint local
  • Indexación del servidor de SharePoint local como una colección de sitios web

Para crear un archivo de configuración:

  • Abre el editor de texto que prefieras y dale un nombre al archivo de configuración.
  • Añade pares clave=valor al contenido del archivo, tal como se describe en las secciones siguientes.
  • Dale un nombre al archivo de configuración y guárdalo. Te recomendamos asignarle el nombre connector-config.properties para que no sean necesarios más parámetros de la línea de comandos para ejecutar el conector.

3. Configurar el acceso a la fuente de datos de Google Cloud Search

Los primeros parámetros que se deben especificar en cualquier archivo de configuración son los necesarios para acceder a la fuente de datos de Cloud Search, tal como se muestra en la siguiente tabla. Normalmente, necesitarás el ID de la fuente de datos, el ID de la fuente de identidad y la ruta al archivo de clave privada de la cuenta de servicio para poder configurar el acceso del conector a Cloud Search. En el artículo Añadir fuentes de datos en las que se buscará se describen los pasos necesarios para configurar una fuente de datos.

Ajuste Parámetro
ID de fuente de datos api.sourceId=1234567890abcdef

Obligatorio. El ID de la fuente de Google Cloud Search configurado por el administrador de G Suite, tal como se describe en las instrucciones sobre cómo gestionar fuentes de datos de terceros.

Ruta al archivo de clave privada de la cuenta de servicio api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obligatorio. El archivo de clave de la cuenta de servicio de Google Cloud Search que se utilizará para acceder al conector de SharePoint local de Google Cloud Search.

ID de fuente de identidad api.identitySourceId=x0987654321

Obligatorio. El ID de la fuente de identidad de Cloud Search configurado por el administrador de G Suite.

4. Configurar el acceso a SharePoint local

Para que el conector pueda acceder a SharePoint local y extraer datos para indexarlos, primero debes configurar el acceso al servidor de SharePoint. Con los parámetros indicados a continuación puedes añadir información de acceso al archivo de configuración.

Ajuste Parámetro
Nombre de dominio completo del servidor de SharePoint sharepoint.server=http://yoursharepoint.example.com/

Obligatorio. Si el nombre de dominio no está completo, deberás definir la anulación del sistema de nombres de dominio (DNS) en el host del conector.

Nombre de usuario de SharePoint sharepoint.username=YOURDOMAIN\\ConnectorUser

Obligatorio cuando se ejecuta el conector en Linux o en un ordenador con Windows que no forme parte del dominio de Active Directory del servidor de SharePoint.

Contraseña de SharePoint sharepoint.password=user_password

Obligatorio cuando se ejecuta el conector en Linux o en un ordenador con Windows que no forme parte del dominio de Active Directory del servidor de SharePoint.

Usar la autenticación en tiempo real para conectarse a SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

Usar la autenticación ADFS para conectarse a SharePoint sharepoint.username=AdaptorUser@yourdomain.com

sharepoint.password=uS3R_passWoRD

sharepoint.sts.endpoint=https://adfs.example.com/adfs/services/trust/2005/usernamemixed

sharepoint.sts.realm=urn:myserver:sharepoint o https://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

5. Añadir SharePoint como host de confianza

Si SharePoint se ha configurado para utilizar HTTPS, obtén un certificado de SharePoint y sigue los pasos indicados a continuación para añadirlo como host de confianza del conector:

  • Desplázate hasta SharePoint en un navegador. Aparecerá una página de advertencia con un mensaje del tipo "Esta conexión no es de confianza". Dicho mensaje se muestra porque el certificado tiene una firma automática y no está firmado por una autoridad de certificación de confianza. Haz clic en Entiendo los riesgos y en Añadir excepción.
  • Espera hasta que el botón Ver... esté disponible y luego haz clic en él.
  • Cambia a la pestaña "Detalles" y haz clic en "Exportar...".
  • Guarda el certificado en el directorio del conector con el nombre sharepoint.crt.
  • Haz clic en Cerrar y en Cancelar para cerrar las ventanas.
  • Para permitir que el conector confíe en SharePoint, abre el símbolo del sistema e introduce este comando: keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

  • Cuando se te pregunte si quieres confiar en el certificado, responde afirmativamente.

6. Configurar colecciones de sitios web

Si quieres, puedes configurar el conector para que indexe un servidor de SharePoint como una colección de sitios web.

Ajuste Parámetro
Si sharepoint.server es una colección de sitios web en lugar de un servidor virtual sharepoint.siteCollectionOnly=true

El valor predeterminado se detecta automáticamente. Si es "true", el conector indexa sharepoint.server como colección de sitios web.

7. Activar el registro

Crea una carpeta llamada logs en el mismo directorio que contiene el archivo binario del conector. Crea un archivo ASCII o UTF-8 llamado logging.properties en el mismo directorio y añade el siguiente contenido:

handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
# Default log level
.level = INFO
# uncomment line below to increase logging level for SharePoint APIsa
#com.google.enterprise.cloudsearch.sharepoint.level=FINE

# uncomment line below to increase logging level to enable API trace
#com.google.api.client.http.level = FINE
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.FileHandler.pattern=logs/connector-sharepoint.%g.log
java.util.logging.FileHandler.limit=10485760
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

Google Cloud Search permite que sus clientes apliquen recortes de listas de control de acceso (LCA) en los resultados de búsqueda. Estas LCA se pueden definir utilizando entidades principales tanto de Google como externas.

En una configuración típica de SharePoint local participan las tres entidades principales siguientes.

  • Usuarios de Active Directory
  • Grupos de Active Directory
  • Grupos locales de SharePoint, con usuarios y grupos de Active Directory como miembros

Para aplicar los recortes de seguridad adecuados al contenido de SharePoint, también debes sincronizar las siguientes identidades externas con Google.

  • Usa la herramienta Google Cloud Directory Sync (a la que se ha añadido compatibilidad con los grupos de identidades asignadas) para sincronizar los usuarios y los grupos de Active Directory.
  • Utiliza el conector de identidades de SharePoint para sincronizar los grupos locales de SharePoint.

Para que se pueda admitir esta configuración, debes crear dos fuentes de identidad.

  • Una fuente de identidad para sincronizar usuarios y grupos de Active Directory
  • Una fuente de identidad para utilizarla con los grupos locales de SharePoint
Ajuste Parámetro
ID de fuente de identidad api.identitySourceId=1234567890abcdef

ID de la fuente de identidad para sincronizar los grupos locales de SharePoint. Obligatorio. El ID de la fuente de Google Cloud Search configurado por el administrador de G Suite, tal como se describe en el artículo Añadir fuentes de datos en las que se buscará.

Fuentes de identidad de referencia api.referenceIdentitySources=CONTOSO,contoso

Lista de fuentes de identidad de referencia de las entidades principales de Active Directory. El valor debe coincidir con el nombre de NETBIOS de Active Directory de las entidades principales de Active Directory a las que se hace referencia.

IDs de fuentes de identidad de referencia api.referenceIdentitySource.CONTOSO.id=112233abcd

Obligatorio. El ID de la fuente de identidad para sincronizar las entidades principales de Active Directory del dominio CONTOSO.

9. Configurar la búsqueda de Active Directory

Mientras otros conectores se basan en Google Cloud Directory Sync para sincronizar usuarios y grupos de Active Directory, el conector de SharePoint necesita realizar una búsqueda con Active Directory para obtener información adicional sobre las entidades principales que se van a sincronizar. Se puede usar, por ejemplo, en estos casos:

  • Asignación de un identificador de seguridad (SID) de un grupo del dominio al correspondiente sAMAccountName.
  • Asignación del sAMAccountName de usuario a direcciones de correo electrónico de miembros del grupo local de SharePoint.
Ajuste Parámetro
Host de Active Directory adLookup.host=dc.contoso.com

Obligatorio. Nombre de host o dirección IP de Active Directory.

Puerto de búsqueda de Active Directory adLookup.port=389

Opcional. El valor predeterminado es "389". Se utiliza "686" para SSL.

Método de búsqueda de Active Directory adLookup.method=standard

Opcional. El valor predeterminado es "standard". Se utiliza "ssl" en las conexiones seguras.

Usuario de búsqueda de Active Directory adLookup.username=CONTOSO\user1

Obligatorio. El usuario con autorización para hacer búsquedas en Active Directory.

Contraseña de búsqueda de Active Directory adLookup.passowrd=password123

Obligatorio. Contraseña del usuario especificado por adLookup.user.

10. Configurar la generación de contenido HTML y la compatibilidad con datos estructurados de elementos de lista de SharePoint

Si quieres indexar metadatos adicionales para utilizarlos con elementos de lista de SharePoint, configura el conector para que admita la generación de contenido HTML o los datos estructurados.

Generación de contenido HTML

Usa los parámetros de la siguiente tabla para configurar la generación de contenido HTML. Para obtener información sobre parámetros de generación de contenido HTML opcionales, consulta el apartado "Generación de contenido HTML".

Ajuste Parámetro
Campo de título de plantilla HTML contentTemplate.sharePointItem.title=Title

El campo de SharePoint que se utilizará como título del HTML generado.

Campos de alta calidad de búsqueda del contenido HTML contentTemplate.sharePointItem.quality.high=highField1,highField2…

Campos que se incluirán en el HTML generado como campos de alta calidad. Los términos de la consulta de búsqueda que coincidan con estos campos se clasificarán en un nivel superior.

Campos de calidad media de búsqueda del contenido HTML contentTemplate.sharePointItem.quality.medium=mediumField1, mediumField2…

Campos que se incluirán en el HTML generado como campos de calidad media.

Campos de baja calidad de búsqueda del contenido HTML contentTemplate.sharePointItem.quality.low=lowField1, lowField2…

Campos que se incluirán en el HTML generado como campos de calidad baja.

Columnas sin asignar del contenido HTML contentTemplate.sharepointItem.unmappedColumnsMode=IGNORE

El valor predeterminado es "IGNORE". El conector genera el HTML solo con columnas asignadas. Define el valor "APPEND" si quieres incluir los campos sin asignar (que no forman parte de las configuraciones alta, media o baja) en el contenido HTML generado.

Compatibilidad con datos estructurados

El conector rellenará los datos estructurados de los elementos de lista de SharePoint si el esquema de la fuente de datos se ha definido de acuerdo a estas directrices:

  • El conector asigna los nombres de tipo de contenido de SharePoint a las correspondientes definiciones de los objetos y los normaliza según las especificaciones definidas por la API de Cloud Search. Esta solamente admite A-Z, a-z y 0-9 como caracteres válidos de las definiciones de los objetos. El conector normaliza los nombres de tipo de contenido excluyendo los caracteres no compatibles.

Por ejemplo, el tipo de contenido "Anuncios" se asigna a la definición de objeto "Anuncios", mientras que "Artículo de noticias" se asigna a "Artículodenoticias".

  • El conector asigna nombres de propiedad de SharePoint a definiciones de propiedad normalizando los nombres visibles de las columnas de SharePoint.

Ejemplo de archivo de configuración

En el siguiente archivo de configuración de ejemplo se muestran los pares clave=valor de los parámetros que definen el comportamiento de un conector de ejemplo.

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
api.identitySourceId=08ef8becd116faa475de26d9b291fed9

# Optional
contentTemplate.sharepointItem.title=Title
contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
sharepoint.siteCollectionOnly=true
sharepoint.username=contoso\\admin
sharepoint.password=pa$sw0rd
sharepoint.stripDomainInUserPrincipals=true

adLookup.host=dc.contoso.com
adLookup.port=389
adLookup.username=contoso\\admin
adLookup.password=pa$sw0rd

api.referenceIdentitySources=CONTOSO,contoso
api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa

Ejecutar el conector de identidades de SharePoint local

Para que los usuarios puedan obtener en Cloud Search resultados de contenido de SharePoint al que tienen acceso, primero es necesario asignar las entidades principales tanto de la colección de sitios web de Active Directory local como de SharePoint a identidades del servicio de Cloud Identity de Google. Esta sincronización se realiza mediante la aplicación Google Cloud Directory Sync (GCDS) y el conector de identidades de SharePoint local. Para ver los pasos que hay que seguir para usar GCDS, consulta el artículo Acerca de Google Cloud Directory Sync. Si quieres obtener más información sobre cómo activar los grupos de identidades asignadas, consulta el artículo Sincronizar grupos con fuentes de identidad de Cloud Search.

Una vez que GCDS haya sincronizado los usuarios y los grupos en Active Directory, ejecuta el conector de identidades de SharePoint local, tal como se explica a continuación para sincronizar los grupos de la colección de sitios web de SharePoint.

El conector de identidades utiliza un archivo de configuración similar al que se usa para indexar el contenido. A continuación, se muestra un ejemplo de archivo de configuración del conector de identidades:

api.customerId=C05d3djk8
api.serviceAccountPrivateKeyFile=service_account.json
api.identitySourceId=08ef8becd116faa475de26d9b291fed9

sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
sharepoint.siteCollectionOnly=true
sharepoint.username=contoso\\admin
sharepoint.password=pa$sw0rd
sharepoint.stripDomainInUserPrincipals=true

adLookup.host=dc.contoso.com
adLookup.port=389
adLookup.username=contoso\\admin
adLookup.password=pa$sw0rd

api.referenceIdentitySources=CONTOSO,contoso
api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa

Observa que este archivo contiene la propiedad api.customerId, que incluye el ID de tu cuenta de G Suite. Para obtener información sobre cómo generar un customerID, consulta el artículo Asignar identidades de usuarios en Cloud Search.

El mismo archivo JAR que se usa para indexar el contenido también contiene el conector de identidades. Si quieres utilizarlo, ejecuta el siguiente comando en el directorio que contiene el archivo de configuración:

java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-v<version>-withlib.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector

Ejecutar el conector de SharePoint local

Ejecuta el conector mediante cmd.exe en el equipo host:

java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v<version>-withlib.jar

Para ejecutar el conector en sitios web HTTP seguros de SharePoint, añade SharePoint como host de confianza, tal como se describe arriba.

java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=changeit -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v<version>-withlib.jar

Temas de configuración avanzada

En esta sección se proporciona información sobre configuración avanzada del conector de SharePoint.

Configuraciones multiinquilino

Las implementaciones multiinquilino de SharePoint generalmente alojan varios sitios web de cliente dentro de una misma aplicación web. Los clientes obtienen permisos solo de sus respectivas colecciones de sitios web. En un entorno de estas características, no es posible obtener permisos de lectura completa de la aplicación web de SharePoint, tal como requiere el conector de SharePoint local.

Estas configuraciones multiinquilino son compatibles a través del modo de solo colección de sitios web. Para admitirlas, el modo de colección de sitios web debe estar activado mediante la opción de configuración sharepoint.siteCollectionOnly del archivo connector-config.properties.

Para indexar una colección de sitios web en el nivel raíz con el modo de solo colección de sitios web, necesitas asignar un valor "true" a sharepoint.siteCollectionOnly de forma explícita.

El conector indexará una colección de sitios web y sus elementos secundarios. Por este motivo, la cuenta de usuario del conector en SharePoint necesita permisos de administrador de colecciones de sitios web.

Si tienes que indexar varias colecciones de sitios web en un entorno multiinquilino, deberás configurar una instancia del conector para cada una de ellas.

Para configurar el conector de SharePoint local en el modo de solo colección de sitios web:

  • Especifica sharepoint.server como URL de la colección de sitios web, por ejemplo, http://sharepoint.example.com/sites/sitecollection.

  • Si la URL de la colección de sitios web es la colección de sitios web raíz (por ejemplo, http://sharepoint.example.com), define sharepoint.siteCollectionOnly=true de forma explícita.

URL no canónicas en el modo de solo colección de sitios web

El conector de SharePoint local permite las URL no canónicas en el modo de solo colección de sitios web. Esto significa que la URL del conector, tal como especifica la opción de configuración sharepoint.server del archivo connector-config.properties, no debe estar escrita exactamente con las mismas mayúsculas o minúsculas en SharePoint.

Anular el valor de tipo de contenido de los archivos .msg de Microsoft Outlook

Si el conector encuentra algún archivo .msg de Outlook al rastrear contenido, sobrescribirá el valor de tipo de contenido de los archivos y los indexará como application/vnd.ms-outlook.