none
Linked Server Zugriff Fehlermeldung: NT AUTHORITY\ANONYMOUS LOGON

    Frage

  • Hallo zusammen,

    folgende Infrastruktur:

    2x MS SQL Server 2012 SP3 Standard Edition
       SQLProd.Test.Local
       SQLTest.Test.Local

    2x Applikations-Server Windows Server 2012 R2 Datacenter Edition
        APPProd.Test.Local
        APPTest.Test.Local

    Benutzer:
        Test\Customer (DBOwner-Rolle für 2 Benutzer-Datenbanken)

    Auf den Applikations-Servern ist das SQL Server Management Studio installiert,
    über welches sich der Kunde mit dem Benutzer Test\Customer remote gegen den jeweiligen SQL Server verbindet.

    Auf SQLProd habe ich einen Linked Server eingerichtet, welcher auf SQLTest verweist.
    Im Sicherheits-Reiter ist Test\Customer mit "Impersonation" angegeben.
    Nun habe ich das Problem, dass die Verbindung mit Test\Customer nur dann funktioniert, wenn Test\Customer direkt am MS SQL Server angemeldet ist und den Linked Server direkt von SQLProd aus aufruft.

    Wird der Linked Server auf SQLProd über das Management Studio auf APPProd aufgerufen, erhalte ich beim Verbindungs-Test folgenden Fehler:

    Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. Reason: Could not find a login matching the name provided.

    Es scheint also ein Delegierungs-Thema zu sein. Allerdings fehlt mir nun eine Idee, wo ich genau nachsehen muss. Alle 4 AD Computer-Objekte sind im Reiter "Delegation" mit "Trust this Computer for Delgation (Kerberos only)" konfiguriert. Für Test\Customer ist die Option "Account is sensitive and cannot be delegated" deaktiviert.

    Ein entsprechender SPN scheint für alle beteiligten Server auch gesetzt zu sein. Ob dieser für meinen Zweck richtig gesetzt ist, kann ich allerdings nicht ganz beurteilen:

    APPPROD.Test.Local

    setspn -l APPPROD
    Registered ServicePrincipalNames for CN=APPPROD,OU=Servers,OU=Datacenter,DC=Test,DC=local:
            TERMSRV/APPPROD
            TERMSRV/APPPROD.Test.Local
            WSMAN/APPPROD.Test.Local
            WSMAN/APPPROD
            RestrictedKrbHost/APPPROD
            HOST/APPPROD
            RestrictedKrbHost/APPPROD.Test.Local
            HOST/APPPROD.Test.Local

    SQLPROD.Test.Local

    setspn -l SQLPROD
    Registered ServicePrincipalNames for CN=SQLPROD,OU=Servers,OU=Datacenter,DC=Test,DC=local:
            TERMSRV/SQLPROD
            TERMSRV/SQLPROD.Test.local
            WSMAN/SQLPROD
            WSMAN/SQLPROD.Test.local
            RestrictedKrbHost/SQLPROD
            HOST/SQLPROD
            RestrictedKrbHost/SQLPROD.Test.local
            HOST/SQLPROD.Test.local

    SQLTest.Test.Local

    setspn -l SQLTest
    Registered ServicePrincipalNames for CN=SQLTest,OU=Servers,OU=Datacenter,DC=Test,DC=local:
            TERMSRV/SQLTest
            TERMSRV/SQLTest.Test.local
            WSMAN/SQLTest
            WSMAN/SQLTest.Test.local
            RestrictedKrbHost/SQLTest
            HOST/SQLTest
            RestrictedKrbHost/SQLTest.Test.local
            HOST/SQLTest.Test.local
    Anbei auch der gescriptete Linked Server von SQLProd
    /****** Object:  LinkedServer [SQLPROD\MSSQL]    Script Date: 12.10.2017 16:09:55 ******/
    EXEC master.dbo.sp_addlinkedserver @server = N'SQLTest\MSSQL', @srvproduct=N'SQL Server'
     /* For security reasons the linked server remote logins password is changed with ######## */
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SQLTest\MSSQL',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SQLTest\MSSQL',@useself=N'True',@locallogin=N'Test\Customer',@rmtuser=NULL,@rmtpassword=NULL

    Kann mir jemand Schützenhilfe geben, wie ich den Zugriff auf den Linked Server auch von APPPROD aus funktionsfähig bekomme?

    Viele Grüße
    Kai


    Donnerstag, 12. Oktober 2017 14:13

Alle Antworten