Permessi Sql Server 2008 R2

mercoledì 11 settembre 2013 - 17.20
Tag Elenco Tags  SQL Server 2008 R2

vittosss Profilo | Junior Member

Ciao,
la questione dei permessi mi par quasi complicata e chiedo gentilmente consigli.
parto dal fondo, ovvero, cosa vorrei. vorrei avere un utente (gigio) che posso aprire solo gli oggetti che hanno come schema gigio.
ho creato utente gigio ed il nuovo schema gigio. ho assegnato al mio db tale defaul ( se mi collego con utente gigio e creo, ad esempio, nuova sp, verrà creata come gigio.nuovastoredprocedure ).
ora, sarebbe molto molto molto bello che, sfogliando gli oggetti db io potessi vedere solo gli oggetti di gigio.
è possibile?

grazie a tutti
V.

alx_81 Profilo | Guru

>Ciao,
ciao

>parto dal fondo, ovvero, cosa vorrei. vorrei avere un utente
>(gigio) che posso aprire solo gli oggetti che hanno come schema gigio.
>ho creato utente gigio ed il nuovo schema gigio. ho assegnato
>al mio db tale defaul ( se mi collego con utente gigio e creo, ad esempio, nuova sp,
>verrà creata come gigio.nuovastoredprocedure).
>ora, sarebbe molto molto molto bello che, sfogliando gli oggetti
>db io potessi vedere solo gli oggetti di gigio.
Tu stai parlando di ownership, non tanto di permessi..
Tu hai definito un default owner e quindi, ogni creazione in cui non specifichi lo schema, ti crea l'oggetto sotto lo schema di default. Corretto?

Se poi vuoi che loggato come utente gigio tu veda solo gli oggetti sotto allo schema gigio, devi dare le GRANT al tuo utente.

>è possibile?

>grazie a tutti
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

vittosss Profilo | Junior Member

ho parzialmente risolto, ma in maniera poco elegante secondo me, creando un nuovo db ed assegnando all'utente gigio i permessi.
come di seguito indicato

create LOGIN TestAuth WITH PASSWORD='1234', CHECK_POLICY = OFF;

USE master;
GO
DENY VIEW ANY DATABASE TO TestAuth;


USE master;
GO
ALTER AUTHORIZATION ON DATABASE::TEST_Authorization TO TestAuth;
GO

però così è su tutto il db.

alx_81 Profilo | Guru

Ma tu non volevi mostrare gli oggetti di uno schema ad un utente specifico?
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

vittosss Profilo | Junior Member

si. è come dici.
temo di aver una profonda ignoranza dell'argomento.

quello che vorrei, in un db per esempio, è che un utente possa vedere solo e soltanto la sp che io decido

alx_81 Profilo | Guru

>quello che vorrei, in un db per esempio, è che un utente possa
>vedere solo e soltanto la sp che io decido
eh allora seguirei un'altra strada.

1) Crea un ruolo su db, chiamato tipo StoredProcedureCheVoglioIoRole
2) Crea una login su server chiamata UtenteTarpato
3) Assegna la login ad un utente sul tuo database (user mapping della login) selezionando il ruolo
4) fai GRANT per ogni oggetto di cui ti serve accesso al RUOLO:

stored procedure (esecuzione): GRANT EXECUTE ON schema.storedprocedure TO StoredProcedureCheVoglioIoRole
tabelle/viste (lettura): GRANT SELECT ON schema.tabella TO StoredProcedureCheVoglioIoRole
...

solo questo e direi che ci siamo



Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

vittosss Profilo | Junior Member

precisissimo.
birra offerta!

alx_81 Profilo | Guru

>birra offerta!
evviva!!! ma visto che dici che sono preciso.. che ne dici di un calice di buon rosso? di dove sei (giusto per capire il vino che posso trovare )?

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

vittosss Profilo | Junior Member

dico che un calice è troppo poco, la mia regione, la lombardia ( banalmente...vivo in brianza, lavoro a milano ) penso possa offrire qualcosa di tuo gusto. se non di produzione locale, penso si riesca a trovare qualcosa di importato :-)
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