Kerberos Delegation mit IIS und SQLServer

volkhardv 0 Zuverlässigkeitspunkte
2024-05-22T05:11:48.77+00:00

Hallo,
ich habe folgende Umgebung:

  1. Domäncontroller DomCtrl Win2016
    Delegierung im AD: Vertrauen Sie diesem Computer nicht für die Delegierung
  2. Memberserver Sqlserver: Win2016 mit SQLServer 2019
    Delegierung im AD: Vertrauen Sie diesem Computer nicht für die Delegierung
    Der SQLService läuft unter einen Domänen Account mit den Kerberos SPNs
    1. MSSQLSvc/sqlserver.vagintern3.local
    2. MSSQLSvc/sqlserver.vagintern3.local:1433
  3. Memberserver Webserver Win2016 mit IIS
    Delegierung im AD: Diesem Computer für die Delegierung an einen beliebigen Dienst vertrauen (nur Kerberos)
    Der ApplicationPool läuft mit der Pool-Identität.

Auf dem IIS-Server läuft eine .NetCore-WebApplication mit Windows-Authentifizierung, welche eine vertraute Verbindung zum SQLServer nutzt. Ein Benutzer UserA der WebApplikation ist also mit seinem AD-Konto UserA an der WebApplikation authentifiziert.

Ziel ist es, dass die Verbindung von der WebApplikation auf dem Webserver zum SQLServer über den Benutzeraccount UserA des Benutzers aufgebaut wird. D.h. die Authentifzierung des Benutzers UserA an der WebApplication wird an den SQLServer weitergereicht. Da dies laut Doku nur über Kerberos funktioniert, habe ich obige beschriebene Kerberos-Konfiguration vorgenommen.

Leider verbindet sich die WebApplikation mit dem Computer-Account WebServer$ - und nicht mit dem Benutzer UserA.

Hat jemand eine Idee?

Vielen Dank und viele Grüße

Windows-Entwicklung | Internetinformationsdienste
Windows für Unternehmen | Windows-Client für IT-Profis | Benutzerfreundlichkeit | Andere
SQL Server | Andere
SQL Server | Andere

Zusätzliche SQL Server-Funktionen und -Themen, die nicht von bestimmten Kategorien abgedeckt werden

0 Kommentare Keine Kommentare

2 Antworten

Sortieren nach: Neueste
  1. volkhardv 0 Zuverlässigkeitspunkte
    2024-06-18T12:49:00.2766667+00:00

    Hallo zuasmmen,
    es hat ein wenig gedauert - aber jetzt ist es gelöst:

    1. Die SPNs oben müssen für den SQL-Dienste-Account eingerichtet werden
    2. Die Delegierungs-EInstellungen am WebServer müssen mit den SQL-Dienste-Konto-SPNs sein:
      1. Option: Trust this computer for delegation to specified services only
      2. Option: Use any authentification protocol
      3. Option: Services to which the account can present delegated credentials:
    3. Die AspNet.Core-WebApp muss Windows-Authentication unterstützen (auch im IIS zusätzlich einstellen) und die SQLServer-Requests mit dem HttpContext impersonifiziert werden.

    Viele Grüße
    Volkhard

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  2. Ivan Dragov (CONCENTRIX Corporation) 2,640 Zuverlässigkeitspunkte Moderator
    2024-05-23T14:08:57.1233333+00:00

    Hallo volkhardv,

    Du solltest überprüfen, ob Du die Schritte in Schritt 8, Method 2: Configuration when we have SPN registered to the domain account korrekt ausgeführt hast, wie in diesem Artikel beschrieben:

    Setting up Kerberos Authentication for a Website in IIS

    Wenn alles korrekt ist, muss IIS seine Anwendungspoolidentität (die Du geändert hast, um auf das Domänenbenutzerkonto (domain user account) zu verweisen) verwenden, um das Kerberos-Token/Ticket zu entschlüsseln, das von AD erhalten und vom Client an den Server weitergeleitet wurde, um den Benutzer zu authentifizieren.

    Gruß,

    Ivan Dragov

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.