Ćwiczenia
> Mechanizmy bezpieczeństwa w MS SQL Server 2000 > Role w bazie danych |
![]() ![]() |
||||||||||||||||||||||||||||||||
9.5 Role w bazie danych![]() Oprócz ról w serwerze (patrz lekcja poprzednia) w MS SQL Server mamy też do czynienia z rolami w bazie danych. W każdej bazie danych istnieje gotowy zestaw ról (każda rola ma oczywiście swoje charakterystyczne uprawnienia). Co różni role w bazie danych od ról w serwerze to zasięg - tylko w bazie danych, w której są utworzone. Poza tym drugą różnicą jest to, że administrator może dodać własne role w bazie danych. Aby użytkownik mógł pracować z bazą danych oraz aby mógł być członkiem roli w bazie danych, musi on najpierw zostać dodany do listy użytkowników bazy danych (jego login musi zostać zamapowany do odpowiedniej nazwy użytkownika w bazie danych). W niniejszej lekcji dowiesz się, w jaki sposób umożliwić użytkownikowi korzystanie z bazy danych, jak dodawać go do ról w bazie danych oraz jak utworzyć własną rolę w bazie danych. Krok 1 - Nadaj użytkownikowi prawo dostępu do bazy danych1. Uruchom program Query Analyzer.2. Zaloguj się używając uwierzytelnienia systemu Windows. 3. W menu głównym programu wybierz File - Open. 4. W oknie Open Query File wybierz plik demo_9_5_1.sql. 5. Zaznacz i uruchom (klawisz F5) fragment kodu oznaczony w komentarzu jako (1).
Wynikiem wykonania powyższego kodu jest dodanie loginu SQL Servera o nazwie Tomek, haśle password i domyślnej bazie danych master. O procedurze sp_addlogin mogłeś przeczytać w lekcji poprzedniej. 6. Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (2).
Wynikiem wykonania powyższego kodu jest nadanie uzytkownikowi serwera Tomek dostępu do bazy danych Biblioteka (do aktualnej bazy roboczej; nazwa użytkownika w bazie danych - Tomasz - jak widać nie musi być taka jak login w serwerze). Procedura systemowa sp_grantdbaccess służy do nadawania użytkownikom dostępu do baz danych. Do odebrania użytkownikowi dostępu do bieżącej bazy danych służy procedura sp_revokedbaccess (jako argument podajemy nazwę użytkownika w bazie danych - nie jego login). Krok 2 - Poznaj istniejące role w bazie danychPoniższa tabela prezentuje istniejące w każdej bazie danych role i ich uprawnienia.
Krok 3 - Dodaj własną rolę w bazie danych1. Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (3).
Wynikiem wykonania powyższego kodu jest dodanie w bieżącej bazie danych (Biblioteka) nowej roli o nazwie Marketing. Procedura systemowa sp_addrole służy do dodawania w bieżącej bazie danych nowych ról. Procedurą systemową o odwrotnym działaniu (usuwanie ról z bieżącej bazy danych) jest procedura sp_droprole. Krok 4 - Dodaj użytkownika do roli w bazie danych1. Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (4).
Wynikiem wykonania powyższego kodu jest dodanie użytkownika o nazwie Tomasz (nazwa w bazie danych - nie w serwerze) do roli Marketing w bieżącej bazie danych. Procedura systemowa sp_addrolemember służy do dodawania użytkowników bazy danych do ról w bieżącej bazie danych. Do usuwania ról w bazie danych służy procedura systemowa sp_droprole. Dodatkowo masz do dyspozycji procedurę sp_helprolemember, która wyświetla listę członków wybranej roli w bazie danych.
Przejdź dalej ![]() |
|||||||||||||||||||||||||||||||||
![]() Ćwiczenia > Mechanizmy bezpieczeństwa w MS SQL Server 2000 > Role w bazie danych |