HowTo: Konfiguration SC2012 SP1 Service Provider Foundation

Nachdem ich mich in den letzten Tagen etwas intensiver mit der SC2012 SP1 Service Provider Foundation auseinander setzen durfte, bin ich um einige Erfahrungen reicher. Dies betrifft die Konfiguration der SPF sowie die Anbindung des SC2012 SP1 App Controller und der Windows Azure Services on Windows Server. Um diese Thematik dreht sich auch der heutige Blogartikel.

Installation SC2012 SP1 Provider Foundation:

Bei der Installation der SPF sollte man darauf achten, dass man für die Website kein selbstsigniertes Zertifikat verwendet. Ansonsten muss dieses später auf den Servern für den App Controller und die Windows Azure Services importiert werden, damit die Anbindung funktioniert.

Des Weiteren sollte der Service Account für die Web Application Pools ein Domänenaccount sein, den man auch direkt in die jeweilige Benutzergruppe beim Setup hinzufügt. So erspart man sich im Nachhinein umfangreichere Nachkonfigurationen.

Fügt man den Service Account nicht zu den Benutzergruppen hinzu, so muss man später dem Computerkonto die Rechte erteilen, sich zur Datenbank verbinden und eine SELECT Abfrage ausführen zu dürfen. Dies ist wiederum aber nur der Fall falls die Datenbank auf einem Remote SQL Server ausgeführt wird. Bei einem lokalen SQL Server muss dem Konto “Network Services” diese Berechtigung erteilt werden. Hinzu kommt noch, dass der Service Account den lokalen Gruppen SPF_Admin, SPF_VMM und SPF_Provider hinzugefügt werden muss. Daher am besten dies direkt beim Setup erledigen, um unnötige Schritte zu vermeiden.

Da der Service Account dadurch gleichzeitig der Gruppe SPF_Admin sowie den Web Application Pools zugeordnet ist, braucht man nur für diesen Account die folgenden Berechtigungen auf dem SQL Server und der SPF Datenbank überprüfen.

-> http://technet.microsoft.com/en-us/library/jj900491.aspx

Erstellen von Tenants – SC2012 SP1 Service Provider Foundation:

Zum Erstellen eines Tenants habe ich mir die unter http://technet.microsoft.com/en-us/library/jj613915.aspx und http://technet.microsoft.com/en-us/library/jj871723.aspx aufgeführten Schritte in einem PowerShell Skript zusammengefasst. Wichtig hierbei ist es wieder anstelle eines selbstsignierten Zertifikats eines von einer CA zu verwenden.

Import-Module virtualmachinemanager
Import-Module spfadmin
$stamp = New-SCSPFStamp -Name “Stamp”
$path = “C:UsersAdministratorDesktopPublic.cer”
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($path)
$key = [Convert]::ToBase64String($cert.RawData)
$tenant = New-SCSPFTenant -Name “Tenant” -IssuerName “spf.domain.tld” –Key $key
Set-ExecutionPolicy remotesigned
$TARole = New-SCUserRole -VMMServer “VMMServer.domain.tld” -Name “Tenant-VMM” -ID $tenant.Id -UserRoleProfile TenantAdmin
$TenantSSU = New-SCSPFTenantUserRole -Name “Tenant-SSU” -Tenant $tenant
$vmmSSU = New-SCUserRole -VMMServer “VMMServer.domain.tld” -Name “Tenant-VMMSSU” -UserRoleProfile SelfServiceUser -ParentUserRole $TARole -ID $TenantSSU.ID
$server = New-SCSPFServer -Name “VMMServer.domain.tld” -ServerType 0
Set-SCSPFStamp -Stamp $stamp -Tenants $tenant -Servers $server

Damit werden der Stamp, der Tenant, die Rollen und die Zuordnung zwischen VMM und SPF sowie zwischen Stamp, Tenant und Server eingerichtet. In einem weiteren PowerShell Skript habe ich ein leeres Offering erstellt, welches wiederum dem Stamp und dem Tenant zugeordnet wird.

Import-Module virtualmachinemanager
Import-Module spfadmin
$stamp = Get-SCSPFStamp|Where {$_.Name -eq “FuM-DEMO-Stamp”}
$tenant = Get-SCSPFTenant|Where {$_.Name -eq “FuM-DEMO-Tenant”}
New-SCSPFOffer -Name “Offer” -Tenants $tenant -Stamps $stamp

Damit ist die SPF rudimentär konfiguriert, was für meine Zwecke auch erst einmal ausreicht.

Sollte man im Nachhinein die Datenbank der SPF umziehen wollen, dann ist folgender Befehl sehr hilfreich, um die Verbindung auf den neuen SQL Server umzuändern.

Set-SCSPFConnectionString -ConnectionString “Data Source=SQLServerInstanz,Port;Database=SCSPFDB;Integrated Security=True;MultipleActiveResultSets=True;”

Anbindung SC2012 SP1 App Controller:

Die Anbindung des SC2012 SP1 App Controller ist unter http://technet.microsoft.com/en-us/library/jj871728.aspx beschrieben.

Aber auch hier gibt es einige Dinge zu beachten:

  1. In Punkt 5. unter “To connect to App Controller as a Tenant” muss die URL anstelle von http:// mit https:// beginnen. Darauf macht aber auch die App Controller Oberfläche aufmerksam.
  2. Bei einem selbstsignierten Zertifikat für die SPF Website muss dieses auf dem App Controller für das lokale Computerkonto in die vertrauenswürdigen Stammzertifizierungsstellen importiert werden.
  3. Die obengenannten Einstellungen für den SQL Server, da sonst das Hinzufügen nicht funktioniert.
  4. Der Service Account der Web Application Pools muss als VMM Administrator über die VMM Konsole zugeordnet werden. Ansonsten erhält man eine wunderschöne Meldung, dass der Stamp nicht aufgerufen/durchsucht werden kann.

Wie prüft man am besten, ob die Berechtigungen für den SQL Server passen? Man ruft für den jeweiligen Tenant, den man registrieren möchte, die folgende URL auf:

https://SPF:8090/SC2012/vmm/Microsoft.Management.Odata.svc/Tenant-ID

Bevor man dies macht, sollte in der C:inetpubSPFSC2012VMMWeb.config die folgende Zeile hinzugefügt werden, so dass man die vollständige Fehlermeldung erhält.

<system.web> <customErrors mode=”Off”/> </system.web>

Die anschließende ArgumentOutOfRangeException kann ignoriert werden. Diese zeigt, dass der SQL Server Zugriff ohne Probleme funktioniert.

Anbindung Windows Azure Services on Windows Server:

Die Anbindung der Windows Azure Services on Windows Server ist unter http://technet.microsoft.com/en-us/library/jj871728.aspx beschrieben.

Aber auch hier gibt es einige Dinge zu beachten:

  1. In Punkt 3. unter “To register Service Provider Foundation in Service Management Portal and API” muss die URL nicht https://SPF:8090/SC2012/admin/Microsoft.Management.Odata.svc/ sondern https://SPF:8090/ lauten. Ansonsten schlägt das Hinzufügen mit einer nichtssagenden Fehlermeldung fehl.
  2. Bei einem selbstsignierten Zertifikat für die SPF Webseite muss dieses auf dem Server der Windows Azure Services für das lokale Computerkonto in die vertrauenswürdigen Stammzertifizierungsstellen importiert werden.
  3. In Punkt 4. unter “To register Service Provider Foundation in Service Management Portal and API” sollte der Service Account der SPF angegeben werden. Hat man sich an die oben genannten Angaben bei der Installation der SPF gehalten, entfallen die Punkte unter “To register Service Management Portal and API credentials in Service Provider Foundation”.

Ich hoffe dieser Blogartikel erspart dem Einen oder Anderen das Kopfzerbrechen, welches ich in den letzten beiden Tagen hatte. Sicherheitstechnisch entspricht die Konfiguration nicht gerade dem “State of the Art”, aber das Problem liegt hier eher bei Microsoft. Gerade in Hinblick auf, dass der Service Account zu den VMM Administratoren gehören und im Endeffekt auch in den entsprechenden SPF Gruppen vorhanden sein muss, damit die Anbindung funktioniert.

Facebooktwittergoogle_pluslinkedinmail

Leave a Reply