Administrowanie serwerem bazy
danych MS SQL 2005
(ćwiczenia)
Dr inż. Andrzej Czerepicki
WSM
Ćwiczenie 4.
" Bezpieczeństwo SQL Server
Wbudowane konta logowania
" Zapoznać się listą wbudowanych kont
logowania
Które z kont należą do grupy Autoryzacja Windows
a które do uwierzytelniania SQL Server?
a które do uwierzytelniania SQL Server?
Jak zalogować się do SQL Server z poziomu
SQLCMD na nowe konto ?
Czy można usunąć wbudowane konta z
uwierzytelnianiem Windows?
Tworzenie kont logowania
" Plan działań:
Utworzyć nowe konto logowania STUDENT z poziomu
SSMS
Zalogować się na niego za pomocą SQLCMD
Wyświetlić listę dostępnych baz danych
Wyświetlić listę dostępnych baz danych
" Dlaczego konto stworzone pozwala na wyświetlanie listy
wszystkich baz danych na serwerze?
Z poziomu SSMS odebrać uprawnienie [VIEW ANY
DATABASE] dla nowego konta
" Sprawdzić czy teraz możemy wyświetlić listę baz danych
" Jakie bazy są wyświetlane zawsze?
Tworzenie kont logowania (c.d.)
" Plan działań (c.d.):
Z poziomu SSMS nadać uprawnienie (GRANT) do
wykonania polecenia SHUTDOWN zamknięcia
serwera SQL
serwera SQL
Wykonać polecenie SHUTDOWN
" Czy serwer został zamknięty?
Jak uruchomić serwer z poziomu SQLCMD?
" Czy jest to możliwe? Dlaczego?
Wbudowane role serwerowe
" Zapoznać się z listą wbudowanych roli
serwerowych
" Znalezć rolę posiadająca uprawnienie do
utworzenia nowej bazy danych
" Z pomocą SSMS przypisać konto STUDENT do
" Z pomocą SSMS przypisać konto STUDENT do
wybranej roli serwerowej
" Sprawdzić działanie uprawnienia wykonując z
poziomu SQLCMD polecenie CREATE DATABASE
TEST
Czy baza została utworzona?
Czy można wybrać stworzoną bazę danych?
Nadanie indywidualnych uprawnień dla
konta logowania na poziomie serwera
" Zapoznać się z pełną listą uprawnień
obowiązujących na poziomie serwera
" Sprawdzić jakie z tych uprawnień są aktywne
dla konta STUDENT
dla konta STUDENT
" Nadać uprawnienie ALTER ANY DATABASE
" Usunąć za pomocą SQLCMD bazę testową
stworzoną na poprzednich krokach
Użytkownicy bazy danych
" Zapoznać się z listą wbudowanych
użytkowników bazy danych
Jakie konta logowania odpowiadają wbudowanym
użytkownikom?
użytkownikom?
Czy można zmienić uprawnienia wbudowanych
użytkowników?
Użytkownicy bazy danych (c.d.)
" Utworzyć nową bazę danych TEST
" Utworzyć w bazie TEST użytkownika USR_STUD
dla konta logowania STUDENT
Czy jedno konto logowania może odpowiadać kilku
użytkownikom w bazie danych? W różnych bazach
użytkownikom w bazie danych? W różnych bazach
danych?
" Nadać uprawnienie BACKUP DATABASE dla
użytkownika USR_STUDENT
" Z poziomu SQLCMD wykonać polecenie
wykonania kopii zapasowej bazy danych TEST
Role bazy danych
" Stworzyć nową rolę STUDENCI w bazie danych
TEST
" Nadać grupie STUDENCI uprawnienie do
wykonania kopii zapasowych
wykonania kopii zapasowych
" Przypisać użytkownika USR_STUDENT do
grupy STUDENCI
" Sprawdzić czy wykonanie kopii zapasowej jest
mozliwe
Wbudowane role bazy danych
" Przypisać użytkownika USR_STUDENT do
wbudowanej roli bazy danych
DB_BACKUPOPERATOR
" Wykonać polecenie kopiowania bazy danych
" Wykonać polecenie kopiowania bazy danych
Uprawnienia do tabel
" Stworzyć tabelę STUDENCI w bazie danych 25DR
" Nadać użytkownikowi USR_STUDENT
uprawnienie do zapisu (INSERT) do tabeli
STUDENCI
STUDENCI
" Wypełnić tabelę STUDENCI kilkoma
przykładowymi rekordami
" Wykonać polecenie SELECT na tabeli STUDENCI
Dlaczego wykonanie polecenia nie powiodło się?
Uprawnienia do kolumn tabeli
" Nadać użytkownikowi USR_STUDENT
uprawnienia do wybranych kolumn tabeli
STUDENCI
Np. IMIE, NAZWISKO, GRUPA
Np. IMIE, NAZWISKO, GRUPA
" Porównać wyniki wykonania poleceń
SELECT * FROM STUDENCI
SELECT IMIE, NAZWISKO FROM STUDENCI
" Czy w sekcji WHERE może wystąpić kolumna
niedostępna dla użytkownika STUDENT?
Uprawnienia do widoków
" Zamiast nadawania uprawnień do kolumn
zaleca się stosowanie widoków (views)
" Stworzyć widok V_STUD wyświetlające dane
ztabeli STUDENCI w odpowiednio
ztabeli STUDENCI w odpowiednio
spreparowanym formacie
Np. pogrupowanych wg numeru grupy, bez ID itp.
" Nadać uprawnienie SELECT do widoku V_STUD
" Z poziomu SQLCMD sprawdzić jak działają
uprawnienia do całego widoku
Uprawnienia do procedur
składowanych
" Wstawianie danych do bazy zaleca się dokonywać za
pomocą procedur składowanych (stored procedures)
" Stworzyć procedurę ADD_STUD przyjmująca jako
argumenty zmienne przechowujące imię, nazwisko
oraz numer grupy studenta
oraz numer grupy studenta
Można rozszerzyć procedurę o sprawdzenie czy student o
takich danych osobowych nie jest już zapisany do tabeli
" Nadać uprawnienie EXECUTE do procedury ADD_STUD
użytkownikowi USR_STUD
" Sprawdzić dodawanie danych do tabeli STUDENCI za
pomocą procedury składowanej ADD_STUD
Wyszukiwarka
Podobne podstrony:
FIG 04C04c MS45 DME Part 404c IBOC Update04c E65 Automatic Trunk Lid Lift04c E65 Telephone04c krzyw niez1570 04C04c ICOMwięcej podobnych podstron