Wdrażanie lokalnego oprogramowania sprzęgającego Microsoft SharePoint

Możesz skonfigurować Google Cloud Search tak, aby zwracała wyniki z treści SharePoint w wersji lokalnej należących do Twojej organizacji, a także z treści Google Workspace. Używasz łącznika Google Cloud Search SharePoint On-Prem i konfigurujesz go, aby uzyskać dostęp do konkretnego źródła danych SharePoint.

Istotne kwestie

Ustawienia SharePoint

Łącznik Cloud Search SharePoint On-Prem zawsze uwzględnia ustawienie Search Visibility (Widoczność wyszukiwania) w SharePoint, którego nie można zastąpić. W przypadku dokumentów w wersji roboczej uprawnienia na koncie użytkownika (którego oprogramowanie sprzęgające używa do uzyskiwania dostępu do SharePoint Online) określają, które dokumenty w wersji roboczej są indeksowane i zwracane. Jeśli konto ma tylko uprawnienia „Pełny odczyt”, łącznik uwzględnia ustawienia „Widoczność elementu w wersji roboczej” w SharePoint.

Możesz też skonfigurować łącznik tak, aby ograniczał wyniki na podstawie dostępu do konta użytkownika. Do definiowania list ACL możesz używać podmiotów Google i podmiotów zewnętrznych. Aby zastosować przycinanie zabezpieczeń w przypadku treści SharePoint, zsynchronizuj te tożsamości zewnętrzne z katalogiem Google:

  • Użytkownicy Active Directory
  • Grupy Active Directory
  • Grupy lokalne SharePoint (z użytkownikami i grupami Active Directory jako członkami)

Aby zsynchronizować użytkowników i grupy AD, użyj Google Cloud Directory Sync, włączając grupy z mapowaniem tożsamości. Do synchronizowania lokalnych grup SharePoint służy oprogramowanie sprzęgające tożsamości SharePoint.

Oprogramowanie sprzęgające musi też przeprowadzać wyszukiwanie w AD, aby pobierać dodatkowe informacje potrzebne do synchronizacji podmiotów zabezpieczeń. Na przykład wyszukiwanie w AD umożliwia oprogramowaniu sprzęgającemu:

  • Zmapuj identyfikator SID grupy domeny na odpowiednią nazwę sAMAccountName.
  • Zmapuj nazwę sAMAccountName użytkownika na adres e-mail w przypadku przynależności do lokalnej grupy SharePoint.

Optymalizacja wyszukiwania

Możesz poprawić komfort użytkowników, konfigurując złącze tak, aby zwracało trafniejsze wyniki wyszukiwania.

Aby użyć interfejsu API, ustaw wartości parametrów generowania kodu HTML w pliku konfiguracji oprogramowania sprzęgającego SharePoint Online. Te parametry pozwalają określić, które pola mają większy lub mniejszy wpływ na dopasowania.

Aby skonfigurować schemat, postępuj zgodnie z instrukcjami w artykule Tworzenie i rejestrowanie schematu. Gdy skonfigurujesz schemat:

  • Aby mapować nazwy typów treści SharePoint na odpowiednie definicje obiektów, łącznik normalizuje nazwy typów treści, wykluczając nieobsługiwane znaki. W przypadku definicji obiektów interfejs Cloud Search API obsługuje tylko znaki A–Z, a–z i 0–9. Na przykład typ treści „Ogłoszenia” jest mapowany na definicję obiektu „Ogłoszenia”. Typ treści „Artykuł informacyjny” jest mapowany na „NewsArticle” (bez spacji).

  • Gdy oprogramowanie sprzęgające nie może dopasować definicji obiektu do definicji obiektu, używa rezerwowego typu obiektu (itemMetadata.objectType). Dowiedz się więcej o parametrach konfiguracji metadanych.

  • Aby mapować nazwy właściwości SharePoint na definicje właściwości, łącznik normalizuje nazwy właściwości, dekodując znaki zakodowane w systemie szesnastkowym i usuwając prefiksy „ows_”, a następnie wykluczając nieobsługiwane znaki (wszystkie znaki inne niż A–Z, a–z i 0–9).

Obsługa wiadomości w Microsoft Outlook

Gdy łącznik podczas indeksowania treści napotka pliki .msg programu Microsoft Outlook, zastąpi typ multimediów dla tych plików i zindeksuje je jako application/vnd.ms-outlook.

Konfiguracje wielu najemców

Jeśli SharePoint jest wdrożeniem wielodostępnym, w którym wiele witryn klientów jest hostowanych w tej samej aplikacji internetowej, musisz skonfigurować tryb zbioru witryn w pliku konfiguracyjnym. W przypadku wdrożeń z wieloma najemcami otrzymujesz uprawnienia tylko do zbioru witryn i nie możesz uzyskać uprawnień Pełny odczyt, które są wymagane przez oprogramowanie sprzęgające SharePoint On-Prem.

Aby włączyć tryb kolekcji witryn:

  • Przyznaj kontu użytkownika łącznika uprawnienia administratora zbioru witryn.
  • W pliku konfiguracyjnym łącznika ustaw sharepoint.server na adres URL zbioru witryn, np. http://sharepoint.example.com/sites/sitecollection. Adres URL nie musi używać dokładnie tych samych wielkich i małych liter co w SharePoint.
  • W pliku konfiguracji oprogramowania sprzęgającego ustaw wartość sharepoint.siteCollectionOnly na true.

Jeśli w środowisku wielodostępnym masz wiele kolekcji witryn do zindeksowania, musisz skonfigurować po 1 instancji łącznika dla każdej z nich.

Znane ograniczenia dotyczące łączników

  • Czas potrzebny oprogramowaniu sprzęgającemu na wykrycie zmian w elementach baz danych rośnie wraz z liczbą baz danych, które monitoruje.
  • Zużycie pamięci rośnie wraz z liczbą unikalnych użytkowników i grup używanych w listach ACL dla każdej kolekcji witryn.
  • Łącznik możesz skonfigurować za pomocą tożsamości tylko z jednej domeny Active Directory.
  • Niektóre popularne podmioty zabezpieczeń Active Directory i Windows, takie jak Everyone, BUILTIN\Users i All Authenticated Users, nie są obsługiwane.
  • Powiadomienia o usunięciu nie są natychmiastowe. Może minąć ponad 4 godziny, zanim oprogramowanie sprzęgające rozpozna, że użytkownik usunął treści z repozytorium źródłowego.

Wymagania systemowe

Wymagania systemowe
System operacyjny
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64-bitowy)
Oprogramowanie
  • serwer SharePoint,
    • SharePoint Server 2016
    • SharePoint Server 2013
  • Java JRE 1.8 zainstalowana na komputerze, na którym będzie działać łącznik Google Cloud Search SharePoint On-Prem
Uwierzytelnianie
  • NTLM
  • Kerberos
  • Podstawowe HTTP
  • ADFS

Wdrażanie oprogramowania sprzęgającego

Wymagania wstępne

  1. Utwórz klucz prywatny Google Workspace, który zawiera identyfikator konta usługi. Aby dowiedzieć się, jak uzyskać klucz prywatny, przeczytaj artykuł Konfigurowanie dostępu do interfejsu Google Cloud Search API.

  2. Administrator Google Workspace musi dodać źródło danych do przeszukiwania. Zapisz identyfikator źródła danych.

  3. Jeśli łącznik zwraca wyniki na podstawie list ACL (wyniki nie są publiczne), administrator Google Workspace musi utworzyć 2 źródła tożsamości i przekazać Ci ich identyfikatory:

    • źródło tożsamości do synchronizowania użytkowników i grup Active Directory;
    • Źródło tożsamości dla lokalnych grup SharePoint

    Administrator musi też uzyskać identyfikator klienta Google Workspace Twojej organizacji i przekazać go Tobie.

    Dowiedz się, jak uzyskać te wartości, w artykule Mapowanie tożsamości użytkowników w Cloud Search.

  4. Skonfiguruj konto użytkownika dla łącznika, które ma uprawnienia Pełny odczyt do aplikacji internetowej SharePoint w zasadach użytkownika.

  5. Jeśli aplikacja internetowa SharePoint nie ma głównego zbioru witryn, utwórz go.

  6. Jeśli jakiekolwiek zbiory witryn są zablokowane do zapisu, zaloguj się na serwerze SharePoint na konto z uprawnieniami administratora i uruchom skrypt PrepareWriteLockedSites.ps1.

  7. Aby uzyskać dane źródła danych, które pomogą Ci skonfigurować łącznik, zaloguj się na serwer SharePoint na konto z uprawnieniami administracyjnymi do farmy i uruchom diagnose_sp.ps1.

    Dane wyjściowe zawierają liczbę aplikacji internetowych, dokumentów i członkostw w grupach użytkowników. Na podstawie tych informacji możesz oszacować, ile instancji łącznika potrzebujesz, jakie są wymagania dotyczące pamięci i ile dokumentów możesz przetworzyć.

Krok 1. Zainstaluj oprogramowanie sprzęgające Google Cloud Search SharePoint On-Prem.

  1. Sklonuj repozytorium łącznika z GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Sprawdź wybraną wersję oprogramowania sprzęgającego:

    $ git checkout tags/latest_version

    Gdzie: latest_version = wartość, np. v1-0.0.5

  3. Utwórz oprogramowanie sprzęgające.

    $ mvn package

    Aby pominąć testy podczas tworzenia oprogramowania sprzęgającego, uruchom polecenie mvn package -DskipTests zamiast mvn package.

  4. Skopiuj plik ZIP oprogramowania sprzęgającego do lokalnego katalogu instalacyjnego:

    $ 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

Krok 2. Tworzenie pliku konfiguracji oprogramowania sprzęgającego SharePoint On-Prem

  1. W tym samym katalogu, w którym zainstalowano oprogramowanie sprzęgające, utwórz plik. Google zaleca nadanie plikowi nazwy connector-config.properties, aby do uruchomienia oprogramowania sprzęgającego nie były potrzebne żadne dodatkowe parametry wiersza poleceń. Jeśli planujesz uruchomić wiele instancji konektora, dodaj do nazwy szczegóły, które pozwolą je odróżnić.

  2. Dodaj parametry jako pary klucz/wartość do zawartości pliku, jak w tym przykładzie:

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

    Szczegółowe opisy poszczególnych parametrów znajdziesz w dokumentacji parametrów konfiguracji.

  3. (Opcjonalnie) W razie potrzeby skonfiguruj dodatkowe parametry złącza. Więcej informacji znajdziesz w artykule Parametry złącza dostarczonego przez Google.

Krok 3. W przypadku protokołu HTTPS dodaj SharePoint jako zaufanego hosta

Jeśli SharePoint jest skonfigurowany do używania protokołu HTTPS, uzyskaj certyfikat SharePoint, aby dodać go jako zaufanego hosta dla łącznika.

  1. Na komputerze, na którym będzie działać łącznik, otwórz przeglądarkę i przejdź do SharePoint.

  2. Na wyświetlonej stronie z ostrzeżeniem kliknij Rozumiem ryzykoDodaj wyjątek. Na stronie wyświetla się komunikat „To połączenie jest niezaufane”, ponieważ certyfikat jest podpisany samodzielnie, a nie przez zaufany urząd certyfikacji.

  3. Gdy pojawi się przycisk Wyświetl, kliknij go.

  4. Otwórz kartę Szczegóły i kliknij Eksportuj.

  5. Zapisz certyfikat w katalogu łącznika pod nazwą sharepoint.crt.

  6. Kliknij Zamknij, a potem Anuluj, aby zamknąć okna.

  7. Otwórz wiersz polecenia i wpisz to polecenie:

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

    Gdy pojawi się pytanie „Ufać temu certyfikatowi?”, odpowiedz tak.

Krok 4. Skonfiguruj logowanie

  1. W katalogu zawierającym plik binarny łącznika utwórz folder o nazwie logs.

  2. W tym samym katalogu (nie w logs) utwórz plik o nazwie logging.properties zakodowany w Latin1.

  3. Dodaj do pliku logging.properties ten tekst:

    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
    

Krok 5. Konfigurowanie oprogramowania sprzęgającego tożsamości SharePoint On-Prem

Ten krok jest wymagany, aby zastosować do wyników wyszukiwania listy ACL oparte na tożsamości w SharePoint On-Prem. Jeśli łącznik został skonfigurowany z publicznymi listami ACL, możesz pominąć ten krok.

  1. W tym samym katalogu, w którym znajduje się instalacja łącznika SharePoint Online, utwórz plik i nadaj mu nazwę sharepoint-onprem-identity-connector.config.

  2. Dodaj parametry jako pary klucz/wartość do zawartości pliku, jak w tym przykładzie:

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

    Wartości są prawie takie same jak w przypadku konektora SharePoint On-Prem, z tym że zamiast api.sourceId parametr to api.customerId. Wartość api.customerId to identyfikator klienta, który został Ci przekazany przez administratora Google Workspace.

Krok 6. Uruchamianie oprogramowania sprzęgającego SharePoint On-Prem

W kolejnych krokach zmapujesz podmioty w lokalnej usłudze Active Directory i kolekcji witryn SharePoint na tożsamości w usłudze Cloud Identity. Synchronizacja odbywa się za pomocą Google Cloud Directory Sync (GCDS) i łącznika tożsamości SharePoint On-Prem.

Po zsynchronizowaniu użytkowników i grup przez GCDS uruchom łącznik tożsamości SharePoint On-Prem, aby zsynchronizować grupy zbiorów witryn SharePoint. Na koniec uruchom lokalne oprogramowanie sprzęgające SharePoint, aby indeksować wyniki i udostępniać je użytkownikom Cloud Search.

  1. Jeśli jeszcze tego nie zrobiono, skonfiguruj i uruchom GCDS. Upewnij się, że masz włączone grupy z mapowaniem tożsamości.

  2. Uruchom oprogramowanie sprzęgające tożsamości 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. Uruchom oprogramowanie sprzęgające SharePoint On-Prem. Użyj składni polecenia dla zabezpieczeń witryny SharePoint:

    • HTTP (nie wymaga zaufanego hosta):

      $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
    • HTTPS (dodaj SharePoint jako zaufanego hosta):

      $ 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

Informacje o parametrach konfiguracji

Dostęp do źródła danych

Ustawienie Parametr
Identyfikator źródła danych api.sourceId=1234567890abcdef

Wymagany. Identyfikator źródła danych Google Cloud Search skonfigurowany przez administratora Google Workspace.

Ścieżka do pliku klucza prywatnego konta usługi api.serviceAccountPrivateKeyFile=PrivateKey.json

Wymagany. Ścieżka do pliku klucza konta usługi Google Cloud Search.

Dostęp do SharePoint w wersji lokalnej

Ustawienie Parametr
Adres URL serwera SharePoint sharepoint.server=http://yoursharepoint.example.com/

Wymagany. Adres URL serwera SharePoint jako w pełni kwalifikowana nazwa hosta, np. http://yoursharepoint.example.com/. Jeśli nazwa hosta nie jest w pełni kwalifikowana, musisz ustawić zastąpienie DNS na hoście łącznika.

Nazwa użytkownika SharePoint sharepoint.username=YOURDOMAIN\\ConnectorUser

Wymagane, gdy oprogramowanie sprzęgające jest uruchamiane w systemie Linux lub na komputerze z systemem Windows, który nie jest częścią domeny AD serwera SharePoint.

Hasło do SharePoint sharepoint.password=user_password

Wymagane, gdy oprogramowanie sprzęgające jest uruchamiane w systemie Linux lub na komputerze z systemem Windows, który nie jest częścią domeny AD serwera SharePoint.

Nawiązywanie połączenia z SharePoint za pomocą uwierzytelniania na żywo sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

Nawiązywanie połączenia z SharePoint za pomocą uwierzytelniania ADFS 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 lub https://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

Indeksowanie zbioru witryn

Ustawienie Parametr
Typ indeksu sharepoint.siteCollectionOnly=boolean

Opcjonalne, z wyjątkiem wdrożeń SharePoint w architekturze wielodostępnej (więcej informacji). Ustaw wartość „true”, aby indeks wtyczki sharepoint.server był traktowany jako zbiór witryn, a nie serwer wirtualny. Wartość domyślna to null (wykrywanie automatyczne).

Mapowanie tożsamości w SharePoint

Ustawienie Parametr
Identyfikator źródła tożsamości api.identitySourceId=1234567890abcdef

Wymagany. Identyfikator źródła tożsamości do synchronizowania lokalnych grup SharePoint.Identyfikator źródła Google Cloud Search skonfigurowany przez administratora Google Workspace zgodnie z opisem w artykule Dodawanie źródła danych do wyszukiwania.

Odwoływanie się do źródeł tożsamości api.referenceIdentitySources=CONTOSO,contoso

Lista źródeł tożsamości referencyjnych dla podmiotów Active Directory rozdzielonych przecinkami. Wartość odpowiada nazwie NETBIOS Active Directory podmiotów referencyjnych Active Directory.

Identyfikatory źródła tożsamości api.referenceIdentitySource.DOMAIN.id=identity-source-id

Wymagany. Identyfikator źródła tożsamości do synchronizowania podmiotów Active Directory.

Wyszukiwanie w Active Directory

Ustawienie Parametr
Host Active Directory adLookup.host=host

Wymagany. Nazwa hosta Active Directory, np. dc.contoso.com, lub adres IP.

Port wyszukiwania Active Directory adLookup.port=port

Opcjonalnie. Wartość domyślna to 389. W przypadku SSL użyj portu 686.

Metoda wyszukiwania w Active Directory adLookup.method=value

Opcjonalnie. Domyślna wartość to „standard”. W przypadku połączeń HTTPS ustaw wartość „ssl”.

Użytkownik wyszukujący w Active Directory adLookup.username=CONTOSO\user1

Wymagany. Użytkownik ma uprawnienia do wyszukiwania w Active Directory.

Hasło wyszukiwania w Active Directory adLookup.password=password123

Wymagany. Hasło użytkownika określonego przez adLookup.user.

Generowanie treści HTML

Ustawienie Parametr
Pole tytułu szablonu HTML contentTemplate.sharePointItem.title=Title

Pole SharePoint, które ma być używane jako tytuł szablonu HTML dla wygenerowanego kodu HTML.

Pola wysokiej jakości wyszukiwania treści HTML contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

Lista pól rozdzielonych przecinkami, które mają zostać uwzględnione w wygenerowanym kodzie HTML jako pola wysokiej jakości. Gdy wyszukiwane hasła pasują do tych pól, wyniki są wyświetlane wyżej.

Pola jakości wyszukiwania w przypadku treści HTML contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

Lista pól rozdzielonych przecinkami, które mają być uwzględnione w wygenerowanym kodzie HTML jako pola średniej jakości.

Pola niskiej jakości wyszukiwania treści HTML contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

Lista pól rozdzielonych przecinkami, które mają być uwzględnione w wygenerowanym kodzie HTML jako pola o niskiej jakości.

Kolumny bez mapowania w treści HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

Jak łącznik obsługuje nieprzypisane kolumny. Wartość to APPEND (domyślna) lub IGNORE.

  • APPEND – łącznik generuje treść HTML ze wszystkimi polami, w tym z polami, które nie mają ustawionego poziomu jakości (wysoki, średni lub niski).
  • IGNORE (IGNORUJ) – oprogramowanie sprzęgające generuje treść HTML tylko ze zmapowanymi polami.