SQL Server 2005 - Nega Mostra di “sicurezza”, “Oggetti del server”, “replica” e “Management”?

StackOverflow https://stackoverflow.com/questions/1381234

Domanda

posso negare una visione specifica DB utente facendo qualcosa di simile a questo:

DENY VIEW ANY DATABASE TO Myuser

Ma, c'è un modo per negare anche la "sicurezza", "oggetti server", "replica" e "gestione" di essere visto da un utente remoto quando si accede tramite SSMS?

Grazie.

È stato utile?

Soluzione

Queste categorie SSMS sono aggregati di varie funzioni lato server. Prendete per esempio la scheda 'Protezione', questo dimostra 'Login', 'ruoli server' e 'credenziali'. Si consideri il nodo 'Accessi':

  • mostra accesso esistente, che è una vista su sys.server_principals la visibilità degli oggetti in questa vista del catalogo è limitata a entità (login) su cui l'utente corrente ha proprietà o ha vista la definizione autorizzazione sopra.
  • Permette di aggiungere un nuovo account di accesso, il che significa CREATE LOGIN questo a sua volta richiede ALTER ANY LOGIN o ALTER LOGIN permessi.
  • Permette di eliminare un account di accesso, il che significa DROP LOGIN e questo richiede ALTER ANY LOGIN.

Ora si potrebbe in teoria nega VISTA definizione sul login, negare ALTER ANY LOGIN e negare ALTER LOGIN per l'utente (s), ma non sarà in grado di negano proprietà di un account di accesso, in modo che l'utente sarà ancora vedere qualcosa lì (proprio login). Quindi è una battaglia persa. Si potrebbe applicare un ragionamento simile a uno qualsiasi degli altri pannelli in SSMS da nascondere e si raggiunge risultati simili.

Detto questo, ci si sta avvicinando questo dal punto di vista sbagliato. Sicurezza non si basa su DENY, si basa sempre su Grant. Gli utenti non dovrebbero avere alcun diritto inutili, punto. Non si dovrebbe avere a negare esplicitamente qualsiasi cosa, a nudo alcune circostanze straordinarie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top