23. Dezember 2020 13:06
Hallo zusammen, ich hätte den Titel Held des Jahres zu vergeben
wir haben das folgende, reproduzierbare Delegationsproblem mit Dynamics NAV 2009R2 im Zusammenhang mit Webservices und drehen uns aktuell im Kreis. Vielleicht hatte jemand schon mal ein ähnliches Problem.
Der Aufbau ist ein 3-Tier, wobei NST und Webservice auf demselben Rechner laufen und sich einen Prozess teilen.
APP01 = NST und Webservice-Host
gw49s* = Datenbankhosts für MSSQL 2014 Cluster
dynamicsNavProd = AD-Account für NST und Webservice
s_ssegw49scl01 = AD-Account für MS-SQL-Servercluster
Domain: frascio.local
Sie SPNs sollten meiner Meinung nach richtig gesetzt sein.
DynamicsNavProd:
Registrierte Dienstprinzipalnamen (SPN) für CN=Service DynamicsNAV Prod, OU=Serviceaccounts, OU=SBSUsers,OU=Users,OU=MyBusiness,DC=frascio,DC=local:
HTTP/gw49scl01.frascio.local:7047
HTTP/gw49sql01.frascio.local:7047
HTTP/gw49sql02.frascio.local:7047
HTTP/gw49sql02.frascio.local
HTTP/gw49sql01.frascio.local
HTTP/gw49scl01.frascio.local
HTTP/gw49scl01
HTTP/gw49sql02
HTTP/gw49sql01
HTTP/app01
HTTP/app01.Frascio.local
HTTP/app01:7047
HTTP/app01.Frascio.local:7047
DynamicsNAV/app01.frascio.local:7046
DynamicsNAV/app01:7046
s_ssegw49scl01:
Registrierte Dienstprinzipalnamen (SPN) für CN=s_sseGW49SCL01, OU=SQL, OU=Serviceaccounts, OU=SBSUsers,OU=Users,OU=MyBusiness,DC=frascio,DC=local:
MSSQLSvc/GW49SQL02.frascio.local:1433
MSSQLSvc/GW49SQL02:1433
MSSQLSvc/GW49SQL01.frascio.local:1433
MSSQLSvc/GW49SQL01:1433
MSSQLSvc/GW49SCL01.frascio.local:1433
MSSQLSvc/GW49SCL01:1433
Schalten wir die Delegierung des NST-Serviceusers auf
Kerberos Only kann sich der Nav-Service-User problemlos gegen alle Hosts im Netzwerk authentifizieren und somit auch auf die diversen Freigaben im Netz zugreifen, die für den Tagesbetrieb benötigt werden. Allerdings funktioniert dann die Authentifizierung des Webservices gegen den NST nicht, obwohl beide auf derselben Maschine laufen. Wir erhalten im Eventlog eine Kerberosfehlermeldung die zeigt, dass der Webservice ein leeres bzw. anonymes Token übergibt und somit die Authentifizierung verhindert.
Schalten wir dann im AD auf "any Protocol" und tragen hier als Gegenüber den DB-Serviceuser mit 1433 ein, funktioniert der Webservice sofort, aber der Zugriff auf alle anderen Hosts geht verloren. Der Nav-Serviceuser kann sich dann nur noch gegen den eigenen Host authentifizieren und nur auf die eigenen Freigaben zugreifen.
Der RTC funktioniert in beiden Szenarien problemlos.
Kennt jemand dieses Verhalten? Was müsste eingestellt sein, damit sowohl der Zugriff auf die Hosts des Netzwerkes, als auch der Webservice funktioniert?