Déployer le connecteur Microsoft SharePoint On-Prem

Vous pouvez configurer Google Cloud Search pour qu'il renvoie les résultats du contenu SharePoint sur site de votre organisation en plus de votre contenu Google Workspace. Utilisez le connecteur Google Cloud Search SharePoint On-Prem et configurez-le pour accéder à une source de données SharePoint spécifique.

Remarques importantes

Paramètres SharePoint honorés

Le connecteur Cloud Search SharePoint On-Prem respecte toujours le paramètre Visibilité de recherche défini dans SharePoint, qui ne peut pas être ignoré. Pour les brouillons de documents, les autorisations du compte utilisateur (utilisé par le connecteur pour accéder à SharePoint Online) contrôlent les brouillons de documents indexés et renvoyés. Si le compte dispose uniquement de l'autorisation "Lecture complète", le connecteur respecte les paramètres de visibilité des éléments de brouillon définis dans SharePoint.

Vous pouvez également configurer le connecteur pour limiter les résultats en fonction de l'accès au compte utilisateur. Vous pouvez utiliser des comptes principaux Google et externes pour définir des LCA. Pour appliquer un filtrage de sécurité au contenu SharePoint, synchronisez les identités externes suivantes avec l'annuaire Google:

  • Utilisateurs Active Directory
  • Groupes Active Directory
  • Groupes locaux SharePoint (avec des utilisateurs et des groupes Active Directory en tant que membres)

Pour synchroniser les utilisateurs et les groupes AD, vous devez utiliser Google Cloud Directory Sync, qui active les groupes avec mappage d'identité. Pour synchroniser des groupes locaux SharePoint, vous devez utiliser le connecteur d'identité SharePoint.

Le connecteur doit également effectuer une recherche avec AD afin d'extraire des informations supplémentaires pour synchroniser les comptes principaux. Par exemple, la recherche avec AD permet au connecteur d'effectuer les opérations suivantes:

  • Mappez le SID d'un groupe de domaines avec le sAMAccountName correspondant.
  • Mapper le sAMAccountName d'un utilisateur sur l'adresse e-mail pour les membres des groupes locaux SharePoint.

Optimisation du référencement

Vous pouvez améliorer l'expérience de vos utilisateurs en configurant le connecteur de sorte qu'il renvoie des résultats de recherche plus pertinents.

Pour utiliser l'API, définissez des valeurs pour les paramètres de génération HTML dans le fichier de configuration du connecteur SharePoint Online. Ces paramètres vous permettent de définir les champs qui ont un impact plus ou moins important sur les correspondances.

Pour configurer un schéma, suivez les instructions de la section Créer et enregistrer un schéma. Lorsque vous configurez un schéma:

  • Pour faire correspondre les noms des types de contenu SharePoint avec les définitions d'objet correspondantes, le connecteur normalise ces noms en excluant les caractères non acceptés. Pour les définitions d'objet, l'API Cloud Search n'accepte que les caractères A-Z, a-z et 0-9. Par exemple, le type de contenu "Annonces" correspond à la définition d'objet "Annonces". Le type de contenu "Article d'actualités" correspond à "ArticleActualités" (sans espace).

  • Lorsque le connecteur ne parvient pas à faire correspondre une définition d'objet à une définition d'objet, il utilise le type d'objet de remplacement (itemMetadata.objectType). En savoir plus sur les paramètres de configuration des métadonnées

  • Pour mapper les noms de propriétés SharePoint aux définitions de propriété, le connecteur normalise ces noms en décodant les caractères encodés en hexadécimal et en supprimant les préfixes "ows_", puis en excluant les caractères non acceptés (tous les caractères à l'exception de A-Z, a-z et 0-9).

Gestion des messages Microsoft Outlook

Lorsque le connecteur rencontre des fichiers .msg Microsoft Outlook lors de l'indexation du contenu, il remplace le type de contenu des fichiers et les indexe en tant que application/vnd.ms-outlook..

Configurations mutualisées

Si votre SharePoint est un déploiement mutualisé, dans lequel plusieurs sites de clients sont hébergés sur la même application Web, vous devez configurer le mode de collecte de sites dans le fichier de configuration. Dans les déploiements mutualisés, vous obtenez des autorisations uniquement pour votre collection de sites et vous ne pouvez pas obtenir les autorisations de lecture complète, comme l'exige le connecteur SharePoint On-Prem.

Pour activer le mode Collection de sites:

  • Attribuez au compte utilisateur du connecteur l'autorisation Administrateur de la collection de sites.
  • Dans le fichier de configuration du connecteur, définissez sharepoint.server sur l'URL de la collection de sites, par exemple http://sharepoint.example.com/sites/sitecollection. La casse de l'URL ne doit pas nécessairement être identique à celle utilisée dans SharePoint.
  • Dans le fichier de configuration du connecteur, définissez sharepoint.siteCollectionOnly sur true.

Si vous avez plusieurs collections de sites à indexer dans un environnement mutualisé, vous devez configurer une instance de connecteur pour chacune des collections de sites.

Limites connues concernant les connecteurs

  • Le temps nécessaire au connecteur pour détecter les modifications apportées aux éléments des bases de données augmente en fonction du nombre de bases de données surveillées par le connecteur.
  • La consommation de mémoire augmente avec le nombre d'utilisateurs et de groupes uniques que vous utilisez dans les LCA pour chaque collection de sites.
  • Vous ne pouvez configurer le connecteur qu'avec des identités provenant d'un seul domaine Active Directory.
  • Certains comptes principaux Active Directory et Windows courants, tels que Everyone, BUILTIN\Users et All Authenticated Users, ne sont pas compatibles.
  • Les notifications de suppression ne sont pas instantanées et un connecteur peut mettre plus de quatre heures à reconnaître qu'un utilisateur a supprimé du contenu du dépôt source.

Configuration requise

Configuration requise
Système d'exploitation
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bits)
Logiciels
  • Serveur SharePoint
    • SharePoint Server 2016
    • SharePoint Server 2013
  • Java JRE 1.8 installé sur l'ordinateur qui exécutera le connecteur Google Cloud Search SharePoint On-Prem
Authentification
  • NTLM
  • Kerberos
  • HTTP de base
  • ADFS

Déployer le connecteur

Prérequis

  1. Créez une clé privée Google Workspace contenant l'ID de votre compte de service. Pour savoir comment obtenir une clé privée, consultez Configurer l'accès à l'API Google Cloud Search.

  2. Votre administrateur Google Workspace doit ajouter une source de données à la recherche. Notez l'ID de la source de données.

  3. Si le connecteur renvoie des résultats basés sur des LCA (résultats non publics), votre administrateur Google Workspace doit créer deux sources d'identité et vous fournir leur ID:

    • Une source d'identité pour la synchronisation des utilisateurs et des groupes Active Directory.
    • Une source d'identité pour les groupes locaux SharePoint

    L'administrateur doit également obtenir le numéro client Google Workspace de votre organisation et vous le donner.

    Découvrez comment obtenir ces valeurs dans Associer des identités d'utilisateur dans Cloud Search.

  4. Dans la règle relative aux utilisateurs, configurez un compte utilisateur pour le connecteur disposant d'autorisations Lecture complète sur l'application Web SharePoint.

  5. Si l'application Web SharePoint ne possède pas de collection de sites racine, créez-en une.

  6. Si des collections de sites sont verrouillées en écriture, connectez-vous au serveur SharePoint à l'aide d'un compte disposant de droits d'administrateur, puis exécutez le script PrepareWriteLockedSites.ps1.

  7. Pour obtenir des métriques sur les sources de données qui éclaireront la configuration du connecteur, connectez-vous au serveur SharePoint à l'aide d'un compte disposant de droits d'administration de batterie de serveurs, puis exécutez la commande diagnose_sp.ps1.

    Le résultat indique le nombre d'applications Web, de documents et d'appartenances à des groupes d'utilisateurs. Ces informations vous permettent d'estimer le nombre d'instances de connecteur dont vous avez besoin, les besoins en mémoire et le nombre de documents.

Étape 1. Installer le logiciel du connecteur Google Cloud Search SharePoint On-Prem

  1. Clonez le dépôt du connecteur à partir de GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Vérifiez la version souhaitée du connecteur:

    $ git checkout tags/latest_version

    latest_version correspond à une valeur telle que v1-0.0.5.

  3. Créez le connecteur.

    $ mvn package

    Pour ignorer les tests lors de la création du connecteur, exécutez mvn package -DskipTests au lieu de mvn package.

  4. Copiez le fichier ZIP du connecteur dans votre répertoire d'installation local:

    $ cp target/google-cloudsearch-sharepoint-connector-latest_version.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-sharepoint-connector-latest_version.zip
    $ cd google-cloudsearch-sharepoint-connector-latest_version

Étape 2. Créer le fichier de configuration du connecteur SharePoint On-Prem

  1. Créez un fichier dans le même répertoire que celui d'installation du connecteur. Google vous recommande de nommer ce fichier connector-config.properties. Ainsi, aucun paramètre de ligne de commande supplémentaire n'est requis pour exécuter le connecteur. Si vous prévoyez d'exécuter plusieurs instances de connecteur, ajoutez des détails au nom pour les distinguer.

  2. Ajoutez des paramètres sous forme de paires clé/valeur aux contenus des fichiers, comme dans l'exemple suivant:

    ### Sharepoint On-Prem Connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint on-premises access
    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
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional parameters for schema mapping
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    Pour obtenir une description détaillée de chaque paramètre, consultez la documentation de référence sur les paramètres de configuration.

  3. (Facultatif) Configurez d'autres paramètres de connecteur, si nécessaire. Pour en savoir plus, consultez Paramètres de connecteur fournis par Google.

Étape 3. Ajouter SharePoint en tant qu'hôte approuvé pour HTTPS

Si SharePoint est configuré pour utiliser HTTPS, obtenez un certificat SharePoint pour l'ajouter en tant qu'hôte approuvé pour le connecteur.

  1. Sur l'ordinateur qui exécutera le connecteur, ouvrez un navigateur et accédez à SharePoint.

  2. Sur la page d'avertissement qui s'affiche, cliquez sur IUnderstanding the Risks (Je comprends les risques), puis sur Add Exception (Ajouter une exception). La page affiche un message du type "Cette connexion n'est pas approuvée", car le certificat est autosigné et non signé par une autorité de certification approuvée.

  3. Une fois que le bouton Afficher est disponible, cliquez dessus.

  4. Accédez à l'onglet Détails, puis cliquez sur Exporter.

  5. Enregistrez le certificat dans le répertoire du connecteur sous le nom sharepoint.crt.

  6. Cliquez sur Fermer, puis sur Annuler pour fermer les fenêtres.

  7. Ouvrez une invite de commande et saisissez la commande suivante:

    $ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

    Lorsque l'invite "Faire confiance à ce certificat ?" s'affiche, répondez oui.

Étape 4. Configurer la journalisation

  1. Dans le répertoire contenant le binaire du connecteur, créez un dossier nommé logs.

  2. Dans le même répertoire (et non dans logs), créez un fichier encodé en Latin1 et nommez-le logging.properties.

  3. Ajoutez le texte suivant à logging.properties:

    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
    

Étape 5 : Configurer le connecteur d'identité SharePoint On-Prem

Cette étape est nécessaire pour appliquer les LCA d'identité SharePoint On-Prem aux résultats de recherche. Si vous avez configuré le connecteur avec des LCA publiques, vous pouvez ignorer cette étape.

  1. Dans le même répertoire que celui de l'installation du connecteur SharePoint Online, créez un fichier et nommez-le sharepoint-onprem-identity-connector.config.

  2. Ajoutez des paramètres sous forme de paires clé/valeur aux contenus des fichiers, comme dans l'exemple suivant:

    ### SharePoint On-prem identity connector configuration ###
    
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint access
    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
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    Les valeurs sont presque les mêmes que pour le connecteur SharePoint On-Prem, si ce n'est que le paramètre est api.customerId au lieu de api.sourceId. La valeur de api.customerId correspond au numéro client que vous avez obtenu auprès de votre administrateur Google Workspace.

Étape 6 : Lancer le connecteur SharePoint On-Prem

Dans les étapes suivantes, vous allez mapper les comptes principaux d'Active Directory sur site et de la collection de sites SharePoint sur les identités du service Cloud Identity. Cette synchronisation s'effectue à l'aide de Google Cloud Directory Sync (GCDS) et du connecteur d'identité SharePoint On-Prem.

Une fois que GCDS a synchronisé les utilisateurs et les groupes, exécutez le connecteur d'identité SharePoint On-Prem pour synchroniser les groupes de la collection de sites SharePoint. Enfin, exécutez le connecteur SharePoing On-Prem pour indexer et transmettre les résultats à vos utilisateurs Cloud Search.

  1. Si vous ne l'avez pas déjà fait, configurez et exécutez GCDS. Veillez à activer les groupes de mappage d'identité.

  2. Exécutez le connecteur d'identité SharePoint On-Prem:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-onprem-identity-connector.config
  3. Exécutez le connecteur SharePoint On-Prem. Utilisez la syntaxe de commande pour assurer la sécurité de votre site SharePoint:

    • HTTP (aucun hôte de confiance requis):

      $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
    • HTTPS (ajoutez SharePoint en tant qu'hôte approuvé):

      $ 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-version.jar

Documentation de référence sur les paramètres de configuration

Accès à la source de données

Paramètre Paramètres
ID de la source de données api.sourceId=1234567890abcdef

Obligatoire. ID de la source de données Google Cloud Search configuré par l'administrateur Google Workspace.

Chemin d'accès au fichier contenant la clé privée du compte de service api.serviceAccountPrivateKeyFile=PrivateKey.json

Obligatoire. Chemin d'accès au fichier de clé du compte de service Google Cloud Search.

Accès sur site à SharePoint

Paramètre Paramètres
URL du serveur SharePoint sharepoint.server=http://yoursharepoint.example.com/

Obligatoire. URL du serveur SharePoint en tant que nom d'hôte complet, tel que http://votrepointdepartage.example.com/. Si le nom d'hôte n'est pas complet, vous devez définir le remplacement DNS sur l'hôte du connecteur.

Nom d'utilisateur SharePoint sharepoint.username=YOURDOMAIN\\ConnectorUser

Obligatoire lorsque vous exécutez le connecteur sous Linux ou sur une machine Windows n'appartenant pas au domaine Active Directory de SharePoint Server.

Mot de passe SharePoint sharepoint.password=user_password

Obligatoire lorsque vous exécutez le connecteur sous Linux ou sur une machine Windows n'appartenant pas au domaine Active Directory de SharePoint Server.

Utiliser Live Authentication pour la connexion à SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

Utiliser l'authentification ADFS pour la connexion à SharePoint sharepoint.username=AdaptorUser@yourdomain.com

sharepoint.password=uS3R_passWoRD

sharepoint.sts.endpoint=https://adfs.example.com/adfs/services/trust/2005/usernamemixed

sharepoint.sts.realm=urn:myserver:sharepoint ou https://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

Indexation de la collection de sites

Paramètre Paramètres
Type d'index sharepoint.siteCollectionOnly=boolean

Facultatif, sauf pour les déploiements SharePoint mutualisés (en savoir plus). Définissez la valeur sur "true" pour que le connecteur indexe sharepoint.server en tant que collection de sites et non en tant que serveur virtuel. La valeur par défaut est "null" (détecté automatiquement).

Mappage d'identité SharePoint

Paramètre Paramètres
ID de la source d'identité api.identitySourceId=1234567890abcdef

Obligatoire. ID de la source d'identité pour la synchronisation des groupes locaux SharePoint.ID de la source Google Cloud Search configuré par l'administrateur Google Workspace, comme décrit dans Ajouter une source de données à la recherche.

Sources d'identité de référence api.referenceIdentitySources=CONTOSO,contoso

Liste de sources d'identité de référence séparées par une virgule pour les comptes principaux Active Directory. La valeur correspond au nom NETBIOS Active Directory des comptes principaux Active Directory de référence.

ID des sources d'identité de référence api.referenceIdentitySource.DOMAIN.id=identity-source-id

Obligatoire. ID de la source d'identité pour la synchronisation des comptes principaux Active Directory.

Recherche Active Directory

Paramètre Paramètres
Hôte Active Directory adLookup.host=host

Obligatoire. Nom d'hôte Active Directory, tel que dc.contoso.com, ou adresse IP.

Port de recherche Active Directory adLookup.port=port

Facultatif. La valeur par défaut est 389. Utilisez la valeur 686 pour SSL.

Méthode de recherche Active Directory adLookup.method=value

Facultatif. La valeur par défaut est "standard". Pour les connexions HTTPS, définissez-la sur "ssl".

Utilisateur de recherche Active Directory adLookup.username=CONTOSO\user1

Obligatoire. Utilisateur autorisé à effectuer des recherches Active Directory.

Mot de passe de recherche Active Directory adLookup.password=password123

Obligatoire. Mot de passe de l'utilisateur spécifié par adLookup.user.

Génération de contenu HTML

Paramètre Paramètres
Champ de titre du modèle HTML contentTemplate.sharePointItem.title=Title

Champ "SharePoint" à utiliser comme titre du modèle HTML pour le code HTML généré.

Champs de qualité de recherche élevée pour le contenu HTML contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

Liste de champs séparés par une virgule à inclure dans le code HTML généré en tant que champs de haute qualité. Lorsque les termes de la requête de recherche correspondent à ces champs, les résultats sont mieux classés.

Champs de qualité de recherche de support de contenu HTML contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

Liste de champs séparés par une virgule à inclure dans le code HTML généré en tant que champs de qualité moyenne.

Champs de faible qualité de recherche du contenu HTML contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

Liste de champs séparés par une virgule à inclure dans le code HTML généré en tant que champs de faible qualité.

Colonnes non mappées du contenu HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

Façon dont le connecteur gère les colonnes non mappées La valeur est APPEND (par défaut) ou IGNORE.

  • APPEND : le connecteur génère du contenu HTML avec tous les champs, y compris ceux dont le niveau de qualité n'est pas défini (élevé, moyen ou faible).
  • IGNORER : le connecteur génère du contenu HTML avec uniquement des champs mappés.