Implementa el conector de Microsoft SharePoint Online

Puedes configurar Google Cloud Search para que muestre resultados del contenido de SharePoint Online de tu organización, además del contenido de Google Workspace. Debes usar el conector de SharePoint Online de Google Cloud Search y configurarlo para acceder a una fuente de datos específica de SharePoint Online.

Consideraciones importantes

Configuración de SharePoint reconocida

El conector de SharePoint Online de Cloud Search siempre respeta la configuración de Visibilidad de búsqueda en SharePoint, que no se puede anular. Para los documentos en borrador, los permisos de la cuenta de usuario (que el conector usa para acceder a SharePoint Online) controlan qué documentos en borrador se indexan y se muestran. Si la cuenta solo tiene permisos de "lectura completa", el conector respeta la configuración de "visibilidad del elemento en borrador" en SharePoint.

También configurarás el conector para limitar los resultados en función del acceso a las cuentas de usuario. Si deseas aplicar el recorte de seguridad para el contenido de SharePoint, sincroniza las siguientes identidades externas con el directorio de Google:

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

Optimización de la búsqueda

Puedes mejorar la experiencia de los usuarios configurando el conector para que muestre resultados de la búsqueda más relevantes.

Para usar la API, establece los valores de los parámetros de generación de HTML en el archivo de configuración del conector de SharePoint Online. Estos parámetros te permiten establecer qué campos tienen un impacto mayor o menor en las coincidencias.

Para configurar un esquema, sigue las instrucciones en Crea y registra un esquema. Cuando configuras un esquema, sucede lo siguiente:

  • Para asignar los nombres de los tipos de contenido de SharePoint a las definiciones de objetos correspondientes, el conector normaliza los nombres de los tipos de contenido excluyendo los caracteres no compatibles. Para las definiciones de objetos, la API de Cloud Search solo admite A-Z, a-z y 0-9 como caracteres válidos. Por ejemplo, el tipo de contenido “Avisos” se asigna a la definición del objeto “Anuncios”. El tipo de contenido "Artículo de noticias" se asigna a "Artículo de noticias" (sin espacio).

  • Cuando el conector no puede hacer coincidir una definición de objeto con una definición de objeto, el conector usa el tipo de objeto de resguardo (itemMetadata.objectType). Obtén más información sobre los parámetros de configuración de metadatos.

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

  • Cuando el conector encuentra archivos .msg de Microsoft Outlook a medida que indexa el contenido, anula el tipo de contenido de los archivos y los indexa como application/vnd.ms-outlook..

Limitaciones conocidas del conector

  • Cada instancia del conector puede indexar contenido de una sola colección de sitios. Para indexar varias colecciones de sitios, configura instancias de conector adicionales.
  • El consumo de memoria aumenta con la cantidad de usuarios y grupos únicos que usas en las LCA para cada colección de sitios.
  • Las notificaciones de eliminación no son instantáneas y un conector puede tardar más de 4 horas en reconocer que un usuario borró contenido del repositorio de código fuente.

Requisitos del sistema

Requisitos del sistema
Sistema operativo
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bits)
Autenticación
  • Autenticación en vivo
Software
  • Entorno de SharePoint Online
  • Java JRE 1.8 instalado en la computadora que ejecutará el conector de SharePoint Online de Google Cloud Search

Implementa el conector

Requisitos previos

  1. Crea una clave privada de Google Workspace que contenga el ID de tu cuenta de servicio. Si deseas aprender a obtener una clave privada, consulta Cómo configurar el acceso a la API de Google Cloud Search.

  2. Tu administrador de Google Workspace debe agregar una fuente de datos para realizar la búsqueda. Registra el ID de la fuente de datos.

  3. Si el conector muestra resultados basados en LCA (los resultados no son públicos), tu administrador de Google Workspace debe crear dos fuentes de identidad y proporcionarte sus IDs:

    • uno para usuarios y grupos de Office 365
    • uno para grupos de SharePoint

    El administrador también debe obtener el ID de cliente de Google Workspace de tu organización y dártelo.

    Descubre cómo obtener estos valores en Asigna identidades de usuario en Cloud Search.

  4. Configura una cuenta de usuario para el conector que tiene privilegios de administrador de la colección de sitios de SharePoint Online.

  5. Si el conector devuelve resultados basados en LCA (los resultados no son públicos), crea credenciales para leer usuarios y grupos desde tu cuenta de Office 365. Sigue las instrucciones de Microsoft para crear una aplicación de Azure Active Directory. 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 app necesita "Group.Read.All" y "User.Read.All".
    3. Registra la siguiente información para usarla en la configuración del conector:
      • ID de aplicación
      • Usuario
      • Secreto del cliente

Paso 1. Instala el software del conector de SharePoint Online

  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 compiles 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

Paso 2: Crea el archivo de configuración del conector de SharePoint Online

  1. En el mismo directorio que la instalación del conector, crea un archivo nuevo y asígnale el nombre sharepoint-online-connector.config. Si planeas ejecutar muchas instancias del conector, agrega más detalles al nombre para distinguirlo.

  2. Agrega parámetros como pares clave-valor al contenido del archivo, como en el siguiente ejemplo:

    ### SharePoint Online connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    
    # Required parameters for SharePoint Online access
    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
    
    # SharePoint identity mapping parameters
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional SharePoint List Item metadata parameters
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    Para obtener descripciones detalladas de cada parámetro, consulta la referencia de los parámetros de configuración.

  3. (Opcional) Configura los parámetros adicionales del conector según sea necesario. Para obtener más información, consulta los parámetros de conectores proporcionados por Google.

Paso 3: Configura el registro para el conector de SharePoint Online

  1. Crea una carpeta llamada logs en el mismo directorio en el que se encuentra el objeto binario del conector.

  2. Crea un archivo con codificación latino-1 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
    

Paso 4: Configura el conector de identidad de SharePoint Online

Este paso es obligatorio para aplicar las LCA basadas en la identidad de SharePoint Online a los resultados de la búsqueda. Si configuraste el conector con LCA públicas, puedes omitir este paso.

  1. En el mismo directorio que la instalación del conector de SharePoint Online, crea un archivo nuevo y asígnale el nombre sharepoint-online-identity-connector.config.

  2. Agrega parámetros como pares clave-valor al contenido del archivo, como en el siguiente ejemplo:

    ### SharePoint Online identity connector configuration ###
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    
    # Required parameters for SharePoint Online access
    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
    
    # SharePoint identity mapping parameters
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    Los valores son casi los mismos que para el conector de SharePoint Online, excepto que, en lugar de api.sourceId, el parámetro es api.customerId. El valor de api.customerId es el ID de cliente que le proporcionó su administrador de Google Workspace.

Paso 5: Instala el conector de identidad de Office 365

Este paso es obligatorio para aplicar las LCA basadas en la identidad de SharePoint Online a los resultados de la búsqueda. Si configuraste el conector con LCA públicas, puedes omitir este paso.

  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 compiles 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

Paso 6. Configurar el conector de identidad de Office 365 y configurar el registro

  1. En el mismo directorio que la instalación del conector de identidad, crea un archivo nuevo y asígnale el nombre o365-identity-connector.config.

  2. Agrega parámetros como pares clave-valor al contenido del archivo, como en el siguiente ejemplo. Nota: Todos los parámetros son obligatorios.

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=12345abcde api.customerId=abcde12345 o365.clientId=a63c6eb3-29e7-486 o365.tenant=185ef9ed-29e7-486 o365.clientSecret=raHJN15vRLBKs

    Para obtener descripciones detalladas de cada parámetro, consulta la referencia de configuración del conector de identidad de Office 365.

  3. Crea una carpeta llamada logs en el mismo directorio en el que se encuentra el objeto binario del conector.

  4. 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 Office 365 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
    

Paso 7: Inicia el conector de SharePoint Online

En los siguientes pasos, asignarás los principales de Office 365 y la colección de sitios de SharePoint a las identidades en el servicio de Cloud Identity. Esta sincronización se realiza con el conector de identidad de Office 365 y el conector de identidad de SharePoint Online.

Después de que el conector de Office 365 sincronice los usuarios y los grupos, ejecuta el conector de identidad de SharePoint Online para sincronizar los grupos de colecciones de sitios de SharePoint. Luego, ejecutarás el conector de SharePoint Online para indexar y entregar resultados a tus usuarios de Cloud Search.

  1. Ejecuta el conector de identidad de Office 365:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
  2. Ejecuta el conector de identidad de SharePoint Online con el siguiente comando:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-online-identity-connector.config
  3. Ejecuta el conector de SharePoint Online con el siguiente comando:

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

Referencia de los parámetros de configuración

Acceso a la fuente de datos

Parámetro de 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 Google Workspace.

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

Obligatorio. La ruta de acceso al archivo de claves de la cuenta de servicio de Google Cloud Search.

Acceso a SharePoint Online

Parámetro de 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á completamente calificado, configura la anulación de DNS en el host del conector.

Modo de solo colección de sitios sharepoint.siteCollectionOnly=true

Obligatorio. En SharePoint Online, configura el valor true.

Nombre de usuario de SharePoint sharepoint.username=username

Obligatorio. El nombre de usuario de la cuenta que se usa para acceder a SharePoint Online.

Contraseña de SharePoint sharepoint.password=user_password

Obligatorio. La contraseña de la cuenta que se usa para acceder a SharePoint Online.

Modo de autenticación sharepoint.formsAuthenticationMode=LIVE

Obligatorio. Para SharePoint Online, el valor siempre es "LIVE".

Tipo de implementación sharepoint.deploymentType=ONLINE

Obligatorio. Para SharePoint Online, el valor siempre es "EN LÍNEA".

Asignación de identidad de SharePoint

Parámetro de configuración Parámetro
ID de la fuente de identidad api.identitySourceId=1234567890abcdef

Obligatorio. El ID de la fuente de identidad de Cloud Search para la fuente de identidad de los grupos de SharePoint.

Fuentes de identidad de referencia api.referenceIdentitySources=defaultIdentitySource

Obligatorio. Para SharePoint Online, el valor es siempre `defaultIdentitySource`.

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

Obligatorio. El ID de la fuente de identidad de Cloud Search para la fuente de identidad de usuarios y grupos de Office 365.

Generación de contenido HTML

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

El campo de SharePoint que se debe usar como título de la plantilla HTML para el HTML generado.

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

Una lista de campos separados por comas que se incluirán en el HTML generado como campos de alta calidad. Cuando los términos de búsqueda coinciden con estos campos, los resultados se clasifican en una posición superior.

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

Una lista de campos separados por comas 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,...]

Una lista de campos separados por comas que se incluirán en el HTML generado como campos de baja calidad.

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

Cómo controla el conector las columnas sin asignar. El valor es APPEND (predeterminado) o IGNORE.

  • ADJUNTO: El conector genera contenido HTML con todos los campos, incluidos los que no se establecen con un nivel de calidad (alto, medio o bajo).
  • IGNORE: el conector genera contenido HTML con solo campos asignados.

Configuración del conector de identidad de Office 365

Parámetro de configuración Parámetro
ID de la fuente de identidad api.identitySourceId=1234567890abcdef

Obligatorio. El ID de la fuente de identidad de Office 365. Este valor debe coincidir con el valor de “api.referenceIdentitySource.defaultIdentitySource.id” en la configuración del conector de SharePoint Online.

ID de cliente de Google api.customerId=c1b1d1e1

Obligatorio. El ID de cliente de Google Workspace de tu organización.

ID de aplicación de Office 365 o365.clientId=a63c6eb3-29e7-486

Obligatorio. El ID de la aplicación de la configuración de la aplicación de Office 365.

Usuario de Office 365 o365.tenant=185ef9ed-29e7-486

Obligatorio. El usuario de tu cuenta de Office 365 (tu app de Azure Activity Directory)

Secreto de cliente de Office 365 o365.clientSecret=raHJN15vRLBKs

Obligatorio. Credencial secreta de la configuración de la aplicación de Office 365