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:
- Clave privada de G Suite (que contiene el ID de cuenta de servicio). Para obtener más información sobre cómo conseguir una clave privada, consulta Configura el acceso a la API de REST de Google Cloud Search.
- El ID de fuente de datos de G Suite. Para obtener más información sobre cómo conseguir un ID de fuente de datos, consulta Añadir fuentes de datos en las que se buscará.
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:
- Instala el software del conector de SharePoint On-Prem de Google Cloud Search.
- Especifica la configuración del conector de SharePoint On-Prem.
- Configura el acceso a la fuente de datos de Google Cloud Search.
- Configura el acceso a SharePoint On-Prem.
- Agrega SharePoint como un host confiable.
- Configura las colecciones de sitios.
- Habilita el registro.
- Configura la asignación de identidad de SharePoint con Google Cloud Search.
- Configura la búsqueda de Active Directory.
- 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
Clona el repositorio del conector desde GitHub.
$ git clone https://github.com/google-cloudsearch/sharepoint-connector.git $ cd sharepoint-connector
Cambia a la versión deseada del conector:
$ git checkout tags/v1-0.0.3
Compila el conector.
$ mvn package
Para omitir las pruebas cuando compilas el conector, ejecuta
mvn package -DskipTests
en lugar demvn package
.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
|
Usa la autenticación de ADFS para conectarte a SharePoint | sharepoint.username=AdaptorUser@yourdomain.com
|
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 sí.
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 |
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
8. Configura la asignación de identidad de SharePoint con 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 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 |
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, comohttp://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
), configurasharepoint.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
.