Mi è capitato ultimamente di eseguire operazioni di sincronizzazione di dati di business con ActiveDirectory tramite l’utilizzo di triggers SQL e sono incappato nel classico problema del double-hop. Lavorando con SQL il problema può essere ovviato tramite l’utilizzo della kerberos Delegation, ovviamente sconsigliata e sostituita dall’impersonificazione di un logon user per le operazioni di accesso in lettura/scrittura in Active Directory. L’aspetto che mi ha stupito, anche a causa della mia inesperienza in questo campo, è che nel momento dell’impersonificazione se intercorre un errore, ad esempio credenziali non corrette o algoritmo di de-criptazione della password andato a farsi benedire, non viene scaturita nessuna eccezione e viene impersonificato in maniera automatica l’utente del context di SQL, cioè il Service Account con il quale girà il servizio di MSSQL. L’ho scoperto quasi per caso, dopo aver constatato che l’autenticazione falliva. per la serie … non si finisce mai di imparare!