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. Usa el conector de SharePoint Online de Cloud Search y configúralo para acceder a una fuente de datos específica de SharePoint Online.

Consideraciones importantes

Antes de implementar el conector de SharePoint Online, ten en cuenta las siguientes consideraciones.

Configuración de SharePoint respetada

El conector siempre respeta el parámetro de configuración Visibilidad de búsqueda en SharePoint. En el caso de 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 indexa y devuelve. Si la cuenta solo tiene permisos de "Lectura completa", el conector respeta la configuración de "Visibilidad del elemento en borrador".

También puedes configurar el conector para limitar los resultados según el acceso a la cuenta de usuario. Para aplicar el recorte de seguridad, sincroniza estas identidades externas con el directorio de Google Cloud:

  • 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

Mejora la experiencia de búsqueda configurando el conector para que devuelva resultados relevantes. Usa los parámetros de generación de HTML en el archivo de configuración para establecer los niveles de impacto de los campos.

Para configurar un esquema, consulta Crea y registra un esquema. Cuando configures un esquema, ten en cuenta lo siguiente:

  • El conector normaliza los tipos de contenido de SharePoint en nombres de definiciones de objetos válidos (A-Z, a-z, 0-9). Por ejemplo, "Artículo de noticias" se convierte en "ArtículoDeNoticias".
  • Si el conector no puede encontrar una definición de objeto coincidente, usa el tipo de objeto de resguardo (itemMetadata.objectType). Consulta Parámetros de configuración de metadatos.
  • El conector asigna nombres de propiedades de SharePoint a las definiciones de propiedades.
  • El conector anula el tipo de medio para los archivos .msg de Microsoft Outlook y los indexa como application/vnd.ms-outlook.

Limitaciones conocidas del conector

  • Cada instancia del conector indexa contenido de una sola colección de sitios. Para indexar varias colecciones de sitios, configura instancias adicionales.
  • El consumo de memoria aumenta con la cantidad de usuarios y grupos únicos en las LCA.
  • Las notificaciones de eliminación pueden tardar más de 4 horas en propagarse.

Requisitos del sistema

Requisitos del sistema
Sistema operativo Windows Server 2016, Ubuntu, Red Hat Enterprise Linux 5.0 o SUSE Enterprise Linux 10 (64 bits).
Autenticación Autenticación en vivo
Software Entorno de SharePoint Online y Java JRE 1.8.

Implementa el conector

Sigue estos pasos para implementar el conector de SharePoint Online.

Requisitos previos

  1. Crea una clave privada de Google Workspace. Consulta Configura el acceso a la API de Cloud Search.
  2. Agrega una fuente de datos para buscar y registrar su ID. Consulta Agrega una fuente de datos a la búsqueda.
  3. En el caso de los resultados basados en la LCA, tu administrador debe crear dos fuentes de identidad (una para Office 365 y otra para los grupos de SharePoint) y proporcionar el ID de cliente de Google Workspace. Consulta Cómo asignar identidades de usuarios.
  4. Configura una cuenta de usuario para el conector con privilegios de administrador de la colección de sitios de SharePoint Online.
  5. Crea credenciales de aplicación de Azure Active Directory con permisos de Group.Read.All y User.Read.All. Toma nota del ID de aplicación, el usuario y el secreto del cliente.

Paso 1: Instala el software del conector

  1. Clona el repositorio:
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Revisa la versión seleccionada (p.ej., v1-0.0.3):
    $ git checkout tags/v1-0.0.3
  3. Compila el conector:
    $ mvn package
    Para omitir pruebas, usa mvn package -DskipTests.
  4. Extrae el archivo ZIP en el directorio de instalación.

Paso 2: Cree el archivo de configuración

Crea sharepoint-online-connector.config en el directorio de instalación. Agrega parámetros como pares clave-valor, como se muestra en el siguiente ejemplo:

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

Consulta la referencia o los parámetros proporcionados por Google para obtener más detalles.

Paso 3: Configura el registro

Crea una carpeta logs y un archivo logging.properties con este 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

Para aplicar LCA basadas en la identidad, crea sharepoint-online-identity-connector.config con tu api.customerId y otros parámetros de conexión, como en el siguiente ejemplo:

```properties
### 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
```

Paso 5: Instala el conector de identidad de Office 365

Si usas ACL basadas en la identidad de SharePoint Online, realiza este paso. Si usas ACL públicas, omite este paso.

  1. Clona el repositorio de Office 365:

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
    
  2. Extrae y compila el conector con mvn package.

  3. Extrae el archivo ZIP en el directorio de instalación.

Paso 6: Configura el conector de identidad de Office 365

  1. En el mismo directorio que la instalación del conector de identidad, crea un archivo llamado o365-identity-connector.config y agrega parámetros como pares clave-valor:

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

    Para obtener descripciones de los parámetros, consulta Conector de identidad de Office 365.

  2. En el mismo directorio, crea una carpeta llamada logs.

  3. En el mismo directorio, crea un archivo llamado logging.properties con este 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: Cómo iniciar el conector

Después de configurar los conectores, ejecútalos para iniciar la sincronización y la indexación. Ejecuta cada comando en su propia ventana de terminal.

  1. Ejecuta el conector de identidad de Office 365 para sincronizar usuarios y grupos:

    $ 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 para sincronizar los grupos de colecciones de sitios:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-identity-connector.config
    
  3. Ejecuta el conector de SharePoint Online para indexar contenido:

    $ 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

En las siguientes secciones, se enumeran los parámetros de configuración que se usan para configurar el conector de SharePoint Online.

Acceso a la fuente de datos

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

Obligatorio. ID de la fuente de datos de Google Cloud Search configurado por el administrador de Google Workspace

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

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

Acceso a SharePoint Online

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

Solamente en el modo de colección de sitios sharepoint.siteCollectionOnly=true

Obligatorio. En el caso de SharePoint Online, establece el valor 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, el valor siempre es "LIVE".

Tipo de implementación sharepoint.deploymentType=ONLINE

Obligatorio. En el caso de SharePoint Online, el valor siempre es "ONLINE".

Asignación de identidad de SharePoint

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

Obligatorio. Es 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 siempre es "defaultIdentitySource".

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

Obligatorio. Es 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

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 de la plantilla HTML para el HTML generado

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

Lista separada por comas de los campos que se incluirán en el HTML generado como campos de alta calidad. Cuando los términos de la 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,...]

Es una lista de campos separados por comas que se incluirán 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,...]

Lista separada por comas de los campos 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 maneja el conector las columnas no asignadas. El valor es APPEND (predeterminado) o IGNORE.

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

Configuración del conector de identidad de Office 365

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

Obligatorio. Es 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. Es el ID de cliente de Google Workspace de tu organización.

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

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

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

Obligatorio. El arrendatario de tu cuenta de Office 365 (tu app de Azure Active Directory)

Secreto del cliente de Office 365 o365.clientSecret=raHJN15vRLBKs

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