Implementa el conector de Microsoft SharePoint Online

Esta guía está orientada a los administradores del conector de SharePoint Online de Google Cloud Search, es decir, cualquier persona responsable 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 Online:

  • Descargar el software del conector de SharePoint Online de Google Cloud Search
  • Configurar el conector para usarlo con una fuente de datos específica de SharePoint Online
  • Implementar y ejecutar el conector

Para comprender los conceptos de este documento, debes estar familiarizado con los conceptos generales de G Suite y SharePoint Online.

Descripción general del conector de SharePoint Online de Google Cloud Search

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

Archivos de propiedades de configuración

Para permitir que el conector detecte contenido de SharePoint Online y lo suba a la API de indexación, como administrador del conector debes crear un archivo de configuración a fin de proporcionar ajustes al conector de SharePoint Online siguiendo los pasos que se describen en Pasos para la implementación.

Además de los parámetros del conector de SharePoint Online 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 Parámetros de conectores que proporciona Google.

Sistemas operativos compatibles

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

Cómo indexar documentos no publicados

El conector de SharePoint Online de Cloud Search siempre respeta la configuración de visibilidad de búsqueda en SharePoint (no puedes anular esta opción). En el caso de documentos borrador, la indexación depende de los permisos que se otorgan a la cuenta de usuario del conector. Si el usuario solo tiene permisos de “lectura completa”, el conector respetará todas las configuraciones de “visibilidad de elementos borrador” en SharePoint.

Mecanismos de autenticación compatibles

El conector de SharePoint Online de Cloud Search admite la Autenticación en vivo.

Limitaciones conocidas del conector

  • La instancia del conector solo puede indexar contenido de una sola colección de sitios. Necesitas distintas instancias del conector para indexar varias colecciones de sitios.
  • La cantidad de grupos y usuarios únicos que se empleen en las LCA para cada colección de sitios afectará el consumo de memoria.
  • La versión actual del conector no genera notificaciones de eliminaciones instantáneas.
  • El conector se basa en la reindexación del contenido para identificar eliminaciones realizadas en el repositorio de código fuente. En el caso del contenido indexado previamente, la latencia de detección de eliminaciones puede ser de más de 4 horas.

Requisitos previos

El conector de SharePoint Online de Google Cloud Search se puede instalar en Linux o en Windows. Antes de que implementes el conector de SharePoint Online de Google Cloud Search, asegúrate de contar con los siguientes componentes necesarios:

  • Entorno de SharePoint Online.
  • Java JRE 1.8 instalado en una computadora que ejecute el conector de SharePoint Online de Google Cloud Search.
  • La información de G Suite requerida para establecer relaciones entre Google Cloud Search y la fuente de datos:

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

  • Cuenta de usuario del conector. Esta cuenta debe tener privilegios de administrador en la colección de sitios.

Pasos para la implementación

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

  1. Instala el software del conector de SharePoint Online de Google Cloud Search.
  2. Especifica la configuración del conector de SharePoint Online.
  3. Configura el acceso a la fuente de datos de Google Cloud Search.
  4. Configura el acceso a SharePoint Online.
  5. Configura la asignación de identidad de SharePoint a Google Cloud Search.
  6. Configura la generación de contenido HTML y la compatibilidad de datos estructurados para los elementos de lista de SharePoint.
  7. Configura la asignación de identidad de O365 a Google Cloud Search.
  8. Habilita el registro.

1. Instala el software del conector de SharePoint Online 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. Consulta 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 Online

Para que el conector acceda de manera correcta a SharePoint Online e indexe el contenido, primero debes crear el archivo de configuración. Para controlar el comportamiento y los atributos del conector de SharePoint Online debes definir parámetros en el archivo de configuración del conector. Control de parámetros configurables:

  • Acceso a una fuente de datos
  • Acceso a SharePoint Online

Para crear un archivo de configuración, sigue estos pasos:

  1. Abre el editor de texto que prefieras y agrega pares clave=valor a los contenidos del archivo, como se describe en las siguientes secciones.
  2. Guarda el archivo de configuración y asígnale un nombre. Google recomienda asignarle el nombre connector-config.properties al archivo de configuración a fin de 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 ID de la fuente de identidad y la ruta de acceso al archivo de clave privada 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 Agregar fuentes de datos en las que se buscará.

Configuración Parámetro
ID de la fuente de datos api.sourceId=1234567890abcdef
Obligatorio. ID de la fuente de Google Cloud Search configurado por el administrador de G Suite.
Ruta de acceso al archivo de claves privadas de la cuenta de servicio api.serviceAccountPrivateKeyFile=./PrivateKey.json
Obligatorio. Archivo de claves de la cuenta de servicio de Google Cloud Search para la accesibilidad del conector de SharePoint Online de Google Cloud Search.
ID de la fuente de identidad api.identitySourceId=x0987654321
Obligatorio. ID de la fuente de datos de Google Cloud Search configurado por el administrador de G Suite.

4. Configura el acceso a SharePoint Online

Antes de que el conector pueda acceder a SharePoint Online y extraer datos para su indexación, debes configurar el acceso a SharePoint Online. Usa los siguientes parámetros para agregar información de acceso al archivo de configuración.

Configuración Parámetro
Nombre de dominio completo para la colección de sitios 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.
Modo de solo colección de sitios sharepoint.siteCollectionOnly=true
Obligatorio. En el caso de SharePoint Online, siempre configura este parámetro como “true”.
Nombre de usuario de SharePoint sharepoint.username=username
Obligatorio. Nombre de usuario de la cuenta que se usa para acceder a SharePoint Online.
Contraseña de SharePoint sharepoint.password=user_password
Obligatorio. Contraseña de la cuenta que se usa para acceder a SharePoint Online.
Modo de autenticación sharepoint.formsAuthenticationMode=LIVE
Obligatorio. En el caso de SharePoint Online, configura este parámetro como LIVE.
Tipo de implementación sharepoint.deploymentType=ONLINE
Obligatorio. En el caso de SharePoint Online, configura este parámetro como ONLINE.

5. Configura la asignación de identidad de SharePoint a Google Cloud Search

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 principales externos.

El conector de SharePoint Online admite las siguientes identidades:

  • Usuarios de Office 365 o Azure AD
  • Grupos de seguridad de Office 365 o Azure AD
  • Grupos locales de SharePoint (con usuarios y grupos de O365 como miembros)

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

  • Usa el conector de identidad de SharePoint para sincronizar los grupos locales de SharePoint.
  • Usa el conector de identidad de O365 para sincronizar las identidades de O365.

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

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

Obligatorio. ID de la fuente de Google Cloud Search configurado por el administrador de G Suite, como se describe en Agregar fuentes de datos en las que se buscará.

Fuentes de identidad de referencia api.referenceIdentitySources=defaultIdentitySource
Obligatorio. Para SharePoint Online se usa el valor fijo defaultIdentitySource.
ID de las fuentes de identidad de referencia api.referenceIdentitySource.defaultIdentitySource.id=112233abcd
Obligatorio. ID de fuente de identidad para sincronizar identidades de O365.

6. Configura la generación de contenido HTML y la compatibilidad de 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.

Configuración Parámetro
Campo de título de plantilla HTML contentTemplate.sharePointItem.title=Title
Campo de SharePoint que se usa como “Title” para el HTML generado.
Campos de calidad alta de búsqueda de contenido HTML contentTemplate.sharePointItem.quality.high=highField1,highField2
Campos que se incluirán en el HTML generado como campos de calidad alta. 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 que se incluirán en el HTML generado como campos de calidad media.
Campos de calidad baja de búsqueda de 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 de contenido HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
El valor predeterminado es APPEND. Si se configura como IGNORE, el conector genera contenido HTML solo con las columnas asignadas. Configura este parámetro como APPEND para incluir los campos sin asignar (que no sean parte de las configuraciones de calidad alta, media o baja) en el contenido HTML generado.

Compatibilidad con datos estructurados

Si el esquema de la fuente de datos se define aplicando los siguientes lineamientos, el conector propaga los datos estructurados para los elementos de lista de SharePoint:

  • El conector asigna los nombres de tipos de contenido de SharePoint a las definiciones de objetos correspondientes mediante la normalización del nombre de tipo de contenido de SharePoint según las especificaciones que define 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 objetos. El conector normaliza los nombres de tipos de contenido mediante la exclusión de los caracteres no compatibles. Por ejemplo, el tipo de contenido “Anuncios” se asigna a la definición del objeto “Anuncios”, mientras que el tipo de contenido “Articulo de noticias” se asigna a “Articulodenoticias”.

  • El conector también es compatible con el establecimiento 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 en el esquema no hay disponible una definición de objeto que corresponda a un tipo de contenido de SharePoint.

  • El conector asigna nombres de propiedades de SharePoint a las definiciones de propiedades.

7. Configura la asignación de identidad de O365 a Google Cloud Search

A fin de aplicar los recortes de seguridad para el contenido de SharePoint según las identidades de O365, tienes que configurar el conector de identidad de O365 incluido en el paquete del conector de SharePoint Online.

Compila el conector de identidad de Office 365

Si aún no lo hiciste, instala el SDK en tu repositorio local de Maven:

  1. Clona el repositorio del SDK desde GitHub.

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
        $ cd connector-sdk
  2. Consulta la versión deseada del SDK:

    git checkout tags/v1-0.0.3
        
  3. Instala los componentes del SDK:

    mvn install
        

Compila el conector:

  1. Clona el repositorio del conector desde GitHub.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
        $ cd office-365-connector
  2. Consulta 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-office-365-connector-v1-0.0.3.zip installation-dir
        $ cd installation-dir
        $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip
        $ cd google-cloudsearch-office-365-connector-v1-0.0.3

Obtén credenciales de O365

Para usar el conector de identidad de O365, debes configurarlo con credenciales a fin de leer usuarios y grupos de la cuenta de O365.

Sigue las instrucciones de Microsoft a fin de crear una aplicación de Azure Active Directory para la conexión de identidad de O365. Cuando configures la app, sigue estos pasos:

  1. Asígnale un nombre descriptivo a la app, como “gcs-o365-identity-connector”.
  2. Agrega permisos. La aplicación necesita “Group.Read.All” y “User.Read.All”.
  3. Toma nota de la siguiente información para usarla en el próximo paso:
    • ID de aplicación
    • Instancia
    • Secreto del cliente

Configuración del conector

Configuración Parámetro
ID de la fuente de identidad api.identitySourceId=1234567890abcdef
Obligatorio. ID de fuente de identidad para sincronizar identidades de O365.

ID de la fuente de datos de Google Cloud Search configurado por el administrador de G Suite, como se describe en Agregar fuentes de datos en las que se buscará. Este valor debe coincidir con la configuración "defaultIdentitySource" del conector de SharePoint Online.

ID de cliente de Google api.customerId=c1b1d1e1
Obligatorio. ID de cliente asociado con tu dominio de Google.

Para obtener el ID del cliente sigue las instrucciones que se mencionan aquí.

ID de la aplicación O365 o365.clientId=a63c6eb3-29e7-486

Obligatorio. ID de la aplicación para la configuración de la aplicación de O365.

Instancia de O365 o365.tenant=185ef9ed-29e7-486

Obligatorio. Instancia de tu cuenta de O365.

Secreto del cliente de O365 o365.clientSecret=raHJN15vRLBKs

Obligatorio. Credencial secreta de la configuración de la aplicación de O365

Registros del conector

Crea una carpeta llamada logs en el directorio que contiene 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 O365 APIs
    #com.google.enterprise.cloudsearch.o365.level=FINE

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

Ejecuta el conector de identidad de O365

Para ejecutar el conector, ingresa el siguiente comando:

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

8. Habilita el registro

Crea una carpeta llamada logs en el directorio que contiene 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
    

Ejemplo: archivo de configuración

En el siguiente ejemplo de archivo de configuración, se muestran los pares de parámetros key=value que definen un comportamiento del 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=https://mydomain.onmicrosoft.com
    sharepoint.siteCollectionOnly=true
    sharepoint.username=admin@mydomain.onmicrosoft.com
    sharepoint.password=pa$sw0rd
    sharepoint.formsAuthenticationMode=LIVE
    sharepoint.deploymentType=ONLINE

    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    

Ejecuta el conector de identidad de SharePoint Online

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 O365 y SharePoint a identidades en el servicio de identidades de Google Cloud. Esta sincronización se realiza a través del conector de identidad de O365 y el conector de identidad de SharePoint Online. Una vez que el conector de O365 haya sincronizado los usuarios y los grupos, ejecuta el conector de identidad de SharePoint Online, 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 el contenido. A continuación, se muestra un ejemplo:

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

    sharepoint.server=https://mydomain.onmicrosoft.com
    sharepoint.siteCollectionOnly=true
    sharepoint.username=admin@mydomain.onmicrosoft.com
    sharepoint.password=pa$sw0rd
    sharepoint.formsAuthenticationMode=LIVE
    sharepoint.deploymentType=ONLINE

    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    

Observa el agregado de la propiedad api.customerId. Para obtener el valor de customerId, sigue las instrucciones que aparecen aquí

El archivo JAR que se usa para indexar contenido también contiene el conector de identidad. Para ejecutarlo, ingresa 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 Online

Para ejecutar el conector de SharePoint Online, ingresa el siguiente comando:

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

Tema avanzado

La información que aparece en esta sección excede la configuración básica del conector de 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.