Esegui il deployment del connettore Microsoft SharePoint on-prem

Puoi configurare Google Cloud Search in modo che restituisca risultati dai contenuti on-premise di SharePoint della tua organizzazione oltre ai tuoi contenuti di Google Workspace. Puoi utilizzare il connettore Google Cloud Search SharePoint On-Prem e configurarlo per accedere a un'origine dati di SharePoint specifica.

Considerazioni importanti

Impostazioni di SharePoint rispettate

Il connettore SharePoint On-Prem di Cloud Search rispetta sempre l'impostazione Visibilità nella ricerca su SharePoint, che non può essere ignorata. Per le bozze di documenti, le autorizzazioni nell'account utente (utilizzato dal connettore per accedere a SharePoint Online) controllano quali bozze di documenti vengono indicizzate e restituite. Se l'account dispone solo delle autorizzazioni di "Lettura completa", il connettore rispetta le impostazioni di "Visibilità degli elementi in bozza" su SharePoint.

Puoi anche configurare il connettore per limitare i risultati in base all'accesso all'account utente. Puoi usare le entità Google e quelle esterne per definire gli ACL. Per applicare la limitazione della sicurezza ai contenuti di SharePoint, sincronizza le seguenti identità esterne con la directory Google:

  • Utenti di Active Directory
  • Gruppi Active Directory
  • Gruppi locali di SharePoint (con utenti e gruppi di Active Directory come membri)

Per sincronizzare gli utenti e i gruppi di Active Directory, utilizza Google Cloud Directory Sync, che abilita i gruppi con mappatura delle identità. Per sincronizzare i gruppi locali di SharePoint, utilizza SharePoint Identity Connector.

Il connettore deve inoltre eseguire una ricerca con AD per recuperare ulteriori informazioni e sincronizzare le entità. Ad esempio, la ricerca con AD consente al connettore di eseguire queste operazioni:

  • Mappa il SID di un gruppo di dominio al sAMAccountName corrispondente.
  • Mappa sAMAccountName di un utente all'indirizzo email per le iscrizioni ai gruppi locali di SharePoint.

Ottimizzazione della ricerca

Puoi migliorare l'esperienza degli utenti configurando il connettore in modo che restituisca risultati di ricerca più pertinenti.

Per utilizzare l'API, imposta i valori per i parametri di generazione HTML nel file di configurazione del connettore SharePoint Online. Questi parametri ti consentono di impostare i campi che hanno un impatto maggiore o minore sulle corrispondenze.

Per impostare uno schema, segui le istruzioni riportate in Creare e registrare uno schema. Quando imposti uno schema:

  • Per mappare i nomi dei tipi di contenuto SharePoint alle definizioni di oggetti corrispondenti, il connettore normalizza i nomi dei tipi di contenuto escludendo i caratteri non supportati. Per le definizioni degli oggetti, l'API Cloud Search supporta solo i caratteri validi A-Z, a-z e 0-9. Ad esempio, il tipo di contenuti "Annunci" viene mappato alla definizione dell'oggetto "Annunci". Il tipo di contenuti "News Article" è mappato a "NewsArticle" (senza spazio).

  • Quando il connettore non riesce a far corrispondere una definizione di oggetto a una definizione di oggetto, utilizza il tipo di oggetto di riserva (itemMetadata.objectType). Scopri di più sui parametri di configurazione dei metadati.

  • Per mappare i nomi delle proprietà SharePoint alle definizioni delle proprietà, il connettore normalizza i nomi delle proprietà decodificando i caratteri con codifica esadecimale e rimuovendo i prefissi "ows_", quindi escludendo i caratteri non supportati (tutti i caratteri tranne A-Z, a-z e 0-9 come caratteri validi).

Gestione dei messaggi di Microsoft Outlook

Quando il connettore rileva file .msg di Microsoft Outlook durante l'indicizzazione dei contenuti, sostituisce il tipo di supporto per i file e li indicizza come application/vnd.ms-outlook.

Configurazioni multi-tenant

Se SharePoint è un deployment multi-tenant in cui più siti dei clienti sono ospitati sulla stessa applicazione web, devi configurare la modalità di raccolta dei siti nel file di configurazione. Nei deployment multi-tenant, hai le autorizzazioni solo per la raccolta di siti e non puoi ottenere le autorizzazioni di Lettura completa, come richiesto dal connettore SharePoint On-Prem.

Per attivare la modalità di raccolta dei siti:

  • Assegna all'account utente del connettore le autorizzazioni di amministratore della raccolta siti.
  • Imposta sharepoint.server nel file di configurazione del connettore sull'URL della raccolta siti, ad esempio http://sharepoint.example.com/sites/sitecollection. Non è necessario che per l'URL venga utilizzato lo stesso caso di SharePoint.
  • Imposta sharepoint.siteCollectionOnly nel file di configurazione del connettore su true.

Se disponi di più raccolte siti da indicizzare in un ambiente multi-tenant, devi configurare un'istanza del connettore per ogni raccolta di siti.

Limitazioni note del connettore

  • Il tempo necessario al connettore per rilevare le modifiche apportate agli elementi nei database aumenta con il numero di database monitorati dal connettore.
  • Il consumo della memoria aumenta con il numero di utenti e gruppi unici utilizzati negli ACL per ogni raccolta di siti.
  • Puoi configurare il connettore con identità di un solo dominio Active Directory.
  • Alcune entità comuni di Active Directory e Windows, come Everyone, BUILTIN\Users e All Authenticated Users, non sono supportate.
  • Le notifiche di eliminazione non sono istantanee e possono essere necessarie più di 4 ore prima che un connettore riconosca che un utente ha eliminato contenuti dal repository di origine.

Requisiti di sistema

Requisiti di sistema
Sistema operativo
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux (RHEL) 5.0
  • SUSE Enterprise Linux 10 (64 bit)
Software
  • Server SharePoint
    • SharePoint Server 2016
    • SharePoint Server 2013
  • Java JRE 1.8 installato sul computer che eseguirà il connettore Google Cloud Search SharePoint On-Prem
Autenticazione
  • NTLM
  • Kerberos
  • HTTP di base
  • ADFS

Esegui il deployment del connettore

Prerequisiti

  1. Crea una chiave privata di Google Workspace contenente il tuo ID account di servizio. Per informazioni su come ottenere una chiave privata, consulta Configurare l'accesso all'API Google Cloud Search.

  2. L'amministratore di Google Workspace deve aggiungere un'origine dati per la ricerca. Registrare l'ID origine dati.

  3. Se il connettore restituisce risultati in base ad ACL (i risultati non sono pubblici), l'amministratore di Google Workspace deve creare due origini identità e fornirti i relativi ID:

    • Un'origine identità per la sincronizzazione di utenti e gruppi di Active Directory.
    • Un'origine identità per i gruppi locali di SharePoint

    Inoltre, deve ottenere l'ID cliente Google Workspace della tua organizzazione e fornirlo.

    Scopri come ottenere questi valori in Mappare le identità degli utenti in Cloud Search.

  4. Configura un account utente per il connettore che disponga delle autorizzazioni di lettura completa per l'applicazione web SharePoint nei criteri relativi agli utenti.

  5. Se l'applicazione web SharePoint non dispone di una raccolta di siti radice, creane una.

  6. Se alcune raccolte di siti sono bloccate alla scrittura, accedi al server SharePoint con un account che dispone dei privilegi amministrativi ed esegui lo script PrepareWriteLockedSites.ps1.

  7. Per ottenere le metriche dell'origine dati per definire la configurazione del connettore, accedi al server SharePoint con un account che dispone dei privilegi di amministrazione della farm ed esegui diagnose_sp.ps1.

    L'output riporta il numero di applicazioni web, documenti e iscrizioni a gruppi di utenti. Utilizza queste informazioni per stimare il numero di istanze del connettore necessarie, i requisiti di memoria e il numero di documenti.

Passaggio 1. Installa il software del connettore Google Cloud Search SharePoint On-Prem.

  1. Clona il repository del connettore da GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Verifica la versione del connettore che ti interessa:

    $ git checkout tags/latest_version

    Dove: latest_version = un valore come v1-0.0.5

  3. Crea il connettore.

    $ mvn package

    Per saltare i test quando crei il connettore, esegui mvn package -DskipTests anziché mvn package.

  4. Copia il file ZIP del connettore nella directory di installazione locale:

    $ 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

Passaggio 2. Crea il file di configurazione del connettore SharePoint On-Prem

  1. Nella stessa directory in cui si trova l'installazione del connettore, crea un file. Google consiglia di assegnare al file il nome connector-config.properties in modo che non siano necessari parametri aggiuntivi della riga di comando per eseguire il connettore. Se prevedi di eseguire molte istanze del connettore, aggiungi dettagli al nome per distinguerlo.

  2. Aggiungi i parametri come coppie chiave/valore ai contenuti del file, come nell'esempio seguente:

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

    Per una descrizione dettagliata di ciascun parametro, consulta la documentazione di riferimento sui parametri di configurazione.

  3. (Facoltativo) Configura parametri aggiuntivi del connettore in base alle esigenze. Per maggiori dettagli, consulta i parametri dei connettori forniti da Google.

Passaggio 3. Per HTTPS, aggiungi SharePoint come host attendibile

Se SharePoint è configurato per utilizzare HTTPS, ottieni un certificato SharePoint da aggiungere come host attendibile per il connettore.

  1. Sul computer su cui verrà eseguito il connettore, apri un browser e vai a SharePoint.

  2. Nella pagina di avviso che si apre, fai clic su Comprendo i rischi e Aggiungi eccezione. Nella pagina viene visualizzato un messaggio del tipo "Questa connessione non è attendibile" perché il certificato è autofirmato e non è firmato da un'autorità di certificazione attendibile.

  3. Fai clic sul pulsante Visualizza disponibile.

  4. Vai alla scheda Dettagli e fai clic su Esporta.

  5. Salva il certificato nella directory del connettore con il nome sharepoint.crt.

  6. Fai clic su Chiudi e poi su Annulla per chiudere le finestre.

  7. Apri un prompt dei comandi e inserisci questo comando:

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

    Quando viene visualizzato il messaggio "Questo certificato è attendibile?", rispondi yes.

Passaggio 4. Configura il logging

  1. Nella directory che contiene il programma binario del connettore, crea una cartella denominata logs.

  2. Nella stessa directory (non logs), crea un file con codifica Latin1 denominato logging.properties.

  3. Aggiungi il seguente testo a 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
    

Passaggio 5: configura il connettore di identità SharePoint On-Prem

Questo passaggio è necessario per applicare ACL basati su identità SharePoint On-Prem basati su identità ai risultati di ricerca. Se hai configurato il connettore con ACL pubblici, puoi saltare questo passaggio.

  1. Nella stessa directory dell'installazione del connettore SharePoint Online, crea un file e assegnagli il nome sharepoint-onprem-identity-connector.config.

  2. Aggiungi i parametri come coppie chiave/valore ai contenuti del file, come nell'esempio seguente:

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

    I valori sono quasi gli stessi del connettore SharePoint On-Prem, tranne per il fatto che, invece di api.sourceId, il parametro è api.customerId. Il valore api.customerId corrisponde all'ID cliente che hai ricevuto dall'amministratore di Google Workspace.

Passaggio 6: avvia il connettore SharePoint On-Prem

Nei passaggi successivi, Mappare le entità sia nell'Active Directory on-premise che nella raccolta di siti SharePoint alle identità nel servizio Cloud Identity. La sincronizzazione avviene tramite Google Cloud Directory Sync (GCDS) e il connettore di identità SharePoint On-Prem.

Dopo che GCDS ha sincronizzato utenti e gruppi, per sincronizzare i gruppi di raccolta siti di SharePoint, esegui il connettore di identità SharePoint On-Prem. Infine, esegui il connettore SharePoing On-Prem per indicizzare e fornire i risultati ai tuoi utenti Cloud Search.

  1. Se non l'hai già fatto, configura ed esegui GCDS. Assicurati di abilitare i gruppi con mappatura delle identità.

  2. Esegui il connettore di 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. Esegui il connettore SharePoint On-Prem. Utilizza la sintassi dei comandi per la sicurezza del tuo sito SharePoint:

    • HTTP (non è richiesto un host attendibile):

      $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
    • HTTPS (aggiungi SharePoint come host attendibile):

      $ 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

Riferimento per i parametri di configurazione

Accesso all'origine dati

Impostazione Parametro
ID origine dati api.sourceId=1234567890abcdef

Obbligatoria. L'ID origine dati di Google Cloud Search configurato dall'amministratore di Google Workspace.

Percorso del file della chiave privata dell'account di servizio api.serviceAccountPrivateKeyFile=PrivateKey.json

Obbligatoria. Percorso del file della chiave dell'account di servizio di Google Cloud Search.

Accesso a SharePoint on-premise

Impostazione Parametro
URL del server SharePoint sharepoint.server=http://yoursharepoint.example.com/

Obbligatoria. L'URL del server SharePoint come nome host completo, ad esempio http://yoursharepoint.example.com/. Se il nome host non è completo, devi impostare l'override del DNS sull'host del connettore.

Nome utente SharePoint sharepoint.username=YOURDOMAIN\\ConnectorUser

Obbligatorio quando esegui il connettore su Linux o su un computer Windows che non fa parte del dominio SharePoint Server AD.

Password SharePoint sharepoint.password=user_password

Obbligatorio quando esegui il connettore su Linux o su un computer Windows che non fa parte del dominio SharePoint Server AD.

Usare l'autenticazione in tempo reale per connettersi a SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

usa l'autenticazione ADFS per connettersi a 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 o https://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

Indicizzazione delle raccolte di siti

Impostazione Parametro
Tipo di indice sharepoint.siteCollectionOnly=boolean

(Facoltativo) Ad eccezione dei deployment di SharePoint multi-tenant (scopri di più). Imposta il valore true in modo che l'indice del connettore sharepoint.server sia impostato su una raccolta di siti e non come un server virtuale. Il valore predefinito è nullo (rilevato automaticamente).

Mappatura delle identità SharePoint

Impostazione Parametro
ID origine identità api.identitySourceId=1234567890abcdef

Obbligatoria. ID origine identità per la sincronizzazione di gruppi locali SharePoint.L'ID origine di Google Cloud Search configurato dall'amministratore di Google Workspace, come descritto in Aggiungere un'origine dati per la ricerca.

Origini identità di riferimento api.referenceIdentitySources=CONTOSO,contoso

Un elenco delimitato da virgole di origini identità di riferimento per le entità Active Directory. Il valore corrisponde al nome NETBIOS di Active Directory delle entità di Active Directory di riferimento.

ID origine identità di riferimento api.referenceIdentitySource.DOMAIN.id=identity-source-id

Obbligatoria. L'ID origine identità per la sincronizzazione delle entità di Active Directory.

Ricerca Active Directory

Impostazione Parametro
Host Active Directory adLookup.host=host

Obbligatoria. Nome host Active Directory, ad esempio dc.contoso.com o indirizzo IP.

Porta di ricerca di Active Directory adLookup.port=port

Campo facoltativo. Il valore predefinito è 389. Utilizza 686 per SSL.

Metodo di ricerca di Active Directory adLookup.method=value

Campo facoltativo. Il valore predefinito è "standard". Per le connessioni HTTPS, impostalo su "ssl".

Utente ricerca Active Directory adLookup.username=CONTOSO\user1

Obbligatoria. Utente autorizzato a eseguire ricerche nella directory attiva.

Password di ricerca di Active Directory adLookup.password=password123

Obbligatoria. Password per l'utente specificato da adLookup.user.

Generazione di contenuti HTML

Impostazione Parametro
Campo titolo modello HTML contentTemplate.sharePointItem.title=Title

Il campo SharePoint da utilizzare come titolo del modello HTML per l'HTML generato.

Campi con contenuti HTML di alta qualità di ricerca contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

Un elenco di campi separati da virgole da includere nel codice HTML generato come campi di alta qualità. Quando i termini della query di ricerca corrispondono a questi campi, il ranking dei risultati è più elevato.

Campi qualità ricerca media contenuti HTML contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

Un elenco di campi separati da virgole da includere nel codice HTML generato come campi di qualità media.

Campi con contenuti HTML con bassa qualità di ricerca contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

Un elenco di campi separati da virgole da includere nel codice HTML generato come campi di bassa qualità.

Colonne non mappate dei contenuti HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

Modalità di gestione delle colonne non mappate da parte del connettore. Il valore è APPEND (predefinito) o IGNORE.

  • APPEND: il connettore genera contenuti HTML con tutti i campi, inclusi quelli che non sono impostati con un livello qualitativo (alta, media o bassa).
  • IGNORA: il connettore genera contenuti HTML con solo i campi mappati.