Skocz do zawartości
Forum użytkowników
Adam G

Uprawnienia MSSQL

Polecane posty

Witam mam problem

Próbuję utworzyć użytkownika bazy który będzie miał dostęp tylko do baz danych bez możliwości edycji innych użytkowników.

I co bym nie próbował mam następujący problem.

2019-07-29_11h37_06.thumb.png.41f964d84062ebef04fc7413f82c0115.png

 

Jakaś podpowiedz o czym zapomniałem?

 

Udostępnij ten post


Link to postu

To w takim razie proszę zajrzeć do %localappdata%\InsERT\Logs\ i zobaczyć, czy zapisał się tam jakiś błąd (w pliku .xml). Bez szczegółowych informacji trudno powiedzieć, co się dzieje. 

Edytowano przez Katarzyna Rozmarynowska

Udostępnij ten post


Link to postu

Oczywiście na wiadomości prywatnej znajdują się zrzuty uprawnień użytkownika bazy danych.

Udostępnij ten post


Link to postu

Na pewno będzie działać jak dodamy role "db_owner" (tak jak ma to domyślny użytkownik "dbo"). Wiadomo jednak po to ma być user inny żeby miał mniejsze prawa.

Aktualnie także eksploruje zabezpieczenia baz InsERTa i na razie ciężko znaleźć jakieś konkretne źródła mówiące o czymkolwiek związanym z SQLem (właściwie czymkolwiek wyżej niż user interface programu).

Jakieś hinty może jak ograniczyć np. kasowanie tabel bazy danych (co db_owner może a jest ustawiony jako default dla InsERTa)?

Udostępnij ten post


Link to postu
31 minut temu, Ernest Sadowski napisał:

Jakieś hinty może jak ograniczyć np. kasowanie tabel bazy danych (co db_owner może a jest ustawiony jako default dla InsERTa)?

Zalecane ustawienia uprawnień dla takich użytkowników są następujące: 

* na poziomie serwera: dla loginu ustawiona rola serwerowa 'public' 
(dodatkowo 'dbcreator', jeśli użytkownik ma tworzyć nowe bazy),

* na poziomie serwera: przyznane uprawnienie 'VIEW SERVER STATE',

* w bazie InsERT_Launcher i każdej bazie podmiotu, do której użytkownik 
ma mieć dostęp: włączone role 'db_datareader', 'db_datawriter',' 
db_ddladmin', 'public'; do tego nadane uprawnienie EXECUTE (można je 
nadawać na poszczególne schemy albo od razu całą bazę), a dla schemy 
InsLauncher w bazie podmiotu polecam dodać komplet (SELECT, INSERT, 
UPDATE, DELETE)

 

A odnośnie samego MSSQL'a

db_owner
Members of the db_owner fixed database role can perform all configuration and maintenance activities on the database, and can also drop the database.

db_securityadmin
Members of the db_securityadmin fixed database role can modify role membership and manage permissions. Adding principals to this role could enable unintended privilege escalation.

db_accessadmin
Members of the db_accessadmin fixed database role can add or remove access to the database for Windows logins, Windows groups, and SQL Server logins.

db_backupoperator
Members of the db_backupoperator fixed database role can back up the database.

db_ddladmin
Members of the db_ddladmin fixed database role can run any Data Definition Language (DDL) command in a database.

db_datawriter
Members of the db_datawriter fixed database role can add, delete, or change data in all user tables.

db_datareader
Members of the db_datareader fixed database role can read all data from all user tables.

db_denydatawriter
Members of the db_denydatawriter fixed database role cannot add, modify, or delete any data in the user tables within a database.

db_denydatareader
Members of the db_denydatareader fixed database role cannot read any data in the user tables within a database.

 

każdy powyżej db_datawriter może kasować dane, ale tylko DB_owner zrobi drop.

  • Dziękuję 1

Udostępnij ten post


Link to postu

×