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

Możesz skonfigurować Google Cloud Search tak, aby zwracał wyniki z lokalnych zasobów SharePoint organizacji oprócz treści z Google Workspace. Używasz łącznika Google Cloud Search SharePoint On-Prem i konfigurujesz go w celu uzyskania dostępu do konkretnego źródła danych SharePoint.

Ważne kwestie

Uwzględniane ustawienia SharePoint

Łącznik Cloud Search SharePoint On-Prem zawsze uwzględnia ustawienie Widoczność w wyszukiwarce w SharePoint, które nie może zostać zastąpione. W przypadku dokumentów roboczych uprawnienia na koncie użytkownika (którego używa łącznik do uzyskiwania dostępu do SharePoint Online) określają, które dokumenty robocze są indeksowane i zwracane. Jeśli konto ma tylko uprawnienia „Pełny dostęp do odczytu”, łącznik uwzględnia ustawienia „Widoczność w wersji roboczej” w SharePoint.

Możesz też skonfigurować łącznik, aby ograniczyć wyniki na podstawie dostępu do konta użytkownika. Do definiowania list ACL możesz używać podmiotów w Google i podmiotów zewnętrznych. Aby zastosować ograniczanie 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 mapowanymi tożsamościami. Aby zsynchronizować lokalne grupy SharePoint, użyj łącznika tożsamości SharePoint.

Oprogramowanie sprzęgające musi też przeprowadzić wyszukiwanie w AD, aby pobrać dodatkowe informacje do synchronizacji podmiotów. Na przykład wyszukiwanie w Google Ads umożliwia oprogramowaniu sprzęgającemu:

  • Zmapuj identyfikator SID grupy domen na odpowiednią nazwę sAMAccountName.
  • Zmapuj nazwę użytkownika sAMAccountName na adres e-mail dla członkostwa w lokalnej grupie SharePoint.

Optymalizacja wyszukiwania

Możesz zwiększyć wygodę użytkowników, konfigurując złącze tak, aby zwracało trafniejsze wyniki wyszukiwania.

Aby używać interfejsu API, ustaw wartości parametrów generowania kodu HTML w pliku konfiguracji złącza SharePoint Online. Te parametry umożliwiają określenie, które pola mają większy lub mniejszy wpływ na dopasowanie.

Aby skonfigurować schemat, wykonaj instrukcje podane w artykule Tworzenie schematu i rejestrowanie go. Podczas konfigurowania schematu:

  • Aby zmapować nazwy typów treści SharePoint na odpowiadające im definicje obiektów, konwerter 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 „Komunikaty” jest mapowany na definicję obiektu „Komunikaty”. Typ treści „Artykuł prasowy” jest mapowany na „NewsArticle” (bez spacji).

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

  • Aby mapować nazwy właściwości SharePoint na ich definicje, konwerter normalizuje nazwy właściwości, dekodując znaki w kodzie szesnastkowym i usuwając prefiksy „ows_”, a następnie wykluczając znaki nieobsługiwane (wszystkie znaki oprócz A–Z, a–z i 0–9 jako prawidłowe).

Obsługa wiadomości w programie Microsoft Outlook

Gdy podczas indeksowania treści usługa łączy się z plikami .msg programu Microsoft Outlook, zastępuje typ multimediów dla tych plików i indeksuje je jako application/vnd.ms-outlook..

Konfiguracje dla wielu najemców

Jeśli usługa SharePoint jest wdrożeniem wielodostępnym, w którym wiele witryn klientów jest hostowanych w tej samej aplikacji internetowej, musisz skonfigurować tryb kolekcji witryn w pliku konfiguracji. W przypadku wdrożeń wielodostępnych masz uprawnienia tylko do kolekcji 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 usługi łącznika uprawnienia administratora kolekcji witryn.
  • Ustaw wartość sharepoint.server w pliku konfiguracji oprogramowania sprzęgającego na adres URL kolekcji witryn, np. http://sharepoint.example.com/sites/sitecollection. Adres URL nie musi być zapisany w takim samym przypadku jak w SharePoint.
  • Ustaw wartość sharepoint.siteCollectionOnly w pliku konfiguracji oprogramowania sprzęgającego na true.

Jeśli masz wiele zbiorów witryn do zindeksowania w środowisku wielodzierżawnym, musisz skonfigurować po jednym wystąpieniu łącznika dla każdego z nich.

Znane ograniczenia w przypadku usługi Connectors

  • Czas potrzebny na wykrycie zmian elementów w bazach danych wydłuża się wraz z liczbą monitorowanych przez łącznik baz danych.
  • Korzystanie z pamięci wzrasta wraz z liczbą unikalnych użytkowników i grup używanych w uprawnieniach dostępu do poszczególnych kolekcji witryn.
  • Możesz skonfigurować łącznik z tożsamościami z tylko jednej domeny Active Directory.
  • Niektóre typowe podmioty Active Directory i Windows, takie jak Everyone, BUILTIN\Users i All Authenticated Users, nie są obsługiwane.
  • Powiadomienia o usunięciu nie są wysyłane natychmiast. Może minąć ponad 4 godziny, zanim oprogramowanie sprzęgające wykryje, ż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 ma działać łącznik Google Cloud Search SharePoint On-Prem.
Uwierzytelnianie
  • NTLM
  • Kerberos
  • HTTP Basic
  • 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, zapoznaj się z artykułem Konfigurowanie dostępu do interfejsu Google Cloud Search API.

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

  3. Jeśli łącznik zwraca wyniki na podstawie list ACL (nie są one 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 grup lokalnych 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 usługi szyfrowania, które ma uprawnienia Czytaj wszystko do aplikacji internetowej SharePoint w zasadach użytkownika.

  5. Jeśli aplikacja internetowa SharePoint nie ma katalogu źródeł kolekcji witryn, utwórz go.

  6. Jeśli jakiekolwiek zbiory witryn mają zablokowany dostęp do zapisu, zaloguj się na serwerze SharePoint za pomocą konta z uprawnieniami administratora i uruchom skrypt PrepareWriteLockedSites.ps1.

  7. Aby uzyskać dane źródłowe, które posłużą do skonfigurowania łącznika, zaloguj się na serwer SharePoint za pomocą konta z przywilejami administracyjnymi w farmie i uruchom diagnose_sp.ps1.

    Dane wyjściowe zawierają liczbę aplikacji internetowych, dokumentów i uczestnictwa 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 będzie przechowywanych.

Krok 1. Zainstaluj oprogramowanie łącznika Google Cloud Search SharePoint On-Prem.

  1. Sklonuj repozytorium z łącznikami z GitHuba.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Pobierz odpowiednią 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 kompilowania łącznika, uruchom mvn package -DskipTests zamiast mvn package.

  4. Skopiuj plik ZIP z oprogramowaniem sprzęgającym do lokalnego katalogu instalacji:

    $ 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 lokalnego oprogramowania sprzęgającego SharePoint

  1. W tym samym katalogu co instalacja oprogramowania sprzęgającego utwórz plik. Google zaleca, aby nazwa pliku była taka sama jak nazwa pliku connector-config.properties, aby nie trzeba było podawać dodatkowych parametrów wiersza poleceń. Jeśli planujesz uruchomić wiele wystąpień usługi łącznika, dodaj do nazwy szczegóły, aby ją wyróż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 usługi szyfrowania. Szczegółowe informacje znajdziesz w sekcji Parametry złącza dostarczanego przez Google.

Krok 3. W przypadku HTTPS dodaj SharePoint jako zaufany host

Jeśli SharePoint jest skonfigurowany pod kątem używania HTTPS, pobierz certyfikat SharePoint, aby dodać go jako zaufany host dla łącznika.

  1. Na komputerze, na którym ma 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, np. „To połączenie nie jest zaufane”, 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 oprogramowania sprzęgającego o nazwie sharepoint.crt.

  6. Aby zamknąć okna, kliknij Zamknij, a potem Anuluj.

  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 „Zaufać temu certyfikatowi?”, odpowiedz tak.

Krok 4. Skonfiguruj logowanie

  1. W katalogu zawierającym plik binarny oprogramowania sprzęgającego utwórz folder o nazwie logs.

  2. W tym samym katalogu (nie logs) utwórz plik o nazwie logging.properties zakodowany w formacie 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 lokalnego oprogramowania sprzęgającego tożsamości SharePoint

Ten krok jest wymagany, aby zastosować do wyników wyszukiwania reguły dostępu oparte na tożsamości w SharePoint On-Prem. Jeśli skonfigurujesz łącznik za pomocą publicznych reguł kontroli dostępu, możesz pominąć ten krok.

  1. W tym samym katalogu, w którym znajduje się instalacja łącznika SharePoint Online, utwórz plik o nazwie 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 łącznika SharePoint On-Prem, z tym że zamiast api.sourceId jest parametr api.customerId. Wartością parametru api.customerId jest identyfikator klienta otrzymany od administratora Google Workspace.

Krok 6. Uruchamianie lokalnego oprogramowania sprzęgającego SharePoint

W kolejnych krokach zmapujesz podmioty zarówno w usłudze Active Directory na komputerze lokalnym, jak i w kolekcji witryn SharePoint do tożsamości w usłudze Cloud Identity. Synchronizacja jest wykonywana za pomocą Google Cloud Directory Sync (GCDS) i łącznika tożsamości SharePoint On-Prem.

Po zsynchronizowaniu użytkowników i grup przez GCDS, aby zsynchronizować grupy kolekcji witryn SharePoint, uruchom złącze tożsamości SharePoint na platformie lokalnej. Na koniec uruchom oprogramowanie sprzęgające SharePoing On-Prem, aby zindeksować i przekazać wyniki użytkownikom Cloud Search.

  1. Jeśli jeszcze tego nie zrobiono, skonfiguruj i uruchom GCDS. Włącz grupy z mapowaniem tożsamości.

  2. Uruchom lokalny oprogramowanie sprzęgające tożsamości SharePoint:

    $ 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 lokalny oprogramowanie sprzęgające SharePoint. Użyj składni polecenia dotyczącej zabezpieczeń witryny SharePoint:

    • HTTP (nie wymaga zaufanych hostów):

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

      $ 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

Wymagane. Identyfikator źródła danych Google Cloud Search skonfigurowanego przez administratora Google Workspace.

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

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

Dostęp do SharePoint w środowisku lokalnym

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

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

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

Wymagane, gdy uruchamiasz oprogramowanie sprzęgające w systemie Linux lub na komputerze z systemem Windows, który nie należy do domeny AD serwera SharePoint.

Hasło do SharePoint sharepoint.password=user_password

Wymagane, gdy uruchamiasz oprogramowanie sprzęgające w systemie Linux lub na komputerze z systemem Windows, który nie należy do domeny AD serwera SharePoint.

Używanie uwierzytelniania na żywo do łączenia się z SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

Łączenie 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 kolekcji witryn

Ustawienie Parametr
Typ indeksu sharepoint.siteCollectionOnly=boolean

Opcjonalne, z wyjątkiem wdrożeń SharePoint dla wielu dzierżaw (więcej informacji). Ustaw na wartość true, aby indeks łącznika sharepoint.server był kolekcją witryn zamiast serwerem wirtualnym. Wartość domyślna to null (automatycznie wykrywane).

Mapowanie tożsamości w SharePoint

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

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

Źródła tożsamości do odwołania api.referenceIdentitySources=CONTOSO,contoso

Lista źródeł tożsamości referencyjnych dla podmiotów w aktywnej usłudze katalogu, rozdzielona przecinkami. Wartość odpowiada nazwie NetBIOS w Active Directory podmiotów wzorcowych w Active Directory.

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

Wymagane. 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

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

Port wyszukiwania w Active Directory adLookup.port=port

Opcjonalnie: Wartość domyślna to 389. Użyj portu 686 dla SSL.

Metoda wyszukiwania w Active Directory adLookup.method=value

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

Użytkownik wyszukiwania w Active Directory adLookup.username=CONTOSO\user1

Wymagane. Użytkownik upoważniony do wykonywania wyszukiwań w Active Directory.

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

Wymagane. 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 treści HTML o wysokiej jakości w wyszukiwarce contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

Lista pól oddzielonych przecinkami, które mają być uwzględnione w wygenerowanym kodzie HTML jako pola wysokiej jakości. Gdy wyszukiwane hasła pasują do tych pól, wyniki są lepiej oceniane.

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

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

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

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

Niezmapowane kolumny treści HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

Sposób obsługi kolumn bez mapowania przez łącznik. Wartość to APPEND (domyślna) lub IGNORE.

  • APPEND—połączenie generuje zawartość HTML ze wszystkimi polami, w tym z polami, które nie mają ustawionego poziomu jakości (wysoki, średni lub niski).
  • IGNORE (ignoruj) – łącznik generuje zawartość HTML tylko z zmapowanymi polami.