Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

SharePoint Cloud Hybrid Search - ein Erfahrungsbericht

Um die Cloud Hybrid Search gibt es seit der Ankündigung auf dem Officeblog durch das SharePoint-Team einen Hype. Und das ist ja auch kein Wunder: ermög­licht es die Cloud Hybrid Search doch end­lich, Inhalte aus SharePoint OnPremise und Office 365 (SharePoint Online) in einer gemein­sa­men Suchumgebung zu ver­ei­ni­gen. Und zwar nicht nur mit­tels Föderierter Suche, son­dern durch echte Suchintegration. Die Anwender kön­nen damit von ein­heit­li­chen Suchergebnissen, Relevanzrangfolgen und Einschränkungen pro­fi­tie­ren. Dies ist beson­dern wich­tig für alle Unternehmen, die ein hybri­des Szenario betrei­ben: die Inhalte wer­den ver­teilt auf OnPremise (z.B. hoch sen­si­ble Daten) und in der Cloud (z.B. Inhalte, die mit Partnern geteilt wer­den sol­len) gespei­chert, für die Anwender soll sich die Arbeitsumgebung aber mög­lichst homo­gen prä­sen­tie­ren.

Als ich die Cloud Hybrid Search dann das erste Mal selbst ein­ge­rich­tet hatte, war ich um einige Erkenntnisse rei­cher. Es macht schon einen Unterschied, die Einrichtung der Cloud Hybrid Search auf Videos anzu­schauen und deren Vorteile in voll­mun­di­gen Marketing-Botschaften zu lesen oder selbst zu erfah­ren, wie sich das alles anfühlt. Und da Teilen Spaß macht, möchte ich dies mit mei­nen Erfahrungen tun 🙂

Wie die Cloud Hybrid Search "im Inneren" funk­tio­niert, was man bei der Einrichtung ggf. beach­ten sollte, wel­che Stolpersteine es auch nach erfolg­rei­cher Einrichtung noch geben kann und wie sich zu guter Letzt das Ergebnis dar­stellt, ist in die­sem Blogbeitrag beschrie­ben.

Funktionsweise der Cloud Hybrid Search

Die Kernbotschaft lau­tet: Es gibt nur einen Suchindex, und der befin­det sich in der Cloud.

Um den Index mit OnPremise-Inhalten zu befül­len, wird auf einem OnPremise Server eine spe­zi­ell dafür kon­fi­gu­rierte Suchdienstanwendung (die soge­nannte Cloud SSA) benö­tigt.

Anmerkung: Diese Cloud SSA kann ent­we­der als ein­zige Suchdienstanwendung oder zusätz­lich zu einer bzw. sogar meh­re­ren wei­te­ren Suchdienstanwendungen der SharePoint Farm resi­die­ren. Welche Auswirkungen dies hat, dazu in einem fol­gen­den Blogbeitrag mehr.

Cloud Hybrid Search Architektur
(Quelle: https://technet.microsoft.com/en-us/library/mt668455.aspx)

Und so läuft das Ganze ab:

  • Die OnPremise-Inhalte wer­den in der Cloud SSA gecrawlt und an den Suchindex in der Cloud über­tra­gen. Die Aktualität hängt von den Crawl-Einstellungen der ent­spre­chen­den Inhaltsquelle(n) ab.
  • Die Online-Inhalte wer­den kon­ti­nu­ier­lich im sel­ben Suchindex gespei­chert – darum küm­mert sich Office 365 :-).
  • Benutzer in Office 365 sehen die Elemente des Suchindex (also OnPremise- und Online-Inhalte bunt gemischt) z.B. in Delve oder im SharePoint Online Suchcenter. Das ist die von Microsoft emp­foh­lene Variante.
  • Wenn gewollt, kön­nen OnPremise-Benutzer außer­dem den­sel­ben Suchindex auch im loka­len Suchcenter bzw. in der Website-Suche abru­fen. Bei die­ser Variante befin­den sich Suchumgebung und Index auf ver­schie­de­nen Plattformen.

Einrichtung der Cloud Hybrid Search

Die Einrichtung erfolgt durch­gän­gig auf dem OnPremise SharePoint Server mit­hilfe durch Microsoft bereit­ge­stell­ter Powershell Scripts. Ich habe die Cloud Hybrid Search für SharePoint 2016 ein­ge­rich­tet, ebenso funk­tio­niert das Ganze aber auch für SharePoint 2013 ab Service Pack 1 mit kumu­la­ti­vem Update von Januar 2016. Dafür gibt es eine gute TechNet-Anleitung Konfigurieren der Cloudhybridsuche – Roadmap, des­halb will ich dies hier auch nicht Schritt für Schritt wie­der­ho­len.

Ich möchte an die­ser Stelle aber auf eine Besonderheit ein­ge­hen, über die ich selbst gestol­pert bin – in der Annahme, dass dies auch ande­ren pas­sie­ren könnte.

Das Ausführen des Onboarding Scripts OnBoard-CloudHybridSearch.ps1 mün­dete im ers­ten Versuch in der Fehlermeldung "Requested regis­try access is not allo­wed":

Cloud Hybrid Search Fehler bei Onboarding Script

Eine Recherche bei Google führte zum Lösungsvorschlag, auf dem SharePoint Server manu­ell Einträge in der Registry vor­zu­neh­men. Aber zumin­dest in mei­nem Fall war die Lösung viel ein­fa­cher: ich musste nur die Powershell-Konsole als Administrator aus­füh­ren, und schon war die Fehlermeldung ver­schwun­den.

Bei erfolg­rei­cher Ausführung des Onboarding Scripts sollte die Ausgabe etwa so aus­se­hen:

Cloud Hybrid Search Onboarding Script erfolgreich

Die Cloud Hybrid Search in Verwendung

An die­ser Stelle wird es nun wirk­lich span­nend: Bekomme ich in der SharePoint Online die Ergebnisse aus OnPremise mit ange­zeigt? Und wie fühlt sich das an – wirk­lich "inte­griert" im unmit­tel­ba­ren Wortsinn?

Zuallererst: Ich sehe die OnPremise-Inhalte tat­säch­lich! Naja, unter bestimm­ten Umständen zumin­dest. Dazu gleich mehr, aber erst ein­mal ein paar Screenshots aus Office 365 SharePoint Online zu den Stichworten "Anfühlen" und "Integration".

Darstellung der Suchergebnisse

Im klas­si­schen Suchcenter wer­den die Suchergebnisse wie erwar­tet bunt gemischt dar­ge­stellt – den­noch sieht man anhand der URL im Suchergebnis sofort, wel­che Ergebnisse von OnPremise stam­men und wel­che aus SharePoint Online:

Suche in SPO - klassisches Suchcenter

Das kann gewollt und hilf­reich sein. Wenn ich es nicht möchte, kann ich die URL mit­tels Anpassung von Display Templates (siehe z.B. SharePoint-Suche: Integration von File Shares auf­ge­peppt (Teil 4 – Display Templates)) auch aus­blen­den. Ebenso kann ich die Trennung von OnPremise/Online aber auch noch deut­li­cher beto­nen, indem ich z.B. einen sepa­ra­ten Suchtab (Vertical) für OnPremise-Ergebnisse ein­richte oder einen Refiner nach Plattform (Office 365, OnPremise) kon­fi­gu­riere. Für beide Optionen steht mir die Managed Property IsExternalContent zur Verfügung.

Im neuen Suchcenter fühlt es sich noch mehr inte­griert an, da die URL im Suchergebnis nicht unmit­tel­bar mit dar­ge­stellt wird:

Suche in SPO - neues Suchcenter

Ganz deut­lich bewusst wurde mir das dann bei der Suche in Delve – nie würde ich an die­ser Stelle als "unvor­be­las­te­ter" Anwender auf die Idee kom­men, dass ein Teil der ange­zeig­ten Dokumente von einer ande­ren Plattform stammt:

Suchergebnisse in SPO - Delve

Mein Fazit zur Darstellung:

Das sieht wirk­lich Klasse aus und fühlt sich abso­lut "inte­griert" an. Wer es aber gern etwas deut­li­cher abge­trennt haben möchte, hat im klas­si­schen Suchcenter auch dazu die Gelegenheit. 🙂

Die Crux mit den Active Directory Gruppen

Nun last but not least zu den "bestimm­ten Umständen". Ich hatte näm­lich nach Abschluss der Einrichtung zuerst kei­ner­lei OnPremise-Suchergebnisse gese­hen. Die Fehlersuche lief auch erst ein­mal ins Leere – es sah so aus, als ob alles rich­tig kon­fi­gu­riert sei.

Unzählige IISRESETs, Search Service Neustarts, Full Crawls und der­glei­chen spä­ter kam ich schließ­lich auf die Idee, eine neue Site Collection anzu­le­gen. Auf die­ser trug ich mich als Site Collection Admin ein. Und siehe da: die Ergebnisse aus die­ser Site Collection wur­den in der SharePoint Online Suche ange­zeigt.

Das brachte mich dann schließ­lich auch zu des Rätsels Lösung:

Die Ursache:

  • Für die Cloud Hybrid Search ist Synchronisation der loka­len Active Directory Benutzerkonten mit Office 365 erfor­der­lich. In der Regel wer­den aber eben wirk­lich nur die Konten, nicht aber auch Active Directory Gruppen in die Cloud syn­chro­ni­siert.
  • Office 365 kann aber nichts mit einer Zugriffsberechtigung á la "GruppeXY hat Leseberechtigung" anfan­gen, weil es "GruppeXY" nicht kennt.

Die Folge:

  • Nur Nutzer, die im SharePoint OnPremise als Einzelbenutzer bzw. via SharePoint-Gruppen auf bestimmte Inhalte berech­tigt sind, kön­nen in Office 365 diese OnPremise-Inhalte sehen. (Dies ist z.B. für den Site Collection Admin impli­zit der Fall.)
  • Nutzer, die aus­schließ­lich via AD-Gruppen auf Inhalte berech­tigt sind, kön­nen diese Inhalte in SharePoint Online nicht sehen.

Lösungsoptionen:

  1. Zusätzlich zu den Benutzerkonten auch die AD-Sicherheitsgruppen ins Azure AD syn­chro­ni­sie­ren
  2. Alle Benutzer im SharePoint OnPremise als Einzelbenutzer bzw. über SharePoint-Gruppen berech­ti­gen

Wir haben für unsere Demo-Umgebung erst ein­mal den zwei­ten Weg gewählt.

Fazit

Ich bin um eine Erfahrung rei­cher gewor­den. Wenn man es genau nimmt, sogar um meh­rere. Ich weiß nicht nur, wel­che Fehler man bei der Einrichtung der Cloud Hybrid Search ver­mei­den sollte. Ich konnte in der Zwischenzeit auch damit "her­um­spie­len" und habe auch das Gegenstück, also die Anzeige der Online-Inhalte in der OnPremise-Suche, ein­ge­rich­tet. Darüber will ich aber in einem sepa­ra­ten Blogbeitrag berich­ten.

Sie inter­es­sie­ren Sie für Office 365 und SharePoint in einer hybri­den Umgebung? Sprechen Sie uns an.

22. November 2016

Pin It on Pinterest