Implementa el conector de Microsoft SharePoint On-Prem

Esta guía está orientada a los administradores del conector de SharePoint On-Prem de Google Cloud Search, es decir, a todos aquellos responsables de descargar, configurar, ejecutar y supervisar el conector.

En esta guía, se incluyen instrucciones para realizar tareas clave relacionadas con la implementación del conector de SharePoint On-Prem:

  • Descarga el software del conector de SharePoint On-Prem de Google Cloud Search.
  • Configura el conector para usarlo con una fuente de datos de SharePoint Server local.
  • Implementa y ejecuta el conector.

Para comprender los conceptos de este documento, debes estar familiarizado con los conceptos básicos de G Suite y de SharePoint Server local.

Descripción general

De forma predeterminada, Google Cloud Search puede descubrir, indexar y entregar contenido a partir de los datos de G Suite como Documentos de Google y Gmail. Puedes ampliar Google Cloud Search a fin de entregar contenido de SharePoint On-Prem a tus usuarios mediante el conector de Sharepoint On-Prem.

Archivos de propiedades de configuración

Para permitir que el conector descubra contenido desde SharePoint local y lo suba a la API de indexación, debes proporcionar información específica al conector mediante la creación de un archivo de configuración. Durante los pasos de configuración descritos en Pasos para la implementación, debes compilar el archivo de configuración mediante el agregado de parámetros.

Además de los parámetros del conector de SharePoint On-Prem que se describen en este documento, hay parámetros de configuración que usan todos los conectores de Cloud Search. Para obtener más información, consulta los parámetros de conectores proporcionados por Google.

Sistemas operativos compatibles

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

Versiones de SharePoint compatibles

  • SharePoint Server 2016
  • SharePoint Server 2013

Indexa documentos no publicados

El conector de SharePoint On-Prem de Cloud Search siempre respeta la configuración de la visibilidad de búsqueda en SharePoint (no puedes anular esta opción). Para los documentos en borrador, la indexación depende de los permisos que se otorgan a la cuenta de usuario del conector. Si el usuario del conector solo tiene permisos de “lectura completa”, el conector respetará toda la configuración de “visibilidad del elemento en borrador” en SharePoint.

Mecanismos de autenticación compatibles

  • NTLM
  • Kerberos
  • HTTP básico
  • ADFS

Limitaciones conocidas del conector

  • La cantidad de bases de datos de contenido afectará la latencia de detección de cambios de documentos.
  • La cantidad de grupos y usuarios únicos usados en las LCA para cada colección de sitios afectará el consumo de memoria.
  • La versión actual del conector es compatible con identidades de un solo dominio de Active Directory.
  • La versión actual del conector no es compatible con los principales conocidos 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 se basa en la reindexación del contenido para identificar eliminaciones del repositorio de código fuente. En el caso del contenido indexado con anterioridad, la latencia de detección de eliminaciones puede ser de más de 4 horas.

Antes de implementar el conector de SharePoint On-Prem de Cloud Search

Antes de que implementes el conector de SharePoint On-Prem de Google Cloud Search, asegúrate de contar con los siguientes componentes obligatorios:

  • Un sistema operativo compatible y Sharepoint Server
  • Java JRE 1.8 instalado en una computadora que ejecuta el conector de SharePoint On-Prem de Google Cloud Search
  • La información de G Suite necesaria para establecer relaciones entre Google Cloud Search y la fuente de datos:

    Por lo general, el administrador de G Suite para el dominio puede proporcionarte estas credenciales.

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

  • Asegúrate de que la aplicación web tenga una colección de sitios raíz creada. Este conector no admite la indexación de contenido desde una aplicación web en la que no hay una colección de sitios raíz.

  • Si hay colecciones de sitios con bloqueo de escritura, ejecuta la secuencia de comandos PrepareWriteLockedSitesForAdaptor.ps1 en SharePoint mediante una cuenta que tenga privilegios de administrador antes de instalar el conector.

  • Para ayudarte con la configuración de este conector, inicia sesión en el servidor de SharePoint con privilegios de administrador de granja y ejecuta diagnose_sp.ps1.

    El resultado de este comando, incluida la cantidad de aplicaciones web, documentos y recuento de membresías de grupos de usuarios, ayuda a calcular la cantidad de instancias del conector necesarias, los requisitos de memoria y el recuento de documentos esperado.

Pasos para la implementación

Para implementar el conector de SharePoint On-Prem de Google Cloud Search, sigue estos pasos:

  1. Instala el software del conector de SharePoint On-Prem de Google Cloud Search.
  2. Especifica la configuración del conector de SharePoint On-Prem.
  3. Configura el acceso a la fuente de datos de Google Cloud Search.
  4. Configura el acceso a SharePoint On-Prem.
  5. Agrega SharePoint como un host confiable.
  6. Configura las colecciones de sitios.
  7. Habilita el registro.
  8. Configura la asignación de identidad de SharePoint con Google Cloud Search.
  9. Configura la búsqueda de Active Directory.
  10. Configura la generación de contenido HTML y la compatibilidad de datos estructurados.

1. Instala el software del conector de SharePoint On-Prem de Google Cloud Search

  1. Clona el repositorio del conector desde GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
        $ cd sharepoint-connector
  2. Cambia a la versión deseada del conector:

    $ git checkout tags/v1-0.0.3
  3. Compila el conector.

    $ mvn package

    Para omitir las pruebas cuando compilas el conector, ejecuta mvn package -DskipTests en lugar de mvn package.

  4. Copia el archivo ZIP del conector en el directorio de instalación local:

    $ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir
        $ cd installation-dir
        $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip
        $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3

2. Especifica la configuración del conector de SharePoint On-Prem

Para que el conector acceda de manera correcta a SharePoint On-Prem y, luego, indexe el contenido relevante, primero debes crear el archivo de configuración. Puedes controlar el comportamiento y los atributos del conector de SharePoint On-Prem mediante la definición de parámetros en el archivo de configuración del conector. Control de parámetros configurables:

  • Acceso a una fuente de datos
  • Acceso al servidor de SharePoint On-Prem
  • Indexa el servidor de SharePoint On-Prem como una colección de sitios

Para crear un archivo de configuración:

  • Abre el editor de texto que prefieras y asigna un nombre al archivo de configuración.
  • Agrega pares de clave=valor a los contenidos del archivo, como se describe en las siguientes secciones.
  • Guarda el archivo de configuración y asígnale un nombre. Google recomienda que le pongas el nombre connector-config.properties de modo que no se necesiten parámetros de línea de comandos adicionales para ejecutar el conector.

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

Los primeros parámetros que se deben especificar en cada archivo de configuración son los necesarios para acceder a la fuente de datos de Cloud Search, como se muestra en la siguiente tabla. Por lo general, necesitarás el ID de la fuente de datos, el de la fuente de identidad y la ruta de acceso al archivo de claves privadas de la cuenta de servicio para configurar el acceso del conector a Cloud Search. Los pasos que se deben seguir para configurar una fuente de datos se describen en Añadir fuentes de datos en las que se buscará.

Configuración Parámetro
ID de la fuente de datos api.sourceId=1234567890abcdef

Obligatorio. El ID de la fuente de datos de Google Cloud Search que configura el administrador de G Suite, como se describe en Administra fuentes de datos de terceros

Ruta de acceso al archivo de claves privadas de la cuenta de servicio api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obligatorio. El archivo de claves de cuenta de servicio de Google Cloud Search para la accesibilidad del conector de SharePoint On-Prem de Google Cloud Search

ID de fuente de identidad api.identitySourceId=x0987654321

Obligatorio. El ID de la fuente de datos de Google Cloud Search que configura el administrador de G Suite

4. Configura el acceso a SharePoint On-Prem

A fin de que el conector pueda acceder a SharePoint On-Prem y extraer datos para su indexación, debes configurar el acceso al servidor de SharePoint. Usa el siguiente parámetro para agregar información de acceso al archivo de configuración.

Configuración Parámetro
Nombre de dominio completo para el servidor de SharePoint sharepoint.server=http://yoursharepoint.example.com/

Obligatorio. Si el nombre de dominio no está completo, debes configurar la anulación de DNS en el host del conector.

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

Es obligatorio cuando se ejecuta el conector en Linux o una máquina de Windows que no forma parte del dominio AD del servidor de SharePoint.

Contraseña de SharePoint sharepoint.password=user_password

Es obligatorio cuando se ejecuta el conector en Linux o una máquina de Windows que no forma parte del dominio AD del servidor de SharePoint.

Usa la autenticación en vivo para conectarte a SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

Usa la autenticación de ADFS para conectarte 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. Agrega SharePoint como un host confiable

Si SharePoint está configurado para usar HTTPS, obtén un certificado de SharePoint a fin de agregarlo como un host confiable para el conector mediante los siguientes pasos:

  • Navega hasta SharePoint. Aparece una página de advertencia con un mensaje como “Esta conexión no es de confianza” (This Connection is Untrusted). Este mensaje aparece porque el certificado está autofirmado y no está firmado por una autoridad certificada de confianza. Haz clic en Comprendo los riesgos y Agregar excepción.
  • Espera hasta que puedas hacer clic en el botón Vista.
  • Ve a la pestaña "Detalles" y haz clic en "Exportar".
  • Guarda el certificado en el directorio de tu conector con el nombre sharepoint.crt.
  • Haz clic en Cerrar y Cancelar para cerrar las ventanas.
  • Para permitir que el conector confíe en SharePoint, abre un símbolo del sistema y, luego, ingresa el siguiente comando:

    $ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

    Cuando aparezca la pregunta “¿Confías en este certificado?", responde .

6. Configura las colecciones de sitios

De manera opcional, puedes configurar el conector para que indexe un servidor de SharePoint como una colección de sitios.

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

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

7. Habilita el registro

Crea una carpeta llamada logs en el mismo directorio en el que se encuentra el objeto binario del conector. Crea un archivo ASCII o UTF-8 llamado logging.properties en el mismo directorio y agrega 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 a sus clientes aplicar recortes de la LCA en los resultados de la búsqueda. Estas LCA se pueden definir con los principales de Google y con los principales externos.

Una configuración típica de SharePoint On-Prem incluye los 3 principales que se indican a continuación.

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

Si deseas aplicar los recortes de seguridad adecuados para el contenido de SharePoint, también tienes que sincronizar estas identidades externas con Google:

  • Usa la herramienta Google Cloud Directory Sync (con asistencia adicional para grupos de identidad asignados) a fin de sincronizar los grupos y los usuarios de Active Directory.
  • Usa el conector de identidad de SharePoint para sincronizar los grupos locales de SharePoint.

Para admitir esa configuración, tienes que crear 2 fuentes de identidad.

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

ID de fuente de identidad para sincronizar grupos locales de SharePoint. Obligatorio. El ID de la fuente de Google Cloud Search que configura el administrador de G Suite, como se describe en Agrega una fuente de datos a la búsqueda.

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

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

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

Obligatorio. ID de fuente de identidad para sincronizar los principales de Active Directory para el dominio CONTOSO.

9. Configura la búsqueda de Active Directory

Mientras que otros conectores usan Google Cloud Directory Sync a fin de sincronizar los grupos y usuarios de Active Directory, el conector de SharePoint debe realizar la búsqueda con AD para obtener información adicional sobre los principales que se sincronizan. En los casos prácticos, se incluye lo siguiente:

  • La asignación de SID para un grupo de dominio al sAMAccountName correspondiente
  • La asignación del usuario sAMAccountName a la dirección de correo electrónico para la membresía del grupo local de SharePoint
Configuración Parámetro
Host de Active Directory adLookup.host=dc.contoso.com

Obligatorio. Dirección IP o nombre del host de Active Directory

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

Opcional. El valor predeterminado es 389. Usa 686 para ssl

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

Opcional. El valor predeterminado es estándar. Usa "ssl" para una conexión segura

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

Obligatorio. Usuario autorizado para realizar búsquedas de Active Directory

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

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

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

Si deseas indexar metadatos adicionales para los elementos de lista de SharePoint, configura el conector a fin de que admita la generación de contenido HTML o 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 más información sobre los parámetros de generación de contenido HTML opcionales, consulta la sección sobre la generación de contenido HTML.

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

El campo de SharePoint que se usará como "Título" para HTML generado

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

Campos para incluir en el HTML generado como campos de alta calidad. La coincidencia de los términos de búsqueda en estos campos se clasificará en una posición superior

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

Campos para incluir en el HTML generado como campos de calidad media

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

Campos para incluir en el HTML generado como campos de calidad baja

Columnas sin asignar de contenido HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

El valor predeterminado es APPEND. Configura APPEND si deseas incluir campos sin asignar (que no formen parte de configuración alta, media y baja) en el contenido HTML generado. Establece IGNORE para generar HTML mediante columnas asignadas.

Compatibilidad con datos estructurados

El conector propaga datos estructurados para los elementos de lista de SharePoint si el esquema para la fuente de datos se define mediante los siguientes lineamientos:

  • El conector asigna los nombres de los tipos de contenido de SharePoint a las definiciones de objetos correspondientes mediante la normalización del nombre del tipo de contenido de SharePoint según las especificaciones definidas por la API de Cloud Search. La API de Cloud Search solo admite A-Z, a-z y 0-9 como caracteres válidos para las definiciones de los objetos. El conector normaliza los nombres de los tipos de contenido mediante la exclusión de los caracteres no admitidos. Por ejemplo, el tipo de contenido “Announcements” se asigna a la definición del objeto “Announcements”, mientras el tipo de contenido “News Article” se asigna a “NewsArticle”.

  • El conector también es compatible con la configuración de un tipo de objeto de resguardo a través de la configuración itemMetadata.objectType. El conector usa el tipo de objeto de resguardo si no se encuentra disponible en el esquema una definición de objeto que corresponda a un tipo de contenido de SharePoint.

  • El conector asigna nombres de propiedades de SharePoint a definiciones de propiedades mediante la normalización de los nombres de visualización para las columnas de SharePoint.

Ejemplo: archivo de configuración

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

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
    

Ejecuta el conector de identidad de SharePoint On-Prem

A fin de que los usuarios obtengan resultados en Cloud Search para el contenido de SharePoint al que tienen acceso, primero es necesario asignar los principales en la colección de sitios de SharePoint y Active Directory locales a las identidades en el servicio de Google Cloud Identity. Esta sincronización se realiza a través de la aplicación Google Cloud Directory Sync (GCDS) y del conector de identidad de SharePoint On-Prem. Si quieres conocer los pasos para usar GCDS, consulta Acerca de Google Directory Sync. Para obtener información adicional sobre cómo habilitar grupos de identidad asignados, consulta Sincronizar grupos con fuentes de identidad de Cloud Search.

Después de que GCDS haya sincronizado los usuarios y los grupos en Active Directory, ejecuta el conector de identidad de SharePoint On-Prem, como se explica a continuación, para sincronizar los grupos de colecciones de sitios de SharePoint.

El conector de identidad usa un archivo de configuración similar al que se usa para indexar contenido. A continuación, se incluye un archivo de configuración del conector de identidad de muestra:

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. Esta propiedad contiene tu ID de cuenta de G Suite. Para obtener información sobre cómo generar un customerID, consulta Asignar identidades de usuarios en Cloud Search.

El mismo archivo JAR que se usa para indexar contenido también contiene el conector de identidad. Para ejecutarlo, emite el siguiente comando en el directorio que contiene el archivo de configuración: En lugar de versión, usa el número de versión actual, que puedes encontrar en la página de versiones de GitHub.

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

Ejecuta el conector de SharePoint On-Prem

Ejecuta el conector mediante el uso de cmd.exe en la máquina host:

$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar

Para ejecutar el conector contra sitios de SharePoint de HTTP seguro, agrega a SharePoint como un host confiable, 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-v1-0.0.3.jar

Temas avanzados

La información que aparece en esta sección abarca más que la configuración básica del conector de SharePoint.

Configuraciones de múltiples instancias

Las implementaciones de SharePoint de múltiples instancias suelen alojar varios sitios de clientes en la misma aplicación web. Los clientes obtienen permisos solo para sus respectivas colecciones de sitios. En esa situación, no es posible obtener permisos completos de lectura en la aplicación web de SharePoint, como lo requiere el conector de SharePoint On-Prem.

Las configuraciones de múltiples instancias son admitidas a través del modo de solo colección de sitios. Para admitir una configuración de múltiples instancias, se debe habilitar el modo de colección de sitios mediante la opción de configuración sharepoint.siteCollectionOnly en el archivo connector-config.properties.

Para indexar la colección de sitios a nivel raíz en el modo de solo colección de sitios, debes configurar sharepoint.siteCollectionOnly como verdadero de manera explícita.

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

Si tienes varias colecciones de sitios para indexar en un entorno de múltiples instancias, debes configurar una instancia del conector por cada una de las colecciones de sitios.

Para configurar el conector de SharePoint On-Prem en el modo de solo colección de sitios, realiza lo siguiente:

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

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

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

El conector de SharePoint On-Prem permite las URL no canónicas en el modo de solo colección de sitios. Es decir, no es necesario que la URL del conector especificada por la opción de configuración sharepoint.server en el archivo connector-config.properties esté en el mismo caso que en SharePoint.

Anula el tipo de contenido para los archivos .msg de Microsoft Outlook

Si el conector encuentra archivos .msg de Outlook cuando rastrea contenido, anula el tipo de contenido para estos archivos y los indexa como application/vnd.ms-outlook.