Impedire connessione a sql server tramite 'Autenticazione di windows'

lunedì 12 maggio 2008 - 14.59

stena Profilo | Junior Member

volevo chiedere se è possibile impedire l'autenticazione a sql server 2005 tramite 'Autenticazione di windows' oppure concederla con permessi in sola lettura e lasciare privilegi di amministratore solamente se la connessione avviene in modalità 'Autenticazione di SQL Server'.
Il tutto perchè sql server è installato su un server dove l'utente potrebbe accedere con privilegi di amministratore e vorrei impedire
che possa accedere a sql con privilegi di scrittura.

grazie in anticipo per eventuali risposte.

lbenaglia Profilo | Guru

>Il tutto perchè sql server è installato su un server dove l'utente
>potrebbe accedere con privilegi di amministratore e vorrei impedire
>che possa accedere a sql con privilegi di scrittura.

Di default ogni utente appartenente al gruppo Administrators hai i diritti di sysadmin sull'istanza.
Per evitare che uno di questi utenti possa connettersi all'istanza mi vengono in mente 3 modi:

1) Soluzione brutale: Elimina la login BUILTIN\Administrators;
2) Disabilita la possibilità di autenticarsi all'istanza per la login BUILTIN\Administrators (Da SSMS > Security > Logins > Tasto DX su BUILTIN\Administrators > Properties > Status > Permission to connect to database engine: Deny);
3) Disabilita la login BUILTIN\Administrators (Da SSMS > Security > Logins > Tasto DX su BUILTIN\Administrators > Properties > Status > Login: Disabled).

Se invece vuoi semplicemente eliminare i diritti in scrittura alla login BUILTIN\Administrators, nel tab Server Roles togli il check a sysadmin e nel tab User Mapping mappa la login al corrispondente user account per i db di tuo interesse, associando ad ogni user account il ruolo db_datareader.
In questo modo qualunque utente Windows appartenente al gruppo BUILTIN\Administrators sarà in grado di autenticarsi all'istanza e di accedere in sola lettura ai db che hai selezionati in precedenza.

Personalmente la soluzione più pulita consisterebbe nel concedere l'accesso al sistema con diritti amministrativi solo alle persone che sono REALMENTE amministratori (e quindi con accesso come sysadmin ANCHE a SQL Server), definendo per tutti gli altri, utenti o gruppi con diritti più liminati...

>grazie in anticipo per eventuali risposte.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

stena Profilo | Junior Member

Ho provato a connettermi a sql tramite utente 'sa' con privilegi di amministratore e ad eseguire i punti 2 e 3.
Solamente che ottengo l'errore 15151: "impossibile modificare l'oggetto BUILTIN\Administrators... non si dispone dell'autorizzazione..."
Dove sbaglio ?

ciao e grazie per l'aiuto.

lbenaglia Profilo | Guru

>Ho provato a connettermi a sql tramite utente 'sa' con privilegi
>di amministratore e ad eseguire i punti 2 e 3.
>Solamente che ottengo l'errore 15151: "impossibile modificare
>l'oggetto BUILTIN\Administrators... non si dispone dell'autorizzazione..."
>Dove sbaglio ?

Sul mio notebook ho definito l'utente Windows Lorenzo appartenente al gruppo BUILTIN\Administrators e sono loggato con tale utente.
Ho lanciato SSMS e dall'Object Explorer mi sono connesso al Database Engine utilizzando la SQL Server Authentication e la login "sa".

A questo punto sono stato in grado di disabilitare la login Lorenzo (punto 3) senza problemi.
Se da sqlcmd tento di connettermi in Windows Authentication ottengo l'errore:

C:\Programmi\Support Tools>sqlcmd Msg 18470, Level 14, State 1, Server SVS05410, Line 1 Login failed for user 'SVS05410\Lorenzo'. Reason: The account is disabled.

>ciao e grazie per l'aiuto.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

stena Profilo | Junior Member

sinceramente non riesco a capire dove stia il problema.
Ho provato su alcuni pc a connettermi come 'sa' ma ogni volta mi dice sempre che non possiedo i privilegi necessari per disabilitare BUILTIN\Administrators.
Vorrà dire che userò la prima soluzione, anche se è la più 'brutale'.

ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5