Konfigurieren der eingeschränkten Kerberos-Delegierung für Webregistrierungsproxyseiten
Der Artikel enthält schrittweise Anleitungen zum Implementieren von Service for User to Proxy (S4U2Proxy) oder Kerberos Only Constrained Delegation für ein benutzerdefiniertes Dienstkonto für Webregistrierungsproxyseiten.
Ursprüngliche KB-Nummer: 4494313
Übersicht
Dieser Artikel enthält schrittweise Anleitungen zum Implementieren von Service for User to Proxy (S4U2Proxy) oder kerberos-only eingeschränkter Delegierung für Webregistrierungsproxyseiten. In diesem Artikel werden die folgenden Konfigurationsszenarien beschrieben:
- Konfigurieren der Delegierung für ein benutzerdefiniertes Dienstkonto
- Konfigurieren der Delegierung an das NetworkService-Konto
Notiz
Die in diesem Artikel beschriebenen Workflows sind spezifisch für eine bestimmte Umgebung. Die gleichen Workflows funktionieren möglicherweise nicht für eine andere Situation. Die Prinzipien bleiben jedoch gleich. Die folgende Abbildung fasst diese Umgebung zusammen.
Szenario 1: Konfigurieren der eingeschränkten Delegierung für ein benutzerdefiniertes Dienstkonto
In diesem Abschnitt wird beschrieben, wie Service for User to Proxy (S4U2Proxy) oder kerberos-only eingeschränkte Delegierung implementiert wird, wenn Sie ein benutzerdefiniertes Dienstkonto für die Webregistrierungsproxyseiten verwenden.
1. Hinzufügen eines SPN zum Dienstkonto
Ordnen Sie das Dienstkonto einem Dienstprinzipalnamen (Service Principal Name, SPN) zu. Gehen Sie dazu wie folgt vor:
Stellen Sie in Active Directory-Benutzer und -Computer eine Verbindung mit der Domäne her, und wählen Sie dann PKI-PKI-Benutzer> aus.
Klicken Sie mit der rechten Maustaste auf das Dienstkonto (z. B. web_svc), und wählen Sie dann "Eigenschaften" aus.
Wählen Sie den Attribut-Editor-DienstPrincipalName> aus.
Geben Sie die neue SPN-Zeichenfolge ein, wählen Sie "Hinzufügen" aus (wie in der folgenden Abbildung dargestellt), und wählen Sie dann "OK" aus.
Sie können auch Windows PowerShell verwenden, um den SPN zu konfigurieren. Öffnen Sie dazu ein PowerShell-Fenster mit erhöhten Rechten, und führen Sie dann aus
setspn -s SPN Accountname
. Führen Sie beispielsweise den folgenden Befehl aus:setspn -s HTTP/webenroll2016.contoso.com web_svc
2. Konfigurieren der Delegierung
Konfigurieren Sie die eingeschränkte Delegierung von S4U2proxy (nur Kerberos) für das Dienstkonto. Wählen Sie dazu im Dialogfeld "Eigenschaften" des Dienstkontos (wie im vorherigen Verfahren beschrieben) die Option "Delegierung>vertrauen" aus, damit dieser Benutzer nur an bestimmte Dienste delegierungen kann. Stellen Sie sicher, dass nur Kerberos verwenden ausgewählt ist.
Schließen Sie das Dialogfeld.
Wählen Sie in der Konsolenstruktur "Computer" und dann das Computerkonto des Front-End-Servers für die Webregistrierung aus.
Notiz
Dieses Konto wird auch als "Computerkonto" bezeichnet.
Konfigurieren Sie die eingeschränkte Delegierung von S4U2self (Protokollübergang) auf dem Computerkonto. Klicken Sie dazu mit der rechten Maustaste auf das Computerkonto, und wählen Sie dann "Eigenschaftendelegierung>>vertrauen" für diesen Computer aus, damit er nur an bestimmte Dienste delegieren kann. Wählen Sie dann Beliebiges Authentifizierungsprotokoll verwenden aus.
3. Erstellen und Binden des SSL-Zertifikats für die Webregistrierung
Um die Webregistrierungsseiten zu aktivieren, erstellen Sie ein Domänenzertifikat für die Website, und binden Sie es dann an die Standardwebsite. Gehen Sie dazu wie folgt vor:
Öffnen Sie das Dialogfeld Internetinformationsdienste-Manager.
Wählen Sie <in der Konsolenstruktur "HostName>" und dann "Serverzertifikate" aus.
Notiz
<HostName> ist der Name des Front-End-Webservers.
Wählen Sie im Menü "Aktionen " die Option "Domänenzertifikat erstellen" aus.
Nachdem das Zertifikat erstellt wurde, wählen Sie "Standardwebsite" in der Konsolenstruktur und dann "Bindungen" aus.
Stellen Sie sicher, dass der Port auf 443 festgelegt ist. Wählen Sie dann unter SSL-Zertifikat das Zertifikat aus, das Sie in Schritt 3 erstellt haben.
Wählen Sie "OK" aus, um das Zertifikat an Port 443 zu binden.
4. Konfigurieren des Front-End-Servers für die Webregistrierung für die Verwendung des Dienstkontos
Wichtig
Stellen Sie sicher, dass das Dienstkonto entweder Teil der lokalen Administratoren oder IIS_Users Gruppe auf dem Webserver ist.
Klicken Sie mit der rechten Maustaste auf "DefaultAppPool", und wählen Sie dann "Erweiterte Einstellungen" aus.
Wählen Sie "Prozessmodellidentität>", wählen Sie "Benutzerdefiniertes Konto" und dann "Festlegen" aus. Geben Sie den Namen und das Kennwort des Dienstkontos an.
Wählen Sie "OK " in den Dialogfeldern "Anmeldeinformationen festlegen" und "Anwendungspoolidentität " aus.
Suchen Sie in den erweiterten Einstellungen nach "Benutzerprofil laden", und stellen Sie sicher, dass sie auf "True" festgelegt ist.
Starten Sie den Computer neu.
Szenario 2: Konfigurieren der eingeschränkten Delegierung für das NetworkService-Konto
In diesem Abschnitt wird beschrieben, wie Sie S4U2Proxy oder kerberos-only eingeschränkte Delegierung implementieren, wenn Sie das NetworkService-Konto für die Webregistrierungsproxyseiten verwenden.
Optionaler Schritt: Konfigurieren eines Namens für Verbindungen
Sie können der Webregistrierungsrolle einen Namen zuweisen, den Clients zum Herstellen einer Verbindung verwenden können. Diese Konfiguration bedeutet, dass eingehende Anforderungen nicht den Computernamen des Front-End-Servers für die Webregistrierung oder andere Routinginformationen wie den dns-kanonischen Namen (CNAME) kennen müssen.
Angenommen, der Computername Ihres Webregistrierungsservers ist WEBENROLLMAC (in der Contoso-Domäne). Sie möchten, dass eingehende Verbindungen stattdessen den Namen ContosoWebEnroll verwenden. In diesem Fall lautet die Verbindungs-URL wie folgt:
https://contosowebenroll.contoso.com/certsrv
Es wäre nicht die folgenden:
https://WEBENROLLMAC.contoso.com/certsrv
Führen Sie die folgenden Schritte aus, um eine solche Konfiguration zu verwenden:
Erstellen Sie in der DNS-Zonendatei für die Domäne einen Aliaseintrag oder einen Hostnameneintrag, der den neuen Verbindungsnamen der IP-Adresse der Webregistrierungsrolle zuordnet. Verwenden Sie das Ping-Tool, um die Routingkonfiguration zu testen.
Im zuvor besprochenen Beispiel weist die
Contoso.com
Zonendatei einen Aliasdatensatz auf, der ContosoWebEnroll der IP-Adresse der Webregistrierungsrolle zuordnet.Konfigurieren Sie den neuen Namen als SPN für den Front-End-Server für die Webregistrierung. Gehen Sie dazu wie folgt vor:
- Stellen Sie in Active Directory-Benutzer und -Computer eine Verbindung mit der Domäne her, und wählen Sie dann "Computer" aus.
- Klicken Sie mit der rechten Maustaste auf das Computerkonto des Front-End-Servers für die Webregistrierung, und wählen Sie dann "Eigenschaften" aus.
Notiz
Dieses Konto wird auch als "Computerkonto" bezeichnet.
- Wählen Sie den Attribut-Editor-DienstPrincipalName> aus.
- Geben Sie HTTP/<ConnectionName> ein.<DomainName.com>, wählen Sie "Hinzufügen" und dann "OK" aus.
Notiz
In dieser Zeichenfolge ist ConnectionName der neue Name, <den Sie definiert haben, und <"DomainName>" ist der Name der Domäne.> Im Beispiel ist die Zeichenfolge HTTP/ContosoWebEnroll.contoso.com.
1. Konfigurieren der Delegierung
Wenn Sie noch nicht mit der Domäne verbunden sind, führen Sie dies jetzt in Active Directory-Benutzer und -Computer aus, und wählen Sie dann "Computer" aus.
Klicken Sie mit der rechten Maustaste auf das Computerkonto des Front-End-Servers für die Webregistrierung, und wählen Sie dann "Eigenschaften" aus.
Notiz
Dieses Konto wird auch als "Computerkonto" bezeichnet.
Wählen Sie "Delegierung" aus, und wählen Sie dann "Diesem Computer vertrauen" aus, damit die Delegierung nur an bestimmte Dienste erfolgt.
Notiz
Wenn Sie sicherstellen können, dass Clients immer die Kerberos-Authentifizierung verwenden, wenn sie eine Verbindung mit diesem Server herstellen, wählen Sie "Nur Kerberos verwenden" aus. Wenn einige Clients andere Authentifizierungsmethoden verwenden, z. B. NTLM oder formularbasierte Authentifizierung, wählen Sie "Authentifizierungsprotokoll verwenden" aus.
2. Erstellen und Binden des SSL-Zertifikats für die Webregistrierung
Um die Webregistrierungsseiten zu aktivieren, erstellen Sie ein Domänenzertifikat für die Website, und binden Sie es dann an die Standardwebsite. Gehen Sie dazu wie folgt vor:
Öffnen Sie den IIS-Manager.
Wählen Sie <in der Konsolenstruktur "HostName>" und dann "Serverzertifikate" im Aktionsbereich aus.
Notiz
<HostName> ist der Name des Front-End-Webservers.
Wählen Sie im Menü "Aktionen " die Option "Domänenzertifikat erstellen" aus.
Nachdem das Zertifikat erstellt wurde, wählen Sie "Standardwebsite" und dann "Bindungen" aus.
Stellen Sie sicher, dass der Port auf 443 festgelegt ist. Wählen Sie dann unter SSL-Zertifikat das Zertifikat aus, das Sie in Schritt 3 erstellt haben. Wählen Sie "OK" aus, um das Zertifikat an Port 443 zu binden.
3. Konfigurieren des Front-End-Servers für die Webregistrierung für die Verwendung des NetworkService-Kontos
Klicken Sie mit der rechten Maustaste auf "DefaultAppPool", und wählen Sie dann "Erweiterte Einstellungen" aus.
Wählen Sie "Prozessmodellidentität>" aus. Stellen Sie sicher, dass das integrierte Konto ausgewählt ist, und wählen Sie dann NetworkService aus. Wählen Sie anschließend OK aus.
Suchen Sie in erweiterten Eigenschaften nach "Benutzerprofil laden", und stellen Sie dann sicher, dass sie auf "True" festgelegt ist.
Starten Sie den IIS-Dienst neu.
Zugehörige Themen
Weitere Informationen zu diesen Prozessen finden Sie unter Authentifizieren von Webanwendungsbenutzern.
Weitere Informationen zu den S4U2self- und S4U2proxy-Protokollerweiterungen finden Sie in den folgenden Artikeln: