Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kreiranje ogranicenog usera

[es] :: MS SQL :: Kreiranje ogranicenog usera

[ Pregleda: 1950 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

plotter
Beograd

Član broj: 212933
Poruke: 32
91.148.94.*



Profil

icon Kreiranje ogranicenog usera07.05.2009. u 00:22 - pre 182 meseci
Vec sam uradio sledece:

Code:

CREATE LOGIN [login] WITH PASSWORD='password';
CREATE USER [user] FOR LOGIN [login] WITH DEFAULT_SCHEMA=[A]


Na serveru imam nekoliko baza i svaka ima preko 100 tabela, cilj je da [user] ima SELECT,UPDATE,INSERT, DELETE privilegije samo na jednoj tabeli iz baze [A].
Ostalim tabelama baze [A]...[n] ne bi smeo da ima pristup.

Pokusao sam da GRANT-ujem gore navedene privilegije za nalog [user], ali nalog implicitno dobija sve privilegije na bazi [A].
Jedino da kucam DENY za 99 tabela i na kraju GRANT za ovu jednu.
Da postoji neko bolje resenje?


 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Kreiranje ogranicenog usera07.05.2009. u 10:18 - pre 182 meseci
Kreiraj novu rolu (ona je prazna po defaultu), dodaj permsiions za tabelu koju hoces i ubaci korisnika da bude samo u toj roli (izbaci iz postojecih)

Code:
CREATE ROLE [restricted] AUTHORIZATION [dbo]
go
GRANT DELETE, INSERT, SELECT, UPDATE ON [dbo].[Tabela] TO [restricted]
go

EXEC sp_droprolemember 'public', '[user]'
go
EXEC sp_addrolemember 'restricted', '[user]'
go

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

plotter
Beograd

Član broj: 212933
Poruke: 32
...prod.phx3.secureserver.net.



Profil

icon Re: Kreiranje ogranicenog usera07.05.2009. u 12:45 - pre 182 meseci
Pokusao sam na taj nacin ali i dalje imam dva problema:
1. Nije moguce uraditi sp_droprolemember za public rolu (SQL Server 2005)
2. Ograniceni user moze da radi cak i insert na svim tablama u bazi [A]

Ni u public roli ni u [restricted] roli ne postoji ni jedan GRANT na bazu [A] osim GRANT DELETE, INSERT, SELECT, UPDATE ON [dbo].[Tabela] TO [restricted].

btw. Da li treba da kazem USE [A] kada kreiram user-a i rolu, ili ovo treba vezati za neki drugi objekat?
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Kreiranje ogranicenog usera07.05.2009. u 14:44 - pre 182 meseci
Citat:
plotter: 1. Nije moguce uraditi sp_droprolemember za public rolu (SQL Server 2005)


Da, izvini. User je uvek po defaultu u public roli, a public bi trebalo da je prazan.
U svakom slucaju da bi bio siguran izvrsi sp_helpuser i vidi u kojim rolama se nalazi [user] i uradi sp_droprolemember za svaku od njih (sem restricted), ako imas neka prava sa userom onda to dolazi ili od direktnih dozvola ili od clanstva u nekoj roli. (Da vidis direktne GRANT-ove za usera koristi exec sp_helprotect @username='[user]')

Citat:
plotter:2. Ograniceni user moze da radi cak i insert na svim tablama u bazi [A]

Nisam siguran da si obavio sve kako treba. Ako restricted rola ima samo prava na jednoj tabeli i ako je user samo u toj roli onda nema druga prava sem tih. Ako postoje prava a public rola nema grantove onda ta prava dolaze od neke druge role u koju je uclanjen user, proveri sa sp_helpuser

Citat:
plotter:Ni u public roli ni u [restricted] roli ne postoji ni jedan GRANT na bazu [A]

Public je implicitna rola (npr kao Everyone u windowsu) i ne bi trebalo da ima uticaja na tvoj problem i ona treba da bude prazna. restricted rola sa druge strane mora da ima GRANT koji si malopre izvrsio. Verovatno je problem u sledecem:

Citat:
plotter: btw. Da li treba da kazem USE [A] kada kreiram user-a i rolu, ili ovo treba vezati za neki drugi objekat?

login je na nivou servera, ali su useri, role i dozvole na nivou baze, tako da je odgovor DA, treba ti USE [A] pre bilo kakvih izmena
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

plotter
Beograd

Član broj: 212933
Poruke: 32
...prod.phx3.secureserver.net.



Profil

icon Re: Kreiranje ogranicenog usera07.05.2009. u 14:54 - pre 182 meseci
Hvala na pomoci, neko je na SQL Serveru dao GRANT za sve privilegije na dbo.* public roli:
Code:

-- Imao sam sta da vidim kada sam izvrsio ovo....
select state_desc, permission_name, object_name(major_id) from sys.database_permissions where grantee_principal_id = user_id('public')


Dakle problem resen.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Kreiranje ogranicenog usera07.05.2009. u 15:09 - pre 182 meseci
sp_helprotect @username='public' bi ti dao detaljniji rezultat od ove skripte. Samo mala napomena, na 2005 i 2008 public rola ima fabricki GRANT SELECT na sys.* tabele u bazi. Nisam siguran zasto, ali ima, i ako si dobio samo te objekte u listi onda to nije problem.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: MS SQL :: Kreiranje ogranicenog usera

[ Pregleda: 1950 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.