Implementar el conector de Microsoft SharePoint Online

Puede configurar Google Cloud Search para obtener resultados del contenido de SharePoint Online de su organización además de su contenido de Google Workspace. Utiliza el conector de SharePoint Online de Google Cloud Search y lo configura para acceder a una fuente de datos específica de SharePoint Online.

Consideraciones importantes

Configuración de SharePoint respetada

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 borradores de documentos, los permisos de la cuenta de usuario (que el conector usa para acceder a SharePoint Online) controlan qué borradores de documentos se indexan y devuelven. Si la cuenta solo tiene permisos de "Lectura completa", el conector respeta la configuración de "Visibilidad del elemento de borrador" en SharePoint.

También configura el conector para limitar los resultados en función del acceso a la cuenta de usuario. Para aplicar el recorte de seguridad para el contenido de SharePoint, sincroniza las siguientes identidades externas con el directorio de Google:

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

Optimización de búsqueda

Puede mejorar la experiencia de sus usuarios configurando el conector para obtener resultados de búsqueda más relevantes.

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

Para configurar un esquema, siga las instrucciones en Crear y registrar un esquema . Cuando configura un esquema:

  • 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 admitidos. Para las definiciones de objetos, la API de Cloud Search solo admite AZ, az y 0-9 como caracteres válidos. Por ejemplo, el tipo de contenido "Anuncios" se asigna a la definición de 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 alternativo ( itemMetadata.objectType ). Obtenga más información sobre los parámetros de configuración de metadatos .

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

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

Limitaciones conocidas del conector

  • Cada instancia de conector puede indexar contenido de una sola colección de sitios. Para indexar varias colecciones de sitios, configure instancias de conector adicionales.
  • El consumo de memoria aumenta con la cantidad de usuarios y grupos únicos que usa en las ACL 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 eliminó contenido del repositorio de origen.

Requisitos del sistema

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

Implementar el conector

requisitos previos

  1. Cree una clave privada de Google Workspace, que contenga su ID de cuenta de servicio. Para obtener información sobre cómo obtener una clave privada, vaya a Configurar el acceso a la API REST de Google Cloud Search .

  2. Su administrador de Google Workspace debe agregar una fuente de datos para buscar . Registre la identificación de la fuente de datos.

  3. Si el conector devuelve resultados basados ​​en LCA (los resultados no son públicos), su administrador de Google Workspace debe crear dos fuentes de identidad y proporcionarle sus ID:

    • 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 su organización y dárselo.

    Obtenga información sobre cómo obtener estos valores en Mapear identidades de usuarios en Cloud Search .

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

  5. Si el conector devuelve resultados basados ​​en ACL (los resultados no son públicos), cree credenciales para leer usuarios y grupos de su cuenta de Office 365. Siga las instrucciones de Microsoft para crear una aplicación de Azure Active Directory . Al configurar la aplicación:

    1. Asigne un nombre descriptivo a la aplicación, como "gcs-o365-identity-connector".
    2. Agregar permisos. La aplicación necesita "Group.Read.All" y "User.Read.All".
    3. Registre la siguiente información para utilizarla en la configuración del conector:
      • ID de aplicación
      • Arrendatario
      • Secreto del cliente

Paso 1. Instale el software del conector de SharePoint Online

  1. Clone el repositorio del conector desde GitHub.

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

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

    $ mvn package

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

  4. Copie el archivo zip del conector en su 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. Crear el archivo de configuración del conector de SharePoint Online

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

  2. Agregue 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, vaya a la referencia de parámetros de configuración .

  3. (Opcional) Configure parámetros de conector adicionales, según sea necesario. Para obtener más información, vaya a Parámetros de conector proporcionados por Google .

Paso 3. Configure el registro para el conector de SharePoint Online

  1. Cree una carpeta llamada logs en el mismo directorio que contiene el binario del conector.

  2. Cree un archivo codificado en Latin-1 llamado logging.properties en el mismo directorio y agregue 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. Configurar el conector de identidad de SharePoint Online

Este paso es necesario para aplicar las ACL basadas en identidad de SharePoint Online a los resultados de búsqueda. Si configura el conector con ACL públicas, puede omitir este paso.

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

  2. Agregue 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 obtuvo de su administrador de Google Workspace.

Paso 5. Instale el conector de identidad de Office 365

Este paso es necesario para aplicar las ACL basadas en identidad de SharePoint Online a los resultados de búsqueda. Si configura el conector con ACL públicas, puede omitir este paso.

  1. Clone el repositorio del conector de GitHub.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
  2. Consulte la versión deseada del conector:

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

    $ mvn package

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

  4. Copie el archivo zip del conector en su 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. Configure el conector de identidad de Office 365 y configure el registro

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

  2. Agregue 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, vaya a la referencia de configuración del conector de identidad de Office 365 .

  3. Cree una carpeta llamada logs en el mismo directorio que contiene el binario del conector.

  4. Cree un archivo ASCII o UTF-8 llamado logging.properties en el mismo directorio y agregue 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. Inicie el conector de SharePoint Online

En los siguientes pasos, asigna las entidades principales tanto en Office 365 como en la colección de sitios de SharePoint a identidades en el servicio Google 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 grupos, ejecute el conector de identidad de SharePoint Online para sincronizar los grupos de colección de sitios de SharePoint. Luego, ejecuta el conector de SharePoint Online para indexar y entregar resultados a sus usuarios de Cloud Search.

  1. Ejecute 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. Ejecute el conector de identidad de SharePoint Online:

    $ 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. Ejecute el conector de SharePoint Online:

    $ 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 parámetros de configuración

Acceso a la fuente de datos

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

Requerido. El ID de fuente de datos de Google Cloud Search configurado por el administrador de Google Workspace.

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

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

Acceso a SharePoint en línea

Entorno Parámetro
Nombre de dominio completo para la colección de sitios de SharePoint sharepoint.server= http://yoursharepoint.example.com/

Requerido. Si el nombre de dominio no está completamente calificado, configure la anulación de DNS en el host del conector.

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

Requerido. Para SharePoint Online, establezca el valor true .

Nombre de usuario de SharePoint sharepoint.username= username

Requerido. El nombre de usuario de la cuenta utilizada para acceder a SharePoint Online.

Contraseña de SharePoint sharepoint.password= user_password

Requerido. La contraseña de la cuenta utilizada para acceder a SharePoint Online.

modo de autenticación sharepoint.formsAuthenticationMode=LIVE

Requerido. Para SharePoint Online, el valor siempre es `LIVE`.

Tipo de implementación sharepoint.deploymentType=ONLINE

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

Asignación de identidad de SharePoint

Entorno Parámetro
ID de fuente de identidad api.identitySourceId= 1234567890abcdef

Requerido. 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

Requerido. Para sharePoint Online, el valor siempre es `defaultIdentitySource`.

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

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

Generación de contenido HTML

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

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

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

Una lista de campos separados por comas para incluir en el HTML generado como campos de alta calidad. Cuando los términos de la consulta de búsqueda coinciden con estos campos, los resultados se clasifican más alto.

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

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

Una lista de campos separados por comas para incluir en el HTML generado como campos de baja calidad.

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

Cómo maneja el conector las columnas no asignadas. El valor es AÑADIR (predeterminado) o IGNORAR.

  • ADJUNTAR: el conector genera contenido HTML con todos los campos, incluidos aquellos que no están configurados con un nivel de calidad (alto, medio o bajo).
  • IGNORE: el conector genera contenido HTML solo con campos asignados.

Configuración del conector de identidad de Office 365

Entorno Parámetro
ID de fuente de identidad api.identitySourceId= 1234567890abcdef

Requerido. El Id. de origen 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

Requerido. El ID de cliente de Google Workspace de su organización.

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

Requerido. La identificación de la aplicación de la configuración de la aplicación de Office 365.

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

Requerido. El arrendatario de su cuenta de Office 365 (su aplicación Azure Activity Directory)

Secreto de cliente de Office 365 o365.clientSecret= raHJN15vRLBKs

Requerido. Secreto de credencial de la configuración de la aplicación Office 365