Accesso a Microsoft SQL Server utilizzando le credenziali di Active Directory


13

I nostri server Microsoft SQL sono in esecuzione su server Windows che fanno parte di un dominio di Active Directory.

Per una facile gestione degli utenti, la nostra autorizzazione SQL viene impostata utilizzando i gruppi di utenti di Active Directory come spiegato in questo post .

Ora funziona bene finché tutti lavorano all'interno del dominio. Le persone accedono al proprio computer utilizzando le proprie credenziali AD e possono connettersi al server SQL utilizzando "Autenticazione di Windows".

Il problema è che i nostri utenti lavoreranno anche su altri computer client che non fanno parte del dominio di Active Directory (e aggiungerli al dominio non è un'opzione).

Speravo che potessero semplicemente continuare a usare le loro credenziali AD per accedere al server usando l'autenticazione AD come menzionato nella schermata di accesso di SQL Server.

Schermata di accesso di SQL Server

Tuttavia, questo non sembra funzionare.

L'accesso con l'autenticazione password della directory di Acive comporta problemi con i certificati. Errore: "La catena di certificati è stata emessa da un'autorità non attendibile."

Cannot connect to x.x.x.x.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2146893019&LinkId=20476 (page does not exist)

Stranamente, se vado alle impostazioni "opzioni" nella finestra di accesso e seleziono la casella "certificato del server fidato". Improvvisamente NON riesco a collegarmi al server e ottengo semplicemente l'errore.

Cannot connect to x.x.x.x.

===================================

Login failed for user ''. (.Net SqlClient Data Provider)

L'impostazione che voglio ottenere è possibile? E se è così, come posso raggiungerlo? :)

Riepilogo: i server SQL sono in esecuzione in un dominio AD, gli utenti dispongono di credenziali AD ma devono anche essere in grado di accedere dai computer client NON parte del dominio AD con le loro credenziali AD.


Apri C:\WINDOWS\system32\cliconfg.exee controlla se è abilitata la crittografia forzata del protocollo. Se è disabilitato
Drifter104

No non è abilitato.
Gilles Lesire,

2
Problema interessante. Questo sembra valido: runas /netonly /user:domain\username "c:\path\ssms.exe" mssqltips.com/sqlservertip/3250/…
Michal Sokolowski

Risposte:


10

Il messaggio di errore è che i certificati sono stati emessi da un'autorità non attendibile. Questo sarebbe il tuo dominio AD, molto probabilmente.

Un paio di soluzioni alternative che potresti voler provare:

  1. Questo post di dba.stackexchange.com suggerisce di fare clic sul pulsante Opzioni nella finestra di connessione in alto e di aggiungerlo TrustServerCertificate=Truein Parametri di connessione aggiuntivi. Questo in pratica dice a SSMS che sì, lo sai, fallo e basta.
  2. Se ciò non funziona, questo post di dba.stackexchange.com suggerisce di usare runas per ingannare Windows. Ad esempio, runas /netonly /user:domain\username "C:\path_to\ssms.exe"non l'ho mai fatto con SSMS, ma vale la pena provare, dato che l'OP sembra trovarsi in una situazione simile a te (e mi fido del tipo che risponde).

Ad ogni modo, si spera che una di quelle soluzioni alternative faccia al caso tuo.


1
La prima soluzione non ha funzionato, era già stata affrontata nella mia domanda. La seconda soluzione sembra funzionare, anche se quando si accede dice ancora il mio nome di Windows accanto alla connessione, devo fare alcuni test se è effettivamente l'account di dominio e se funziona correttamente come sperato. Dita incrociate.
Gilles Lesire,

Se le runas funzionano, c'è un modo per evitare il prompt dei comandi? Non tutti i nostri utenti sono esperti di tecnologia.
Gilles Lesire,

3
Forse potresti creare un collegamento personalizzato? In realtà ho appena provato questo da solo aggiungendo runas /netonly /user:domain\username alla stringa iniziale di un collegamento copiato. Ha funzionato bene, anche se ha mostrato loro un prompt dei comandi per inserire le proprie credenziali.
Katherine Villyard,

Oppure usa Sysinternals ShellRunAs
noam

1

Il modo più semplice è semplicemente fare clic con il tasto destro del mouse su "Microsoft SQL Server Management Studio" - "altro" selezionare "Esegui come un altro utente". Ha funzionato per me. Ho pensato che se selezionassi "Active Directory - Password" dalla schermata di accesso che avrebbe fatto lo stesso lavoro ma ... sfortunatamente no.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.