Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SharePoint 2016-Administration Grundkurs

Kerberos und Dienstprinzipale

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Für die Authentifizierung sollte das Kerberos-Protokoll verwendet werden. Doch wurde auch ein Dienstprinzipalname erstellt?

Transkript

Eventuell kann es vorkommen, dass Sie, wenn Sie eine Webanwendung korrekt erstellt haben, dennoch permanent zur Eingabe von Benutzername und Kennwort aufgefordert werden. An was das liegt, woher das kommt, und wie Sie das beseitigen, möchte ich Ihnen in diesem Film zeigen. Auch wenn eine Webanwendung korrekt angelegt wurde, das heißt per SSL gesichert, mit einem entsprechenden FQDN, mit eigener IP-Adresse, mit dem Authentifizierungsanbieter Kerberos im Hintergrund, mit den entsprechenden Datenbanken; wenn alles richtig gelaufen ist und Sie im Anschluss daran dann in der Anwendungsverwaltung in der Zentraladministration eine Websitesammlung erfolgreich erstellen konnten und nun versuchen, diese URL aufzurufen, kann es passieren, dass Sie permanent zur Eingabe von Benutzername und Kennwort aufgefordert werden und nach dem dritten Mal ein HTTP-Fehler erscheint. Das heißt, Sie können die Websitesammlung, die Sie hier erstellt haben, niemals erreichen, von keiner Maschine aus. Sie müssen immer Benutzername, Kennwort eingeben. Auch wenn das korrekt ist, wird Sie SharePoint nicht zur Homepage dieser Websitesammlung führen. Die Ursache ist dann mit hoher Wahrscheinlichkeit, dass Sie Kerberos-Authentifizierung gewählt haben, allerdings übersehen haben, für das Dienstkonto einen Dienstprinzipalnamen anzulegen. Jede Webanwendung wird unter einem Application Pool, Anwendungspool, im IIS ausgeführt, dem ein entsprechendes Windows-Konto zugeordnet wurde. Man kann in den Sicherheitseinstellungen der Zentraladministration unter Dienstkonten konfigurieren die Webanwendung auswählen und kann nachsehen, welches Konto für diese Webanwendung hinterlegt wurde. Anschließend kann man mit der Kommandozeile oder der PowerShell; letztlich ist das Tool ein Kommandozeilentool, das aber in der PowerShell direkt umgesetzt wird; über das Kommando setspn, -l für list, und dann der Pfad zum Konto, also die Domäne, Backslash, und dann der Name des Kontos; wenn man diesen Befehl ausführt, wird man mit hoher Wahrscheinlichkeit feststellen, dass für dieses Konto kein Dienstprinzipalname hinterlegt ist. Mit eigenen Worten kurz erklärt: Unter Windows werden ja richtige Windows-Dienste jeweils auch mit einem Konto versehen. Das heißt, man gibt dem Dienste-Manager unter Windows klar bekannt, dass dieser Dienst mit seinem internen Namen unter diesem Konto gestartet werden soll. Das ist im Anwendungspoolbereich des IIS nicht möglich, denn alle Anwendungspools im IIS laufen im gleichen Prozesskontext. Das heißt, alle Anwendungspools, die vom IIS gestartet werden, laufen unter dem Prozessnamen w3wp, wie World Wide Web Worker Process. Dementsprechend kann Windows eigentlich diesen Prozess keinem Dienstnamen zuordnen. Es gibt also keinen Dienstprinzipalnamen. Die einzige Möglichkeit, über HTTP ein eindeutiges Kennzeichen zu finden, ist, dass man Host-Header-Namen nimmt, der letztlich im HTTP-Protokoll übertragen wird und sich aus dem ergibt, was der User hier nach dem http oder https eingibt. Das bedeutet, der Host-Header-Name in diesem Fall wäre also sp16server01.spdemo.local. Wäre ein Aufruf nach dem Muster http://sp16server01/ ohne die Domäne hinten dran, dann wäre der Host-Header-Name entsprechend sp16server01 ohne spdemo.local. Es gäbe also zwei verschiedene Host-Header-Namen. Diese Host-Header-Namen kann man nun nehmen und kann sie als Dienstprinzipalnamen einem Konto zuordnen, ganz ähnlich wie das hier in der Windows-Dienstekonsole ist. Das muss aber händisch geschehen unter Zuhilfenahme des Tools setspn. spn heißt Service Principal Name, set heißt festlegen. Mit -A gebe ich an, ich möchte einen neuen Dienstprinzipalnamen angeben. Als Nächstes muss die Dienstekennung angegeben werden und ich muss zuerst darüber informieren, dass es sich hier um einen HTTP-Dienst handelt. Und dann getrennt durch einen Slash über der 7 den Host-Header-Namen angeben, um den es geht. In unserem Fallbeispiel also sharepoint.spdemo.local. Es geht nur um den Host-Header-Wert, also http:\\ muss hier nicht angegeben werden. Es folgt ein Leerzeichen und anschließend wird das Konto, das als Dienstprinzipal verwendet werden soll, angegeben. Wenn man den Befehl als Domänenadministrator ausführt, wird der entsprechend auch eingetragen in der Domäne. Und ab sofort kann man jederzeit mit -l überprüfen, welche Dienstprinzipalnamen es für das Konto gibt. Es ist möglich, mehrere Dienstprinzipalnamen zu hinterlegen, um gegebenenfalls vorzubeugen, wenn User nur http/sharepoint eintippen, ohne spdemo.local. Dann hätten wir einen abweichenden Host-Header-Namen. Das heißt, es wäre jetzt möglich, einen zweiten Dienstprinzipalnamen einzutragen, diesmal aber nur unter Verwendung des Hostnamens. Beide HTTP-Host-Header-Werte würden nun für dieses Konto verwendet werden. Damit lösen Sie das Problem der stetigen Anmeldung. Nachdem Sie den Dienstprinzipalnamen mit setspn eingetragen haben, müsste eigentlich unmittelbar auch die Anmeldung an die SharePoint Website funktionieren.

SharePoint 2016-Administration Grundkurs

Lernen Sie, worauf es bei der Planung, Einrichtung und Administration einer SharePoint-Farm auf Basis von SharePoint Server 2016 ankommt.

8 Std. 21 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.10.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!