Wymagania: Strona korzysta z SQL Server jako trwałej pamięci masowej i musi skonfigurować adres bazy, konto, hasło oraz konfigurację łańcuchów połączeńUżytkownicy SA – przywileje są trochę zbyt dużeChcę stworzyć nowego użytkownika, który będzie zezwalał na wszystkie uprawnienia tylko do określonej bazy danych. W tym artykule użyto narzędzia SQL Server Management Studio do połączenia się z usługą bazy danych SQL Server 2019 jako przykład.
Otwórz SQL Server Management Studio i zaloguj się za pomocą uwierzytelniania Windows (lub użyj swojego konta SA).
Najpierw stwórz nową bazę danych TestDB za pomocą następującego polecenia:
Kliknij lewe menu [Bezpieczeństwo] --- [Zaloguj się], następnie kliknij prawym przyciskiem myszy "Zaloguj się" i kliknij [Nowe zalogowanie], jak pokazano poniżej:
W zakładce Ogólne wpisz nazwę logowania, hasło, potwierdź hasło i wybierz domyślną bazę danych, jak pokazano na poniższym rysunku:
Przełącz się na mapę użytkownika, sprawdź docelową bazę danych [TestDB] i przyznaj publiczne, db_owner uprawnienia (aby nowy użytkownik mógł mieć uprawnienia administratora do bazy danych TestDB), jak pokazano na poniższym rysunku:
Na koniec kliknij OK.
Staramy się używać nowo utworzonego użytkownika do logowania się do bazy, jak pokazano na poniższym rysunku:
Chociaż możesz zobaczyć inne bazy danych, podczas próby dostępu pojawi się następujący błąd:
Tytuł: Microsoft SQL Server Management Studio ------------------------------
Test bazy danych nie jest dostępny. (ObjectExplorer)
------------------------------ Guzik:
Czy na pewno ------------------------------
Na koniec załącz opis uprawnień:
'db_owner' – posiada pełne uprawnienia do bazy danych, w tym do usuwania danych 'db_accessadmin' – daje bazie danych jedynie uprawnienia użytkownika do tworzenia innych użytkowników bazy, ale nie do tworzenia użytkowników zalogowanych. 'db_securityadmin' - Zarządzanie pełnymi uprawnieniami, własnością obiektów, rolami i członkostwami w rolach 'db_ddladmin' – może emitować wszystkie DDL (Create, Alter and Drop), ale nie wydawał poleceń GRANT, REVOKE ani Deny 'db_backupoperator' -- Uprawnienia do wykonywania kopii zapasowej i przywracania bazy danych [kopia zapasowa i przywracanie można również wykonać przez SQL Sever Management Studio] 'db_datareader' – może wybrać wszystkie dane z dowolnej tabeli użytkownika w bazie danych 'db_datawriter' – może zmieniać wszystkie dane w dowolnej tabeli użytkownika w bazie danych 'db_denydatareader' - nie można zadawać żadnych danych w żadnej tabeli użytkownika w bazie danych 'db_denydatawriter' - nie można zmieniać żadnych danych w żadnej tabeli użytkownika w bazie danych
(Koniec)
|