Copyright ©
Mindbreeze GmbH, A-4020 Linz, 2024.
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Vor der Installation des Microsoft SharePoint Online Konnektors muss sichergestellt werden, dass der Mindbreeze Server installiert und der Microsoft SharePoint Online Konnektor in der Lizenz inkludiert ist. Zur Installation oder Aktualisierung des Konnektors verwenden Sie bitte das Mindbreeze Management Center.
Zur Installation des Plugins, öffnen Sie das Mindbreeze Management Center. Wählen Sie aus dem linken Menü den Punkt „Configuration“ aus. Anschließend navigieren Sie auf den Reiter „Plugins“. Im Abschnitt „Plugin Management“ wählen Sie die entsprechende Zip-Datei aus laden sie durch Auswahl der Schaltfläche „Upload“ hoch. Damit wird der Konnektor automatisch installiert oder gegebenenfalls aktualisiert. In diesem Zuge werden die Mindbreeze Dienste neugestartet.
Um den Microsoft SharePoint Online Konnektor standardmäßig zu konfigurieren, müssen folgende Plugins konfiguriert werden:
Wählen Sie zur Konfiguration die Installationsmethode „Advanced“.
Navigieren Sie auf den Reiter „Indices“ und klicken Sie auf das Symbol „Add new index“ rechts oben, um einen neuen Index zu erzeugen.
Geben Sie den Pfad zum Index ein und ändern Sie gegebenenfalls des Display Name.
Fügen Sie eine neue Datenquelle durch Klick auf das Symbol „Add new custom source“ rechts oben hinzu. Wählen Sie die Category „Microsoft SharePoint Online“ und konfigurieren Sie die Datenquelle nach Ihren Bedürfnissen.
Im Bereich „Sharepoint Online“ können Sie Ihre Microsoft SharePoint Online Installation, die indiziert werden soll, definieren. Folgende Optionen stehen zur Verfügung:
„Server URL“ | Die URL der Sharepoint Online Instanz, z.B.: https://mycompany.sharepoint.com |
„Admin Server URL“ | Die Admin URL der Sharepoint Online Instanz. Meistens ist es die Server URL mit einem -admin, z.B. https://mycompany-admin.sharepoint.com |
„Site Relative URL“ | Die relativen Pfade zu den Sites, die gecrawlt werden sollen, beginnend mit einem Schrägstrich, z.B.: /sites/mysite. Jede Zeile beinhaltet einen Pfad. Wenn dieses Feld leergelassen wird, werden automatisch alle Sites im Sharepoint Online gefunden und indiziert. Wenn Sites angegeben werden, werden nur die Subsites der angegebenen Sites gefunden. |
„Detect Yammer Attachment Sites“ | Wenn diese Einstellung aktiviert ist, versucht der Crawler zusätzlich zu Ihren aktuell konfigurierten Site Discovery Settings jede SharePoint Site zu finden, die automatisch von Yammer erstellt wurde, um Anhänge zu speichern. Wenn diese Einstellung aktiviert ist und keine Site Relative URLs definiert sind, werden nur Yammer Attachment Seiten gecrawlt. |
„Site Discovery Schedule“ | Eine Extended Cron Expression, die angibt, wann die Site Discovery ausgeführt werden soll. Die Ergebnisse werden dann bei den nächsten Crawlruns verwendet. Dadurch muss die eventuell aufwändige Site Discovery nicht bei jedem Crawlrun wiederholt werden. Eine Dokumentation und Beispiele zu Cron Expressions finden Sie hier. |
“Background Site Discovery Parallel Request Count” | Maximale Anzahl an HTTP Requests die parallel von der Site Discovery gesendet werden. |
“Site Discovery Strategy” | Die Methode, mit der die Site Discovery durchgeführt werden soll.
|
“Ignore Site Discovery Errors” | Wenn diese Option aktiviert ist, werden sämtliche Fehler bei der Site Discovery nur geloggt und ansonsten ignoriert. Diese Option können Sie verwenden, wenn Sie eine große und sich stetig ändernde Anzahl an Sites haben, und dabei unerwartete Fehler auftreten. |
“Do Not Crawl Root Site” | Wenn diese Option aktiviert ist, wird die Rootseite der Sharepoint Online Instanz (also z.B. mycompany.sharepoint.com) und deren Subseiten nicht gecrawlt. |
„Included Sites URL (regex)“ | Regular Expression, mit der angegeben werden kann, welche Subsites gecrawlt werden sollen. Wenn diese Option leer gelassen wird, werden alle Subsites gecrawlt. Die Regex matched auf relative URLs. z.B. /sites/mysite |
„Excluded Sites URL (regex)“ | Regular Expression, mit der angegeben werden kann, welche Subsites exkludiert werden sollen. Die Regex matched auf relative URLs. z.B. /sites/mysite |
„Included Lists/Files/Folders URL (regex)“ | Regular Expression, mit der angegeben werden kann, welche Listen, Files und Folders inkludiert werden sollen. Verglichen wird das Metadatum „url“ (absolute URL). Wenn diese Option leer gelassen wird, wird alles inkludiert. Anmerkung: Wenn Sie komplette Subsites aus inkludieren/exkludieren wollen, verwenden Sie bitte die Option „Included Sites URL (regex)“ oder „Excluded Sites URL (regex)“. |
„Excluded Lists/Files/Folders URL (regex)“ | Regular Expression, mit der angegeben werden kann, welche Listen, Files und Folders exkludiert werden sollen. Verglichen wird das Metadatum „url“ (absolute URL). Wenn Sie beispielsweise in der Mindbreeze Suche ein Dokument finden, das sie jedoch exkludieren möchten, können Sie die URL aus der „Öffnen“-Aktion kopieren und in der Option „Excluded Lists/Files/Folders URL (regex)“ verwenden. |
“Included Metadata Names (regex)” (Advanced Settings) | Regular Expression, mit der generische Metadaten mit Namen des Metadatum inkludiert werden sollen. Wenn nichts angegeben ist, werden alle Metadaten inkludiert. Die Regex wird auf den Namen des Metadatums (ohne den sp_ Prefix) angewendet. |
“Excluded Metadata Names (regex)” (Advanced Settings) | Regular Expression, mit der generische Metadaten mit Namen des Metadatum ausgeschlossen werden. Wenn nichts angegeben ist, werden alle Metadaten inkludiert. Die Regex wird auf den Namen des Metadatums (ohne den sp_ Prefix) angewendet. |
“Index Complex Metadata Types (regex)” | Regular Expression, mit der komplexe Metadaten für die Indizierung inkludiert werden können. Per Default werden komplexe Metadaten (z.B. Metadateneinträge, die selbst wieder mehrere Metadaten haben) nicht indiziert. Dieses Pattern bezieht sich auf den „Type“ des Metadatums, z.B. SP.FieldUrlValue für Link Felder oder SP.Taxonomy.TaxonomyFieldValue für verwaltete Metadaten. |
“Included Content Types (regex)” | Regular Expression, mit der Content Types (z.B. File, Folder) via Namen des Content Types inkludiert werden. Wenn nichts angegeben ist, werden alle Content Types inkludiert. Der Content Type von Objekten steht im contenttype Metadatum. |
“Excluded Content Types (regex)” | Regular Expression, mit der Content Types (z.B. File, Folder) via Namen des Content Types ausgeschlossen werden. Wenn nichts angegeben ist, werden alle Content Types inkludiert. Der Content Type von Objekten steht im contenttype Metadatum. |
“[Deprecated] Use delta key format” | Diese Option ist deprecated und sollte immer aktiviert bleiben, damit die volle Funktionalität des Crawlers verwendet werden kann. Wenn gesetzt, wird ein anderes Format für die Keys verwendet. Gewisse Funktionalitäten des Delta Crawlens (z.B. Umbenennen von Listen, Löschen von Attachment Files) funktionieren ohne diese Option nicht. Wenn diese Option geändert wird, sollte der Index neu indiziert werden. |
“Enable Delta Crawl” | Wenn gesetzt, werden von der Sharepoint Online API nur Änderungen an Files abgeholt anstatt über die ganze Sharepoint Online Instanz zu crawlen. Für volle Funktionalität sollte „Use delta key format“ gesetzt werden. |
“Skip Delta Errors” | Wenn gesetzt, werden Fehler beim Delta Crawl übersprungen. Ansonsten wird das Dokument, bei dem der Fehler aufgetreten ist, beim nächsten Crawlrun nochmal indiziert. Achtung: Wenn diese Option aktiviert wird, kann es zu Unterschieden zwischen dem Mindbreeze Index und Microsoft SharePoint Online kommen. Aktivieren Sie diese Option nur temporär, falls beim Delta Crawlen persistente Fehler auftreten, die sich nach mehreren Crawlruns nicht beheben. |
Wenn gesetzt, werden alle SharePoint Online Sites auch selbst als Mindbreeze Dokument indiziert. Der Content dieser Dokumente ist die Welcome Page der Site. Wenn diese Option deaktiviert wird, ist ein vollständiger Re-Index notwendig. | |
“Crawl hidden lists” | Wenn gesetzt, werden auch Listen, die als versteckt definiert sind, indiziert |
“Crawl lists with property 'NoCrawl'” | Wenn gesetzt, werden auch jene Listen indiziert, die in Microsoft SharePoint Online die Eigenschaft „NoCrawl“ besitzen. |
“Max Change Count Per Site” | Anzahl an Änderungen die beim Delta Crawl pro Seite abgearbeitet werden, bevor die nächste Seite bearbeitet wird. Die übrig gebliebenen Änderungen werden beim nächsten Crawlrun bearbeitet. |
“Trust all SSL Certificates” | Erlaubt die Verwendung von nicht gesicherten Verbindungen, beispielsweise für Testsysteme. Darf nicht in Produktion aktiviert werden. |
„Parallel Request Count” | Maximale Anzahl an HTTP Requests die parallel vom Crawler gesendet werden. |
„Page Size“ | Maximale Anzahl an Objekten die pro Request an die API erhalten werden. Ein hoher Wert führt sorgt für höhere Geschwindigkeit, aber auch zu größerem Speicherverbrauch während dem Crawlrun, ein kleiner Wert sorgt für weniger Speicherverbrauch, dafür verringert sich aber die Geschwindigkeit. Wird der Wert auf 0 gesetzt, wird kein Paging verwendet, also der Crawler versucht mit Request alle Objekte auf einmal abzuholen. |
„Max Content Length (MB)” | Begrenzt die maximale Dokumentgröße. Ist ein Dokument größer als dieses Limit, wird der Inhalt des Dokuments nicht heruntergeladen (die Metadaten bleiben erhalten). Der Standardwert ist 50 Megabytes. |
„[Deprecated] Send User Agent“ | Diese Option ist deprecated und sollte immer aktiviert bleiben. Der User Agent Header sollte immer mitgesendet werden. Passen Sie stattdessen die „User Agent“ Option an. Wenn aktiv, wird der mit der Option „User Agent“ konfigurierte Header bei jedem HTTP-Request mitgesendet |
„User Agent“ | Der angegebene Wert wird im User-Agent Header bei HTTP-Request mitgesendet, wenn die Option „Send User Agent“ aktiv ist. |
„Thumbnail Generation for Web Content“ | Wenn gesetzt, werden Thumbnails für Webdokumente generiert. Es ist nicht empfohlen dieses Feature zu aktivieren, da es nur für öffentliche Seiten mit anonymem Zugriff funktioniert, welche bereits eingestellt wurden. |
“Dump Change Responses” | Wenn gesetzt, werden die Antworten der Sharepoint API beim Deltacrawlen in ein Logfile geschrieben. |
“Log All HTTP Requests” | Wenn gesetzt, werden alle HTTP-Requests, die im Laufe des Crawlruns vom Crawler versendet werden, in ein .csv-File geschrieben (sp-request-log.csv). |
“Update Crawler State During Crawlrun” | Wenn gesetzt, wird der Crawlerstate während dem Crawlrun laufend geupdated (anstatt nur zu Beginn des Crawlruns), wodurch mehrfache Downloads desselben Files in gewissen Situationen verhindert werden können. Diese Option ist nur bei Delta Crawls aktiv. |
“Recrawl CSV File Path“ | Wenn gesetzt, wird die angegebene Datei überwacht und bei Änderungen während des Crawlruns kann eine Reindizierung von gewissen Seiten, Listen oder Items/Dateien ausgelöst werden. Die CSV Datei muss die folgende Kopfzeile haben: Jede Zeile kann folgende Werte haben:
Nur die Site Relative URL wird benötigt, die restlichen Werte sind optional. Beispielzeilen: /sites/Marketing;Documents;Schedule.docx;true: Die Datei “Schedule.docx” in der Liste „Documents“ in der Seite „/sites/Marketing“ wird neu indiziert. /sites/Marketing;SalesData;;: Die Liste “SalesData” in der Seite “/sites/Marketing” und alle ihre Items werden neu indiziert, falls sie noch nicht indiziert wurden oder sich ihr Änderungsdatum oder Berechtigungsinformation von der derzeit indizierten Version unterscheiden. Nachdem die CSV Datei verarbeitet wurde, wird sie auf <Dateiname>.old umbenannt. Dann kann eine neue Datei mit neuen zu indizierenden Objekten angelegt werden. Aus Performancegründen wird empfohlen, die CSV Datei in einen eigenen Ordner zu legen, ohne andere Dateien die oft editiert werden. Hierfür benötigt der mes Benutzer zumindest Read, Write und Execute Berechtigungen auf den Ordner und Read und Write Berechtigungen auf die Datei. |
Custom Delta CSV Path | Mit dieser Option kann ein Pfad zu einem .csv-File angegeben werden, mit dem eigene Deltapunkte angegeben werden können. Jede Zeile muss zwei mit Strichpunkten getrennte Einträge enthalten: Zuerst die Site Relative URL und dann ein Zeitpunkt im Format yyyy-MM-ddTHH:mm:ssZ. Dieser State wird nicht übernommen, wenn bereits ein State vorhanden ist. Soll der alte State überschrieben werden, muss dieser aus dem DeltaState File gelöscht werden. |
Update all ACLs | Wenn gesetzt, aktualisiert der Crawler alle ACLs von SharePoint Online Objekten. Diese Option sollte nur für Delta Crawlruns nach einem Plugin-Update verwendet werden, bei dem die Behandlung von ACLs verbessert wurde. Diese Option sollte nach einem Crawlrun wieder abgeschaltet werden, da sie eventuell viel Zeit in Anspruch nimmt. |
Check for Role Update within past Days | Mit dieser Einstellung prüft der Crawler auf Role Updates aller Sites in den letzten konfigurierten Tagen und verarbeitet diese. Aufgrund von Limitationen der SharePoint Online getChanges API, ist der maximale Wert 59 Tage. |
Dry Run Role Update Check | Wenn diese Option gesetzt ist, wird die Prüfung auf Role Updates seit dem oben konfigurierten Datum nur in einer Datei role-update.csv geloggt, anstatt vollständig verarbeitet zu werden. |
Wenn gesetzt, werden keine Zugriffsrechte zu Listen oder Dokumenten von Sharepoint geholt. Diese Option kann nur gesetzt werden, wenn mindestens eine Site ACL konfiguriert ist. | |
“Site ACL” | Mit dieser Option können eigene ACLs gesetzt werden. Das Site URL Pattern ist eine Regular Expression, für welche Seiten dieses Principal konfiguriert werden soll, mit Access Check Action kann ausgewählt werden, ob es sich um ein Grant oder Deny handelt und mit Principal wird die Gruppe/der User angegeben, für den das Principal gelten soll (z.B. everyone oder max.mustermann@mycompany.onmicrosoft.com). |
Tragen Sie die URL für den Azure AD Endpunkt im Feld „Azure AD endpoint“ nur dann ein, falls Sie eine SharePoint National Cloud verwenden.
Folgende Umgebungen benötigen spezielle URLs:
US Government |
Eine vollständige Liste zu Azure AD Endpunkten finden Sie auch unter:
Konfigurieren Sie die Optionen wie folgt:
„Use App-Only authentication“ | Wenn diese Option ausgewählt wird, wird die App-Only-Authentisierung anstatt der User Based Authentisierung verwendet. Wenn diese Option auswählt wird, müssen außerdem „Client ID“ und „Client secret“ konfiguriert werden. Zusätzlich müssen alle untenstehenden Schritte „App-Registrierung in Sharepoint“ durchgeführt werden. |
Das Credential, welches im „Network“-Tab erstellt wurde und die, wie nachfolgend beschrieben, generierte Client ID und das Secret enthält. | |
„[Veraltet] Client ID“ | Diese Option ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen die Einstellung „App Credential“. Die Client ID, die, wie nachfolgend beschrieben, generiert wird. |
„[Veraltet] Client secret“ | Diese Option ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen die Einstellung „App Credential“. Das Client Secret, das wie nachfolgend beschrieben, generiert wird. |
Es gibt zwei Möglichkeiten, eine neue App zu registrieren: entweder direkt in SharePoint Online oder in Azure. Das Secret einer App, die in SharePoint Online erstellt wird, läuft nach einem Jahr ab. Dann müsste das Secret via PowerShell erneuert werden. In Azure kann man einstellen, ob das Secret nach einem Jahr, zwei Jahre, oder gar nicht ablaufen soll.
Um eine Client ID und ein Client Secret zu generieren, geben Sie im Browser folgende URL ein:
<Server URL>/_layouts/15/appregnew.aspx
(z.B. https://mycompany.sharepoint.com/_layouts/15/appregnew.aspx)
Aktivieren Sie die beiden Buttons „Generate“ (bei „Client Id“ und „Client Secret“) und tragen Sie die anderen Informationen wie folgt ein:
Aktivieren Sie anschließend den Button „Create“.
Tragen Sie anschließend die Client ID und das Client Secret in die Mindbreeze InSpire Konfiguration ein. Auf das Client Secret können Sie ansonsten später nicht mehr zugreifen.
Erstellen Sie dafür im „Network“-Tab ein neues Credential vom Typ „OAuth 2“. In diesem Credential müssen Sie lediglich die Client ID und das Client Secret eintragen.
In Azure:
Um eine App in Azure zu erstellen, gehen Sie zuerst auf portal.azure.com.
Dort müssen Sie unter dem Reiter „Azure Active Directory“ und dann unter dem Reiter „App registrations“ eine neue App registrieren:
In der neu generierten App finden Sie dann die Application Id und unter dem Reiter „Certificates & Secrets“ können Sie einen Key generieren.
Tragen Sie anschließend die Client ID und das Client Secret in die Mindbreeze InSpire Konfiguration ein. Auf das Client Secret können Sie ansonsten später nicht mehr zugreifen.
Erstellen Sie dafür im „Network“-Tab ein neues Credential vom Typ „OAuth 2“. In diesem Credential müssen Sie lediglich die Client ID und das Client Secret eintragen.
Diese App Id und Secret können sie dann einfach in Schritt 2 verwenden um die App für SharePoint Online zu berechtigen.
Vergabe von Permissions in Sharepoint: Schritt 2
Es gibt zwei Möglichkeiten die Permissions für die App in SharePoint Online zu vergeben. Empfohlen ist die Vergabe von Tenant Permissions für die App, da die App damit simpel die Permissions für alle notwendigen Inhalte bekommt und diese ohne Probleme finden und indizieren kann.
Alternativ können Sie die Permissions für jede zu indizierende Seite einzeln vergeben. Damit können Sie die Permissions für die App auf das Minimum einschränken, aber falls Sie viele oder dynamische Inhalte indizieren wollten, benötigt diese Variante eventuell viel Wartungsarbeit.
Vorbereitung: Aktivieren von Custom App Authentication für neue Instanzen
Falls Sie eine relativ neue SharePoint Online Instanz besitzen (ab ca. Januar 2022), könnte es sein, dass die Custom App Authentication standardmäßig deaktiviert ist. In diesem Fall, müssen Sie folgende Kommandos in Ihrer Powershell ausführen, so wie in diesem Microsoft Forum beschrieben:
Install-Module -Name Microsoft.Online.SharePoint.PowerShell
$adminUPN="<the full email address of a SharePoint administrator account, example: jdoe@contosotoycompany.onmicrosoft.com>"
$orgName="<name of your Office 365 organization, example: contosotoycompany>"
$userCredential = Get-Credential -UserName $adminUPN -Message "Type the password."
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential
set-spotenant -DisableCustomAppAuthentication $false
Vergeben von Tenant Permissions
Geben Sie im Browser folgende URL ein:
<Admin Site URL>/_layouts/15/appinv.aspx
(z.B. https://mycompany-admin.sharepoint.com/_layouts/15/appinv.aspx)
ACHTUNG: Stellen Sie sicher, dass Sie sich auf der Admin-Seite befinden. Ist die URL beispielsweise https://mycompany.sharepoint.com, dann ist die Admin-Seite normalerweise https://mycompany-admin.sharepoint.com.
Tragen Sie die Client Id im Feld „App Id“ ein und aktivieren Sie den Button „Lookup“. „Title“, „App Domain“ und „Redirect URL“ werden dann automatisch ausgefüllt. Tragen Sie anschließend im Feld „Permission Request XML“ folgendes ein:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest
Scope="http://sharepoint/content/tenant"
Right="FullControl" />
</AppPermissionRequests>
Anmerkung: „FullControl“ wird benötigt, damit Mindbreeze InSpire auf die Zugriffsrechte der zu indizierenden Dokumente von SharePoint zugreifen kann, um die Berechtigungen auch in Mindbreeze InSpire abbilden zu können.
Aktivieren Sie anschließend den Button „Create“.
Alternativ: Vergeben von Permissions pro Seite
Sie müssen die folgenden Schritte für jede zu indizierende Seite wiederholen.
Geben Sie im Browser die URL ein:
<Server URL>/<Site Relative URL>/_layouts/15/appinv.aspx
(z.B. https://mycompany.sharepoint.com/sites/mysite/_layouts/15/appinv.aspx)
Tragen Sie die Client Id im Feld „App Id“ ein und aktivieren Sie den Button „Lookup“. „Title“, „App Domain“ und „Redirect URL“ werden dann automatisch ausgefüllt. Tragen Sie anschließend im Feld „Permission Request XML“ folgendes ein:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest
Scope="http://sharepoint/content/sitecollection"
Right="FullControl"
/>
</AppPermissionRequests>
Anmerkung: „FullControl“ wird benötigt, damit Mindbreeze InSpire auf die Zugriffsrechte der zu indizierenden Dokumente von SharePoint zugreifen kann, um die Berechtigungen auch in Mindbreeze InSpire abbilden zu können.
Aktivieren Sie anschließend den Button „Create“.
“Do Not Request File Author Metadata” | Wenn aktiv, werden keine Metadaten für die Autoren von Listen, Items oder Files angefordert. Dies kann eine mögliche Abhilfe für den Sharepoint-Fehler „HTTP 500: User cannot be found" sein. |
“Get Author From File Properties” | Wenn aktiv, werden die Autor Metadaten aus dem File/Properties Objekt abgeholt, anstatt von dem File/Author Objekt. Dadurch können Errors beim Crawlrun verhindert werden, wenn zum Beispiel der User inzwischen gelöscht wurde. Damit diese Option korrekt angewendet werden kann, ist ein vollständiger Re-Index notwendig. |
“List All Content Types“ | Wenn aktiv, wird am Beginn eines Crawlruns eine all-content-types.csv Datei im Log-Verzeichnis erstellt, welche alle Content Types aller Listen von allen konfigurierten Seiten enthält. |
“Analyse Completeness“ | Wenn aktiviert, wird während des Crawlruns eine listenbasierte Vollständigkeitsanalyse des Indexes durchgeführt, die in die eine Datei CompletenessAnalysis.csv im Log Verzeichnis geschrieben wird. Hinweis: Die Completeness Analyse überprüft nicht alle Sites in SharePoint Online, sondern nur jene die zur Indizierung konfiguriert sind. |
“Include Unpublished Documents” | Wenn aktiv, werden alle Dokumente/Items immer in der aktuellsten Version indiziert, egal ob sie bereits gepublished wurden. Wird diese Option ausgeschaltet, werden nur published Sites und nur Major Versions(1.0, 2.0 etc., wird bei der Versionierung normalerweise mit jedem publish erstellt) indiziert. |
“ASPX Content Metadata” | Mit dieser Option können eigene Metadaten als Content für .aspx Files gesetzt werden. Standardmäßig werden „WikiField“ und „CanvasContent1“ verwendet. Falls bei dieser Option Metadaten gesetzt sind, werden zuerst diese verwendet, falls sie vorhanden sind. Damit diese Option korrekt angewendet werden kann, ist ein vollständiger Re-Index notwendig. |
“Download OneNote Files as HTML via Graph API” | Wenn aktiviert, werden alle OneNote Dokumente (.one Dateien) über die Microsoft Graph API als HTML-Dokumente heruntergeladen. Dies ermöglichte eine genauere Interpretation der Dokumentinhalte. Die Dokumente werden weiterhin als .one Dateien angezeigt. Hinweis: Um diese Funktion zu verwenden, müssen folgende Punkte berücksichtigt werden:
|
“Graph Service Root” | Der Endpunkt/die URL der Microsoft Graph API. Standardmäßig „https://graph.microsoft.com“. Diese Einstellung nur ändern, wenn Sie eine nationale (nicht internationale) Microsoft Cloud verwenden. Eine Liste mit allen verfügbaren nationalen Cloud Endpunkten finden Sie weiter unten. |
Die Tenant ID Ihrer Microsoft 365 Instanz. Diese können Sie auf der Overview Seite der erstellen App in Azure entnehmen. | |
“Graph App ID” | Die Application (Client) ID der in Azure erstellten App. |
„Graph Client Secret“ | Das im Network Tab angelegte Credential, welches das erstelle Client Secret enthält. |
https://graph.microsoft.com | |
China | https://microsoftgraph.chinacloudapi.cn |
US Government L4 | https://graph.microsoft.us |
US Government L5 (DOD) | https://dod-graph.microsoft.us |
Eine vollständige Liste zu nationalen Cloud Endpunkte finden Sie auch unter: https://learn.microsoft.com/en-us/graph/deployments#microsoft-graph-and-graph-explorer-service-root-endpoints
Damit Microsoft Graph vom Sharepoint Online Connector abgerufen werden kann, muss zunächst eine neue App erstellt werden, die die Berechtigung zum Lesen des Microsoft Graphs hat. Diese App kann auf portal.azure.com erzeugt werden.
Um die App zu erstellen bzw. zu registrieren, navigieren Sie zu „Azure Active Directory“ -> „App registrations“ und klicken Sie auf den Button „New registration“:
Nach Erstellung der App, muss noch ein Secret erzeugt werden, damit sich der Crawler tatsächlich einloggen kann. Dies wird in Normalfall nach Erstellung der App automatisch angefordert. Ansonsten muss man unter „App registrations“ -> „Owned applications“ die gewünschte App anklicken und dann unter „Certificates & secrets“ -> „New client secret“ das Secret erstellen.
Beim Erstellen des Secrets können Sie die Ablaufzeit bestimmen. Wir empfehlen eine Ablaufzeit von 6-12 Monaten, damit das Secret regelmäßig gewechselt wird.
Hinweis: Sie müssen das erstellte Secret kopieren, damit Sie es direkt in die Mindbreeze Konfiguration eintragen können. Das Secret können Sie im Tab Network unter dem Bereich „Credentials“ hinzufügen, indem Sie auf den Button „Add Credential“ klicken.
Wenn Sie die Seite verlassen, können sie das Secret nicht mehr einsehen.
Nun müssen Sie der App noch die benötigten Berechtigungen geben. Navigieren Sie dafür zu „App permissions“. Der Microsoft Graph Crawler benötigt die folgenden Application Permissions in Microsoft Graph:
Nachdem Sie der App die Berechtigung erteilt haben, muss noch „admin consent“ gegeben werden. Verwenden Sie dafür den Button „Grant admin consent for <MyInstance>“:
Wählen Sie im neuen oder bestehenden Service in der Einstellung „Service“ die Option SharepointOnlinePrincipalCache aus. Für mehr Informationen über weitere Konfigurationsoptionen und über das Erstellen und das grundlegende Konfigurieren eines Cache für einen Principal Resolution Service, siehe Installation & Konfiguration - Caching Principal Resolution Service.
„Server URL“ | Die URL der Sharepoint Online Instanz, z.B.: https://mycompany.sharepoint.com Sollte genauso wie im Crawler konfiguriert werden. |
„Admin Server URL“ | Die Admin URL der Sharepoint Online Instanz. Meistens ist es die Server URL mit einem -admin, z.B. https://mycompany-admin.sharepoint.com Sollte genauso wie im Crawler konfiguriert werden. |
„Regex for your organization“ | Regulärer Ausdruck, der definiert, ob ein Benutzer der Organisation angehört oder nicht. Damit wird das Principal „everyone_except_external“ aufgelöst. Achtung: Dies ist eine sicherheitsrelevante Einstellung! Der reguläre Ausdruck kann sich dabei auf die E-Mail-Adresse, die ObjectSID oder die ObjectGUID aus LDAP beziehen. Der Standardwert enthält keine Benutzer. |
„Site Relative URL“ | Die relativen Pfade zu den Sites, die gecrawlt werden sollen, beginnend mit einem Schrägstrich, z.B.: /sites/mysite. Jede Zeile beinhaltet einen Pfad. Wenn dieses Feld leergelassen wird, werden automatisch alle Sites im Sharepoint Online gefunden und indiziert. Wenn Sites angegeben werden, werden nur die Subsites der angegebenen Sites gefunden. Sollte genauso wie im Crawler konfiguriert werden. |
„Site Discovery Schedule“ | Eine Extended Cron Expression, die angibt wann die Site Discovery ausgeführt werden soll. Die Ergebnisse werden dann bei den nächsten Crawlruns verwendet. Dadurch muss die eventuell aufwändige Site Discovery nicht bei jedem Crawlrun wiederholt werden. Eine Dokumentation und Beispiele zu Cron Expressions finden Sie hier. |
“Background Site Discovery Parallel Request Count” | Maximale Anzahl an HTTP Requests die parallel von der Site Discovery gesendet werden. |
“Site Discovery Strategy” | Die Methode, mit der die Site Discovery durchgeführt werden soll.
|
“Ignore Site Discovery Errors” | Wenn diese Option aktiviert ist, werden sämtliche Fehler bei der Site Discovery nur geloggt und ansonsten ignoriert. Diese Option können Sie verwenden, wenn Sie eine große und sich stetig ändernde Anzahl an Sites haben, und dabei unerwartete Fehler auftreten. |
“Do Not Crawl Root Site” | Wenn diese Option aktiviert ist, wird die Rootseite der Sharepoint Online Instanz (also z.B. mycompany.sharepoint.com) und deren Subseiten nicht gecrawlt. Sollte genauso wie im Crawler konfiguriert werden. |
„Included Sites URL (regex)“ | Regular Expression, mit der angegeben werden kann, welche Subsites gecrawlt werden sollen. Wenn diese Option leer gelassen wird, werden alle Subsites gecrawlt. Die Regex matched auf relative URLs. z.B. /sites/mysite Sollte genauso wie im Crawler konfiguriert werden. |
„Excluded Sites URL (regex)“ | Regular Expression, mit der angegeben werden kann, welche Subsites exkludiert werden sollen. Die Regex matched auf relative URLs. z.B. /sites/mysite Sollte genauso wie im Crawler konfiguriert werden. |
„Enable Delta Update“ | Wenn aktiviert, werden nach der ersten Cache-Erstellung nur die Änderungen an den Gruppen von Sharepoint Online abgeholt, anstatt jedes Mal alle Gruppen abzuholen. Dies ist vor allem bei sehr großen Sharepoint Instanzen empfohlen, da ein reguläres Cacheupdate ansonsten sehr lange dauern kann. Delta Updating mit User Based Authentisierung wird nicht unterstützt – falls Delta Updating benötigt wird, muss App Only Authentisierung verwendet werden. |
„Skip Cache Empty Check“ | Wenn diese Option aktiviert wird, wird die Überprüfung, ob der Cache leer ist, um in diesem Fall ein vollständiges Update zu machen, übersprungen. Achtung: Diese Option darf nur aktiviert werden, wenn der Cache schon einmal vollständig und erfolgreich aufgebaut wurde. Löschen Sie daher das Cache-Verzeichnis auf keinen Fall manuell, wenn sie diese Option aktiviert haben! Der Cache wird in diesem Fall nicht vollständig neu aufgebaut! Diese Option sollte nur aktiviert werden, wenn es Performance Probleme mit sehr großen Caches gibt. |
„[Deprecated] Send User Agent“ | Diese Option ist deprecated und sollte immer aktiviert bleiben. Der User Agent Header sollte immer mitgesendet werden. Passen Sie stattdessen die „User Agent“ Option an. Wenn aktiv, wird der mit der Option „User Agent“ konfigurierte Header bei jedem HTTP-Request mitgesendet |
„User Agent“ | Der angegebene Wert wird im User-Agent Header bei HTTP-Request mitgesendet. |
„Dump Change Responses“ | Wenn aktiviert werden die Changes, die wir von Sharepoint Online beim Delta Update erhalten, in ein File gedumpt. Dies ist zur Fehlersuche sehr hilfreich. |
“Log All HTTP Requests” | Wenn gesetzt, werden alle HTTP-Requests, die im Laufe des Cache Updates vom Principal Resolution Service versendet werden, in ein .csv-File geschrieben (sp-request-log.csv). |
„Parallel Request Count“ | Mit dieser Option kann definiert werden, wie viele HTTP-Requests vom Crawler gleichzeitig abgeschickt werden. Umso höher der Wert, umso schneller sollte der Crawlrun sein, allerdings kann ein zu hoher Wert auch zu vielen „Too Many Requests“ Errors auf Seiten von Sharepoint führen. Ein Wert über 30 ist nicht empfohlen. |
„Page Size“ | Maximale Anzahl an Objekten die pro Request an die API erhalten werden. Ein hoher Wert führt sorgt für höhere Geschwindigkeit, aber auch zu größerem Speicherverbrauch während dem Cache Update, ein kleiner Wert sorgt für weniger Speicherverbrauch, dafür verringert sich aber die Geschwindigkeit. Wird der Wert auf 0 gesetzt, wird kein Paging verwendet, also der Crawler versucht mit Request alle Objekte auf einmal abzuholen. |
“Trust all SSL Certificates” | Erlaubt die Verwendung von nicht gesicherten Verbindungen, beispielsweise für Testsysteme. Darf nicht im Produktions-Betrieb aktiviert werden. |
“Heap Dump On Out Of Memory” | Wenn diese Option aktiviert ist, macht der Principal Service einen Heap Dump falls er Out Of Memory läuft |
Nur notwendig, falls Sie App-Only Authentication auch bei der Datenquelle konfiguriert haben.
Die folgenden Konfigurationsoptionen sind veraltet. Bitte verwenden Sie stattdessen den Microsoft Azure Principal Resolution Service. Dadurch sind Cache Updates schneller und der Cache ist kleiner.
Falls Sie in Azure Active Directory die Funktion „AD Connect” nicht eingerichtet haben, oder SharePoint Sites crawlen, die über Microsoft Teams erstellt wurden, wählen Sie “ Resolve Groups over Graph” und füllen Sie die Felder „Tenant Context ID“, „Application ID“, „Generated Key“ aus. Die entsprechenden Werte finden Sie im Azure Portal.
Die Graph Page Size definiert die maximale Anzahl an Objekten die pro Request an die Graph API erhalten werden. Im Gegensatz zu SharePoint Online, kann das Paging in Graph nicht deaktiviert werden, daher muss dieser Wert immer zwischen 1 und 999 gesetzt werden.
Die Option „Resolve Site Owner over Graph“ ist notwendig, falls im Crawler „Grant Site Owner“ aktiviert ist und die Site Owner Graph Gruppen sind (wie in SharePoint Online meistens der Fall). Dann wird diese Gruppe für alle Seiten aufgelöst.
Die Erstellung einer neuen App wurde bereits in Schritt 1 des Kapitels „Bereich „App-Only Authentication“ gezeigt. Wiederholen Sie einfach diesen Schritt (Schritt 2 und 3 sind nicht notwendig).
Im Bereich “API permissions” müssen Sie dann der Application die notwendigen Permissions geben. Benötigt werden hier „Directory.Read.All“ Permissions für „Azure Active Directory Graph“:
Ist AD Connect in Ihrem Azure Active Directory eingerichtet, aktivieren Sie die Option „AD Connect is NOT configured“ nicht.
Falls Sie eine National Cloud verwenden, müssen Sie zusätzlich „Graph Azure AD endpoint“ und „Protected Resource Hostname“ ausfüllen.
In der folgenden Tabelle finden Sie die „Graph Azure AD endpoints“:
US Government |
Eine vollständige Liste zu Azure AD Endpunkten finden Sie auch unter:
https://learn.microsoft.com/en-us/azure/active-directory/develop/authentication-national-cloud#azure-ad-authentication-endpoints.
In der folgenden Tabelle finden Sie die „Protected Resource Hostnames“ für verschiedene Cloud-Umgebungen:
graph.microsoft.com | |
China | graph.chinacloudapi.cn |
US Government L4 | graph.microsoftazure.us |
US Government L5 (DOD) | graph.microsoftazure.us |
Deutschland | graph.cloudapi.de |
Eine vollständige Liste zu „Protected Resource Hostnames“ finden Sie auch unter:
https://learn.microsoft.com/de-de/graph/migrate-azure-ad-graph-request-differences#basic-requests (Spalte „Azure AD Graph“)
Wenn ein LDAP-Cache als Parent Cache verwendet wird, soll im LDAP-Cache unter „User Alias Name LDAP Attribute“ bzw. „Group Alias Name LDAP Attribute“ folgende Werte eingetragen sein:
cn
objectGUID
objectSID
Für mehr Informationen zu Parent Cache Settings, siehe Installation & Konfiguration - Caching Principal Resolution Service - Parent Cache Settings.
Für mehr Informationen zum LDAP-Cache bzw. zum LDAP-Konnektor, siehe Konfiguration - LDAP Connector.
Tragen Sie die URL für den Azure AD Endpunkt im Feld „SharePoint Azure AD endpoint“ nur dann ein, falls Sie eine SharePoint National Cloud verwenden.
Folgende Umgebungen benötigen spezielle URLs:
US Government |
Eine vollständige Liste zu Azure AD Endpunkten finden Sie auch unter https://learn.microsoft.com/en-us/azure/active-directory/develop/authentication-national-cloud#azure-ad-authentication-endpoints.
Der Microsoft Graph AAD Principal Resolution Service ist deprecated. Die dafür verwendete API wird demnächst von Microsoft eingestellt (siehe hier). Verwenden Sie stattdessen den Microsoft Azure Principal Resolution Service. (Aus Vollständigkeitsgründen wird in den folgenden Abschnitten die Konfiguration des deprecated Microsoft AAD Graph Principal Resolution Service beschrieben.)
Bei der Auflösung der SharePoint Online Gruppen im SharePoint Online Principal Resolution Cache kann es vorkommen, dass diese Gruppen wiederrum Office 365 Gruppen beinhalten. In diesem Fall müssen diese Gruppen über die Graph API aufgelöst werden und der Microsoft AAD Graph Principal Resolution Service wird benötigt. Falls Sie sich nicht sicher sind, ob ihre SharePoint Online Gruppen Office 365 Gruppen beinhalten, da dies durch die SharePoint Online UI oft nicht leicht ersichtlich ist, sollten Sie den Microsoft AAD Graph Principal Resolution Service sicherheitshalber einrichten und als Parent Service für den SharePoint Online Principal Resolution Service konfigurieren.
Die Erstellung einer neuen App wurde bereits in Schritt 1 des Kapitels „Bereich „App-Only Authentication“ gezeigt. Wiederholen Sie einfach diesen Schritt (Schritt 2 und 3 sind nicht notwendig).
Im Bereich “API permissions” müssen Sie dann der Application die notwendigen Permissions geben. Benötigt werden hier „Directory.Read.All“ Permissions für „Azure Active Directory Graph“:
Fügen Sie im Bereich „Services“ durch Klick auf „Add Service“ ein neues Service hinzu. Wählen Sie „MicrosoftGraphPrincipalCache“ aus und vergeben Sie einen Anzeigenamen.
„Tenant Context ID“ | Der Tenantname der Microsoft Instanz, z.B. mycompany.onmicrosoft.com |
„Application ID“ | Die Application ID der im Azure Portal erstellten App |
„Generated Key“ | Das Secret der im Azure Portal erstellten App |
„Protected Resource Hostname“ | Falls Sie kein spezifisches nationales Cloud Deployment verwenden, ist der Protected Resource Hostname graph.windows.net Falls Sie ein nationales Cloud Deployment verwenden, entnehmen Sie den Resource Hostname aus der untenstehenden Tabelle. |
„Graph Page Size“ | Die Anzahl an Graph Gruppen die pro Request and die Graph API abgeholt werden. |
“Log All HTTP Requests” | Wenn gesetzt, werden alle HTTP-Requests, die im Laufe des Updates vom Cache versendet werden, in ein .csv-File geschrieben (sp-request-log.csv). |
„User Agent“ | Der angegebene Wert wird im User-Agent Header bei HTTP-Request mitgesende. |
“Heap Dump On Out Of Memory” | Wenn diese Option aktiviert ist, macht der Principal Service einen Heap Dump falls er Out Of Memory läuft |
In der folgenden Tabelle finden Sie die „Protected Resource Hostnames“ für verschiedene Cloud-Umgebungen:
Globaler Service | graph.microsoft.com |
Deutschland | graph.microsoft.de |
China | microsoftgraph.chinacloudapi.cn |
US Government | graph.azure.us |
Eine vollständige Liste zu „Protected Resource Hostnames“ finden Sie auch unter: https://developer.microsoft.com/en-us/graph/docs/concepts/deployments
Die LDAP, Cache, Health Check, Service und Consumer Services Settings sind äquivalent zum SharePoint Online Principal Resolution Service.
Der SharePoint Online Authorization Service, setzt bei der Suche für jedes Objekt Requests an SharePoint Online ab, um herauszufinden ob der jeweilige User tatsächlich Zugriff auf dieses Objekt hat. Da dies teilweise viel Zeit in Anspruch nimmt, sollte der Authorization Service nur für Testzwecke verwendet werden – im Normalfall, müssen alle Checks des Authorization Service ohnehin positiv sein. Es lässt sich damit aber leicht herausfinden, ob es irgendwelche Probleme mit den Berechtigungen gewisser Objekte gibt.
Damit der Authorization Service bei der Suche verwendet wird, muss man im Index in den Advanced Settings die Option „Approved Hits Reauthorize“ auf „External Authorizer“ setzen und im Crawler muss als „Authorization Service“ der erstellte Authorization Service ausgewählt werden.
„Server URL“ | Die URL der Sharepoint Online Instanz, z.B.: https://mycompany.sharepoint.com Sollte genauso wie im Crawler konfiguriert werden. |
„SharePoint Online Email Regex“ | Regexpattern für Email Adressen die in SharePoint Online verwendet werden. Über dieses Pattern wird entschieden, welches Principal verwendet wird, um die Rechte in SharePoint Online zu überprüfen. |
„Parallel Request Count“ | Mit dieser Option kann definiert werden, wie viele HTTP-Requests vom Authorization Service gleichzeitig abgeschickt werden. Umso höher der Wert, umso schneller sollte der Authorizer sein, allerdings kann ein zu hoher Wert auch zu vielen „Too Many Requests“ Errors auf Seiten von Sharepoint führen. Ein Wert über 30 ist nicht empfohlen. |
„[Deprecated] Send User Agent“ | Diese Option ist deprecated und sollte immer aktiviert bleiben. Der User Agent Header sollte immer mitgesendet werden. Passen Sie stattdessen die „User Agent“ Option an. Wenn aktiv, wird der mit der Option „User Agent“ konfigurierte Header bei jedem HTTP-Request mitgesendet |
„User Agent“ | Der angegebene Wert wird im User-Agent Header bei HTTP-Request mitgesendet, wenn die Option „Send User Agent“ aktiv ist. |
Tragen Sie die URL für den Azure AD Endpunkt im Feld „Azure AD endpoint“ nur dann ein, falls Sie eine SharePoint National Cloud verwenden.
Folgende Umgebungen benötigen spezielle URLs:
China | |
US Government |
Eine vollständige Liste zu Azure AD Endpunkten finden Sie auch unter https://learn.microsoft.com/en-us/azure/active-directory/develop/authentication-national-cloud#azure-ad-authentication-endpoints.
Konfigurieren Sie die Optionen wie folgt:
„App Credential“ | Das Credential, welches im „Network“-Tab erstellt wurde und die, wie nachfolgend beschrieben, generierte Client ID und das Secret enthält. |
„[Veraltet] Client ID“ | Diese Option ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen die Einstellung „App Credential“. Die Client ID, die, wie nachfolgend beschrieben, generiert wird. |
„[Veraltet] Client secret“ | Diese Option ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen die Einstellung „App Credential“. Das Client Secret, das wie nachfolgend beschrieben, generiert wird. |
Für den Authenticator kann nur AppOnly Authentisierung verwendet werden.
Falls Sie App-Only Authentication verwenden, ist dieser Abschnitt für Sie NICHT relevant. Ansonsten gehen Sie wie folgt vor:
Navigieren Sie zum Reiter „Network“ und fügen Sie im Bereich „Credentials“ durch Klick auf „Add Credential“ ein neues Credential für Microsoft SharePoint Online hinzu.
Tragen Sie die Zugangsdaten für den User, mit dem die Indizierung erfolgen soll, ein und vergeben Sie einen Namen für das Credential. Wählen Sie einen Benutzer mit genügend Rechten um alle relevanten Seiten und die Berechtigungen auslesen zu können.
Fügen Sie anschließend im Bereich „Endpoints“ durch Klick auf „Add Endpoint“ einen neuen Endpoint für das eben erstellte Credential hinzu. Tragen Sie als Location die Server URL Ihrer Microsoft SharePoint Online Installation ein und wählen Sie das zuvor erstellte Credential aus.
Mit Hilfe von dem Sharepoint Online Konnektor, können auch OneDrive Seiten gecrawlt werden.
Dafür müssen zur Konfiguration einige Punkte beachtet werden:
Die folgenden SharePoint Online API Endpoints werden vom SharePoint Online Crawler und SharePoint Online Principal Resolution Service verwendet.
HTTP-Method | Beschreibung | |
<Azure Endpoint>/GetUserRealm.srf | POST | Falls der User ein ADFS User ist, wird mit diesem Endpoint der Authentisierungsserver abgeholt. |
<ADFS Authorisierungsserver> | POST | Gegen den Server, der mit dem GetUserRealm Call abgeholt wurde, wird ein Loginrequest gemacht. |
<Azure Endpoint>/rst2.srf | POST | Es wird ein Login-Token mit den eingetragenen Username/Password Credentials abgeholt. |
<ServerURL>/_vti_bin/idcrl.svc/ <AdminServerURL>/_vti_bin/idcrl.svc/ | GET | Mit dem zuvor abgeholten Token werden Logincookies abgeholt. Die Cookies der Admin-URL werden für die SiteDiscovery benötigt. |
<AdminServerURL>/_vti_bin/sites.asmx | POST | Mit den zuvor abgeholten Cookies, wird noch ein Digest-Hash abgeholt, welcher für die SiteDiscovery benötigt wird. |
<ServerURL>/_vti_bin/client.svc <AdminServerURL>/_vti_bin/client.svc | GET | Dieser Endpoint wird verwendet, um Informationen über den Tenant zu bekommen, z.B. die TenantId. |
<Azure Endpoint>/<Tenant Id>/tokens/OAuth/2 | POST | Mit diesem Endpoint wird ein Access Token für die AppOnly Authorization erzeugt. |
<AdminServerURL>/_api/ProcessQuery | POST | Mit diesem Endpoint werden alle Sites der Sharepoint Online Instanz gefunden, wenn AppOnly Authentisierung verwendet wird und die Site Discovery Strategy auf Auto gesetzt ist oder wenn die Site Discovery Strategy auf Admin API gesetzt ist. |
<ServerURL>/_api/search/query | GET | Mit diesem Endpoint werden alle Sites der Sharepoint Online Instanz gefunden auf die der User Zugriff hat, wenn User Based Authentisierung verwendet wird und die Site Discovery Strategy auf Auto gesetzt ist oder wenn die Site Discovery Strategy auf Search gesetzt ist. |
<ServerURL><SiteRelativeUrl>/_api/web/siteusers | GET | Mit diesem Endpoint werden alle Benutzer abgeholt, um herauszufinden welche Site Collection Administrators sind. |
<ServerURL><SiteRelativeUrl>/_api/Web/getChanges | POST | Mit diesem Endpoint werden beim Delta Crawl alle Changes einer Seite abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/Site/getChanges | POST | Mit diesem Endpoint werden beim Delta Update alle Group Membership Changes einer Site abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/Web/webs | GET | Mit diesem Endpoint werden die direkten Subseiten von Seiten abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/Web/RegionalSettings/TimeZone | GET | Mit diesem Endpoint wird die eingestellte Zeitzone der Seite abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/Web | GET | Mit diesem Endpoint werden die Metadaten einer Site abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/web/lists | GET | Mit diesem Endpoint werden alle Listen einer Seite und einige zusätzliche Metadaten abgeholt, unter anderem auch das „RoleAssignments“ Feld, für welches die „Enumerate Permissions“ Rechte benötigt werden. |
<ServerURL><SiteRelativeUrl>/_api/web/lists(guid’<ListId>’) | GET | Mit diesem Endpoint wird eine einzelne Liste abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/web/lists(guid’<ListId>’)/Items | GET | Mit diesem Endpoint werden alle Items einer Liste und einige zusätzliche Metadaten abgeholt, unter anderem auch das „RoleAssignments“ Feld, für welches die „Enumerate Permissions“ Rechte benötigt. |
<ServerURL><SiteRelativeUrl>/_api/web/lists(guid’<ListId>’)/Items(<ItemId>) | GET | Mit diesem Endpoint wird ein einzelnes Item abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/web/GetFileByServerRelativeUrl(‘<FileRelativeUrl’) <ServerURL><SiteRelativeUrl>/_api/web/GetFileById (‘<FileId>’) <ServerURL><SiteRelativeUrl>/_api/web/GetFileById (‘<FileId>’)/ListItemAllFields <ServerURL><SiteRelativeUrl>/_api/web/GetFileById (‘<FileId>’)/ListItemAllFields/Versions(<VersionId>) | GET | Mit diesen Endpoints werden die Metadaten eines Files abgeholt. |
<Direkter Link auf eine Datei>/$value | GET | Mit diesem Endpoint wird der Inhalt einer Datei heruntergeladen. |
<ServerURL><SiteRelativeUrl>/_api/Site | GET | Mit diesem Endpoint werden die Metadaten der Site Collection abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/Web/GetUserById(<Id>) | GET | Mit diesem Endpoint werden die Metadaten eines Users abgeholt. |
<ServerURL><SiteRelativeUrl>/_api/web/sitegroups <ServerURL><SiteRelativeUrl>/_api/web/sitegroups(<GroupId>)/users | GET | Mit diesem Endpoint werden alle Gruppen einer Seite und alle Benutzer in diesen Gruppen abgeholt. Für diesen Endpoint werden „Enumerate Permissions“ Rechte benötigt. |
Es gibt zwei Arten von möglichen Authentisierungsmethoden im SharePoint Online Crawler, die verwendet werden um eine SharePoint Online Instanz zu crawlen:
App Only Authentisierung ist die empfohlene Methode für die Authentisierung bei SharePoint Online, da es schnell einzurichten ist, wenig Fine Tuning mit Permissions und Einstellungen benötigt und Delta Crawling/Update unterstützt.
Um die volle Funktionalität des Crawlers zu verwenden, also:
muss dem Crawler Full Control Permissions gegeben werden. Die Full Control Permissions müssen sowohl auf der Site Collection, als auch der Tenant Ebene vergeben werden.
Werden ACLs nicht benötigt (wenn zum Beispiel nur öffentliche Seiten gecrawled werden), wäre es möglich das Crawlen mit Write Permissions (falls Site Discovery benötigt wird) oder Read Permissions (falls keine Site Discovery benötigt wird) durchzuführen.
Es gibt derzeit zwei verschiedene Varianten von User-Based Authentisierung: NTLM und ADFS. Zwischen den beiden Varianten besteht effektiv kein Unterschied in Bezug auf Konfiguration und Permission Settings.
Der SharePoint Online Crawler erkennt automatisch ob der konfigurierte Crawluser von einem ADFS System kommt, oder ob es sich um einen NTLM User handelt. Der Crawler meldet sich dann dementsprechend entweder bei dem ADFS Server oder direkt bei SharePoint Online an.
Für beide dieser Varianten, müssen die Userdaten mit dementsprechendem Endpoint zur SharePoint Online Instanz im Network Tab hinzugefügt werden.
Um die volle Funktionalität des Crawlers zu verwenden, also:
benötigt der User mindestens Enumerate Permission and Use Remote Interfaces Permissions auf jeder Seite, Liste und Item welches indiziert werden soll. Solange die Vererbung an keinem Punkt in der SharePoint Hierarchie gebrochen wird, reicht es aus dem User diese Permissions auf jeder Seite zu geben. Sollte die Vererbung an irgendeinem Punkt in der File-/Folder-/Subsite-Hierarchie gebrochen werden, muss man dem User eigens Permissions für die betroffenen Bereiche geben. Falls dies nicht geschieht, können Items nicht Indiziert werden oder der Crawl-Run bricht ab.
Delta Crawling (Crawler) und Delta Update (Cache) werden mit User-Based Authentisierung nicht unterstützt.
Da die User Based Authentisierung die Berechtigungen des Benutzers verwendet, können an einigen Stellen beim Crawlen Berechtigungsprobleme auftreten, wenn der Benutzer nicht über die erforderlichen Berechtigungen verfügt. Dieser Abschnitt soll dabei behilflich sein, mögliche Ursachen für Probleme (z.B. 403 Forbidden Responses beim Crawlen) die auftreten können, obwohl man dem User bereits Permissions auf alle zu crawlenden Seiten gegeben hat, zu finden und zu beheben.
Für die im Crawler und Principal Cache verwendeten Calls werden mindestens „Enumerate Permissions“ und „Use Remote Interfaces“ Permissions benötigt. Diese sind leider in keinem Default Permission Level vorhanden (Read, Write, Manage, Full Control sind die Default Levels – Enumerate Permissions ist nur in Full Control enthalten), deshalb wäre es am besten dafür ein eigenes Permission Level anzugeben und dieses dem User auf jeder zu crawlender Seite zu geben.
Dies kann durchgeführt werden, indem man auf der Permissions Seite der Site () auf „Permission Levels“ klickt und ein neues Permission Level mit „Enumerate Permissions“ und „Use Remote Interfaces“ erzeugt (wenn Enumerate Permissions ausgewählt wird, werden alle inherent Permissions mit ausgewählt):
Standardmäßig erben alle Objekte in SharePoint Online (also alle Seiten, Listen, Items, Files etc.) die Permission Einstellungen seines Parents. Diese Vererbung kann allerdings durchbrochen werden, wodurch Permission Änderungen des Parents nicht auf das Child Objekt übergreifen. In diesem Fall, muss dem User für diese Objekte extra Permissions gegeben werden.
Wenn es Objekte gibt, die die Vererbung durchbrechen, bekommt man auf der Permission Settings Seite () eine entsprechende Warnung:
Hidden Lists sind meistens Listen die nicht von Usern, sondern von SharePoint Online selbst für verschiedenste Dinge verwendet werden. Diese Listen müssen meistens nicht indiziert werden, da sie keine für User interessante Daten beinhalten. Das Crawlen dieser Listen kann mit der Option „Crawl Hidden Lists“ aktiviert und deaktiviert werden.
Falls diese Listen aber gecrawlt werden sollen, muss man sicherstellen, dass keine dieser Listen die Vererbung durchbrechen, bzw. falls doch, muss dem User Permission auf diese Listen gegeben werden. Da diese Listen in der GUI nicht angezeigt werden, gibt es von SharePoint Online auch keine Warnung falls die Vererbung durchbrochen wird. In diesem Fall muss mit Hilfe der SharePoint API überprüft werden, ob diese Listen die Vererbung durchbrechen.
Im ListItemCount.csv Logfile werden bei einem Full Crawlrun die Anzahl an Items in allen Listen der indizieren Seiten aufgelistet.
Das File beinhaltet nur Listen von Seiten die indiziert werden.
Das File beinhaltet alle Listen der indizierten Seiten, unabhängig von konfigurierten Include/Exclude Patterns.
Die Item Anzahl wird direkt aus der SharePoint Online API entnommen und ist daher auch unabhängig von konfigurierten Include/Exclude Patterns.
Das File beinhaltet die Site Relative URL, List Id, Listname, List URL und Anzahl an Items in der Liste.
Im documents-excluded.csv Logfile, werden alle Dokumente, die durch die Konfigurationssettings exkludiert wurden, aufgelistet.
Jeder Eintrag im File enthält:
Falls Sie vermuten, dass Dokumente die in SharePoint Online bereits gelöscht wurden, sich noch im Mindbreeze Index befinden, können Sie das Invalid Document Remover JMX Bean verwenden. Damit können Sie alle SharePoint Online Dokumente im Index überprüfen und gegebenenfalls löschen.
Das Tool „JMX Terminal“ ermöglicht das Abfragen und Ausführen von JMX Beans. Das Tool ist unter /opt/mindbreeze/tools/jmxterm-uber.jar bzw. unter C:\Program Files\Mindbreeze\Enterprise Search\Server\Tools\jmxterm-uber.jar zu finden. Das Tool beinhaltet eine interaktive Shell mit integrierter Hilfe.
Um das Tool zu starten, führen Sie folgendes aus:
cd /opt/mindbreeze/tools/
java -jar jmxterm-uber.jar
Anschließend startet die interaktive Shell.
Hinweis: unter Windows muss sichergestellt werden, dass das Java JDK verwendet wird.
Um den Invalid Document Remover zu starten, benötigen sie zuerst die Prozess ID des Microsoft SharePoint Online Crawlers. Diesen finden Sie im aktuellen Log Verzeichnis des Crawlers als .pid Datei.
Sie können sich mithilfe der folgenden Kommandos mit dem Bean verbinden:
# starting the tool
cd /opt/mindbreeze/tools/
java -jar jmxterm-uber.jar
#Welcome to JMX terminal. Type "help" for available commands.
$>open <PID>
#Connection to <PID> is opened
$>bean com.mindbreeze.enterprisesearch.connectors.sharepointonline.beans:type=InvalidDocumentRemoverMBean
#bean is set to com.mindbreeze.enterprisesearch.connectors.sharepointonline.beans:type=InvalidDocumentRemoverMBean
Nun können Sie mit Hilfe des run Kommandos die folgenden Befehle ausführen:
start: Startet den Invalid Document Remover Prozess.
cancel: Stoppt den aktuellen Invalid Document Remover Prozess.
status: Liefert Statusinformationen über den Invalid Document Remover.
Wenn Sie run start ausführen, wird der Invalid Document Remover gestartet. Dieser überprüft im Hintergrund alle SharePoint Online Dokumente im Index und entfernt Dokumente welche in SharePoint Online nicht mehr existieren. Der Prozess läuft solange, bis alle Dokumente abgearbeitet wurden, oder er mit cancel gestoppt wurde. Wenn der Crawler neu gestartet wird, macht der Invalid Document Remover dort weiter, wo er aufgehört hat.
Mit Hilfe des status Kommandos können Sie den Fortschritt nachverfolgen und herausfinden, ob der Prozess erfolgreich war oder fehlgeschlagen ist.
Das Ergebnis des Prozesses finden Sie im Log Directory des Crawlers in der invalid-document-remover.csv Datei.