SharePoint Hybrid Search: Zugriff SharePoint Online auf SharePoint 2013 OnPremise

30. Dezember 2014
SharePoint Hybrid Search

In unserer Blogserie zur Einrichtung einer unidirektional eingehenden Hybrid-Topologie hat Andreas Gottstein sich im ersten Teil mit der Installation und Konfiguraton der on-Premise Ressourcen Suche in SharePoint 2013 auseinandergesetzt. Im abschließenden zweiten Teil möchte ich euch beschreiben, wie man die Verbindung zwischen Cloud und on-Premise aufbaut und wie die Suche im Cloud Such-Center konfiguriert werden muss.

Aufbau der Verbindung zwischen Cloud und on-Premise

Um eine Verbindung aufzubauen, muss die Identitätsverwaltung für die Hybrid-Topologie eingerichtet werden. Hierbei werden Zertifikate zwischen der on-Premise Farm und SharePoint Online ausgetauscht. Zusätzlich wird ein neuer Authentication Provider bei SharePoint 2013 on-Premise eingerichtet, damit sich die Office 365 Benutzer für die OnPremise Suche anmelden können.

Um dies einzurichten, müssen verschiedene PowerShell Befehle ausgeführt werden:

  • Importieren der Microsoft Online Module in die SharePoint 2013 Management Shell
Import-Module MSOnline
Import-Module MSOnlineExtended 
  • Setzen der Zertifikatspfade und des Zertifikatspasswortes
$PfxCertPath = "c:\[certificate name].pfx"
$PfxCertPassword = "[password]"
$X64CertPath = "c:\[certificate name].cer" 
  • Setzen der on-Premise Domain für Office 365
$SPCN = "sharepoint.domain.com" 
  • Setzen der on-Premise SharePoint Search Center URL
$SPSite="http://sharepoint"
  • Zertifikat einbinden
$PfxCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $PfxCertPath, $PfxCertPassword, 20 
$PfxCertBin = $PfxCert.GetRawCertData() 
$PfxCertBin = $PfxCert.GetRawCertData() 
$X64Cert.Import($X64CertPath) 
$X64CertBin = $X64Cert.GetRawCertData() 
$CredValue = [System.Convert]::ToBase64String($X64CertBin) 
  • Verbinden zu Office 365
Connect-MsolService 
  • Registrieren von on-Premise SharePoint 2013 im Office 365

New-MsolServicePrincipalCredential -AppPrincipalId $SPOAppID -Type asymmetric -Usage Verify -Value $CredValue
$MsolServicePrincipal = Get-MsolServicePrincipal -AppPrincipalId $SPOAppID 
$SPServicePrincipalNames = $MsolServicePrincipal.ServicePrincipalNames
$SPServicePrincipalNames.Add("$SPOAppID/$SPCN")
Set-MsolServicePrincipal -AppPrincipalId $SPOAppID -ServicePrincipalNames $SPServicePrincipalNames 
$MsolCompanyInformationID = (Get-MsolCompanyInformation).ObjectID
$MsolServicePrincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $SPOAppID).ObjectID
$MsolServicePrincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $SPOAppID).ObjectID
  • Trust zum Azure Control Service in SharePoint 2013 on-Premise aufbauen

    $SPSite = Get-SPSite $SPSite
    $SPAppPrincipal = Register-SPAppPrincipal -site $SPSite.rootweb -nameIdentifier $MsolNameIdentifier -displayName "SharePoint Online"
    Set-SPAuthenticationRealm -realm $MsolServicePrincipalID 
    New-SPAzureAccessControlServiceApplicationProxy -Name "ACS" -MetadataServiceEndpointUri "https://accounts.accesscontrol.windows.net/metadata/json/1/" -DefaultProxyGroup
    New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://accounts.accesscontrol.windows.net/metadata/json/1/" -IsTrustBroker -Name "ACS" 

Wenn das erfolgt ist, ist die Identitätsverwaltung für die Hybrid-Topologie eingerichtet und die Suche kann im SharePoint Online konfiguriert werden.

Einrichtung SharePoint 2013 OnPremise Suche in SharePoint Online Search Center

Um die SharePoint 2013 OnPremise Suche in SharePoint Online einzurichten, muss man sich als Site Collection Administrator auf das SharePoint Online Such Center verbinden.

Wenn man auf das Such Center verbunden ist, geht man in die Websiteeinstellungen.

Dort angekommen, klickt man auf den Punkt Suchergebnisquellen (Search Results Source). Hier muss dann eine neue Quelle konfiguriert werden.

Hierzu muss ein Name für die Result Source angelegt werden.

Weiter muss eine Verbindung zu einem Remote SharePoint konfiguriert werden.

Hierfür wird die URL zu dem SharePoint 2013 on-Premise benötigt. Diese wurde im Reverse-Proxy konfiguriert. 

Zum Schluss muss noch die SSO-ID hinterlegt werden. Diese ist standardmäßig „SecureChannelTargetApp“. Hierdurch werden die Benutzer korrekt aufgelöst und die Ergebnisse werden benutzerdefiniert angezeigt.

Nachdem die Search Result Source angelegt wurde, kann diese im Result WebPart konfiguriert werden. Die Ergebnisse vom on-Premise SharePoint werden nun auch im Offcie 365 Suche Center angezeigt.

Hierzu klickt man am WebPart auf „WebPart bearbeiten“. Nachdem man das gemacht hat, erscheint folgendes Menü.

Dort klickt man auf „Abfrage ändern“ (Change Query). Hierbei kommt man in den eingebauten Query Builder von SharePoint 2013.

Hier muss dann die neu erstellte Quelle ausgewählt werden, d.h. in unserem Falle „Get results from SharePoint Server 2013“. Anschlie0end auf „Ok“ klicken und in den WebPart Einstellungen auf „Übernehmen“ klicken. Danach muss die Seite eingecheckt und publiziert werden. Wenn das erfolgt ist, können die Benutzer nach Inhalten vom On-Premise SharePoint 2013 suchen.

Neuen Kommentar schreiben