52 messaggi dal 11 marzo 2008
Ciao, gli utenti dell'azienda in cui lavoro accedono ad un'applicazione web.Ora ho necessità di limitare l'accesso all'istanza di SQL 2005, dove risiede il database dell'applicazione, ad uno o più determinati host(non all'user in quanto tutti i client si collegano con lo stesso user al database dell'applicazione)
E' possibile fare questo?
Spero di essermi spiegato bene.

Grazie
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
molto probabilmente dovrai intervenire con un logon trigger.. vedi ad esempio http://www.simple-talk.com/sql/t-sql-programming/logon-triggers/, http://www.sqlservercentral.com/articles/SQLServerCentral/sqlserver2005logontriggers/2366/ ma anche http://blog.sqlauthority.com/2009/05/27/sql-server-interesting-observation-of-logon-trigger-on-all-servers/ per interessanti osservazioni..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
Oltre alla soluzione suggerita da Andrea puoi intervenire a livello di rete impostando opportunamente il firewall del sistema operativo.
Si tratta di 2 soluzioni che lavorano a 2 livelli differenti. Con il logon trigger la connessione avviene comunque ma viene subito interrotta; nel secondo caso la connessione viene bloccata a livello tcp-ip ed il client non raggiunge affatto l'istanza di SQL Server.
Personalmente su tutti gli ambienti di produzione che gestisco ho realizzato un controllo accessi basato sull'utilizzo congiunto del firewall del sistema operativo e degli endpoint in SQL Server. Ho definito diversi endpoint ognuno dei quali mappa una differente porta TCP. Ogni applicazione utilizza un account in grado di connettersi ad uno solo di questi endpoint (un endpoint è un securable e come tale puoi concedere permessi di connect a determinati principal) e la connessione su tale porta è permessa esclusivamente dall'application server (o dagli application server) che utilizzano quell'account. Ciò non significa che se ho su una istanza 1000 database utilizzati da 1000 applicazioni devo creare 1000 endpoint su altrettante porte. Ne ho sempre un numero limitato (max 4 o 5) e se necessario alcuni login/applicazioni "condividono" fra loro un endpoint.
52 messaggi dal 11 marzo 2008
Andrea Montanari ha scritto:
salve,
molto probabilmente dovrai intervenire con un logon trigger.. vedi ad esempio http://www.simple-talk.com/sql/t-sql-programming/logon-triggers/, http://www.sqlservercentral.com/articles/SQLServerCentral/sqlserver2005logontriggers/2366/ ma anche http://blog.sqlauthority.com/2009/05/27/sql-server-interesting-observation-of-logon-trigger-on-all-servers/ per interessanti osservazioni..
saluti



Grazie questo potrebbe fare al caso mio
Seondo te è possibile definire una schedulazione di orario anche per un logon trigger?Tipo rendere valido un logon trigger solo il venerdì dalle 13 alle 14?
Grazie
Modificato da symonx80 il 27 aprile 2011 10.05 -
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
non ne capisco bene il motivo, ma potresti schedulare l'ENABLE TRIGGER (http://msdn.microsoft.com/en-us/library/ms182706(v=sql.90).aspx) ed il DISABLE TRIGGER (http://msdn.microsoft.com/en-us/library/ms189748(v=sql.90).aspx)...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.