Administracja i programowanie pod Microsoft SQL Server 2000

Podobne dokumenty
Prawa dostępu do serwera. Nadawanie i odbieranie uprawnień DCL. Użytkownicy a role

Użytkownicy, uprawnienia, role w SQL Server (W oparciu o SQL Server 2008R2 Books Online)

Systemowe aspekty baz

Administracja i programowanie pod Microsoft SQL Server 2000

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

Systemowe aspekty baz danych

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Administracja i programowanie pod Microsoft SQL Server 2000

CREATE USER

Zarządzanie kontami użytkowników w i uprawnieniami

Pracownia internetowa w szkole ZASTOSOWANIA

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Administracja i programowanie pod Microsoft SQL Server 2000

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Zalecana instalacja i konfiguracja Microsoft SQL Server 2016 Express Edition dla oprogramowania Wonderware

Uprawnienia, role, synonimy

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Problemy techniczne SQL Server

Problemy techniczne SQL Server

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

WEBCON BPS Instalacja Standalone

SQL Server Configuration Manager centrum dowodzenia

INFORMATOR TECHNICZNY WONDERWARE

Sieciowa instalacja Sekafi 3 SQL

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Administracja i programowanie pod Microsoft SQL Server 2000

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

REFERAT O PRACY DYPLOMOWEJ

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Serwery LDAP w środowisku produktów w Oracle

Program kadrowo płacowy - wersja wielodostępna z bazą danych PostgreSQL 8.1

ITA-101 Bazy Danych. Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Moduł 5. Wersja 1.0

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

dziennik Instrukcja obsługi

Instrukcja użytkownika

System operacyjny Linux

asix Autoryzacja dostępu do zasobów WWW systemu asix (na przykładzie systemu operacyjnego Windows 2008)

Instrukcja instalacji Control Expert 3.0

Microsoft SQL Server 2012 Krok po kroku

Kontrola dostępu w ASP.NET

Pomoc dla usługi GMSTHostService. GMSTHostService. Pomoc do programu 1/14

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

Typy tabel serwera MySQL

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

MySQL. Æwiczenia praktyczne

Procedury techniczne modułu Forte Kontroling. Pakiety DTS

Rozwiązanie Zadania egzaminacyjnego egzamin praktyczny z kwalifikacji e13 styczeń 2015

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Instrukcja instalacji i obsługi programu Szpieg 3

Program kadrowo płacowy - wersja wielodostępna z bazą danych Microsoft SQL Server 2005 lub 2008

Windows Server 2012 Active Directory

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Instalacja aplikacji

DLA DREAMBOX & FLASHWIZARD

Oracle Application Express -

Wprowadzenie do Active Directory. Udostępnianie katalogów

Ćwiczenie: Planowanie i przypisywanie uprawnień NTFS

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

William R. Stanek. Vademecum administratora. Microsoft. SQL Server Przekład: Krzysztof Szkudlarek

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Paweł Rajba

Microsoft SQL Server 2012 : vademecum administratora / William R. Stanek. Warszawa, Spis treści

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik

ĆWICZENIE NR 6 Użytkownicy i grupy

Mechanizmy dostępu do bazy danych Palladion / Ulisses. I. Uwierzytelnianie i przyznawanie uprawnień dostępu do aplikacji Palladion

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

CZNE LUB INSTALOWANIE SERVERA

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

Bazy Danych. Ćwiczenie 1: Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Windows Server Active Directory

Administracja i programowanie pod Microsoft SQL Server 2000

SOLIDWORKS PDM Tworzenie kopii zapasowych.

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Instytut Teleinformatyki

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Biuletyn informacyjny WeriOn. 3/2015 Instrukcja konfiguracji połączenia z programem Subiekt GT r.

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Ulotka skrócona Moduł Analizy BI. Wersja:

Praca w sieci z serwerem

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Biuletyn techniczny. Połączenie do Microsoft SQL Server z poziomu CDN OPT!MA. Data powstania: Copyright 2007 COMARCH SA

I. Instalacja i konfiguracja Password Manager Pro v. 8

Transkrypt:

Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Zawartość modułu 12 Bezpieczeństwo SQL Servera Tryby uwierzytelniania Zarządzanie kontami Regulacja dostępu do baz danych Domyślne konta serwerowe Konta bazy danych Role, role serwera, role baz danych, role aplikacji Uprawnienia Zarządzanie bezpieczeństwem - 1 -

Tryby uwierzytelniania Windows Autentykacja możliwa jest tylko na podstawie kont systemu Windows Przebieg autentykacji klient otwiera połączenie do SQLServera i przesyła informacje identyfikujące go w systemie Windows (credentials) SQLServer sprawdza, czy konto jest na liście kont w tabeli sysxlogins. Jeśli tak, akceptuje połączenie. Uwaga na usunięcie i ponowne utworzenie konta w Windows Wbudowane konto ma grupa Administratorzy - 2 -

Tryby uwierzytelniania Mieszane Autentykacja możliwa jest tylko na podstawie kont systemu Windows i kont SQLServera Przebieg autentykacji SQLServer sprawdza na podstawie tabeli sysxlogins, czy klient używa poprawnego identyfikatora konta SQLServer Jeśli tak, sprawdza hasło i akceptuje połączenie lub nie Jeśli nie, SQLServer sprawdza, czy konto jest na liście kont w tabeli sysxlogins. Jeśli tak, akceptuje połączenie. Wbudowane konta SQLServera: sa, guest i dbo - 2 -

Tryby uwierzytelniania Zalety uwierzytelniania Windows pozwala na lepsze zarządzanie hasłem: wygaśnięcie, minimalna długość, itp. łatwiej zarządzać kontami, np. dodając login dajemy hasło do grupy serwerów, lub dodając grupę dajemy dostęp grupie użytkowników wygodniejsze dla użytkownika ma tylko jedno hasło do wszystkiego Zalety uwierzytelniania mieszanego pozwala na autoryzację użytkowników spoza systemu Windows, np. użytkowników z Internetu - 3 -

Zarządzanie kontami Wprowadzenie Konta są przechowywane w tabeli master.sysxlogins Z kontem jest związana domyślna baza danych Utworzenie konta nie daje jeszcze praw do dostępu do baz danych Nazwa konta lub grupy może mieć co najwyżej 128 znaków Przy zmianie członków w grupie Windows, w SQL Serverze nie ma potrzeby niczego aktualizować konto grupy jest w SQL-u pojedynczym kontem - 4 -

Zarządzanie kontami Wprowadzenie Usunięcie konta w Windows nie powoduje usunięcia konta w SQL Serverze jeśli chcemy usunąć konto definitywnie, najpierw powinniśmy to zrobić w Windowsie, a dopiero potem w SQL Serverze Funkcja SUSER_SNAME() pobiera nazwę konta aktualnie zalogowanego użytkownika Konta Windows są dostępne w SQL Serverze w postaci DOMAIN\UserName Zarządzać kontami mogą członkowie ról: sysadmin i securityadmin - 10 -

Zarządzanie kontami Tworzenie konta w Enterprise Manager (local) Security Logins prawy p. myszy, New Login Blokada konta (tylko konto typu Windows) Enterprise Manager (local) Security Logins prawy p. myszy na koncie, Właściwości Grant access / Deny access - 11 -

Zarządzanie kontami Tworzenie konta za pomocą T-SQL konto typu Windows sp_grantlogin [@loginame =] 'login sp_denylogin [ @loginame = ] 'login' powyższe procedury służą również do blokowania/odblokowania konta konto typu SQL Server sp_addlogin [ @loginame = ] 'login' [, [ @passwd = ] 'password' ] [, [ @defdb = ] 'database' ] [, [ @deflanguage = ] 'language' ] [, [ @sid = ] sid ] [, [ @encryptopt = ] 'encryption_option' ] - 12 -

Zarządzanie kontami Przeglądanie kont Enterprise Manager (local) Security Logins T-SQL sp_helplogins [ [ @LoginNamePattern = ] 'login' ] - 13 -

Zarządzanie kontami Usuwanie konta Enterprise Manager (local) Security Logins prawy p. myszy na koncie, Usuń i potwierdzenie T-SQL sp_revokelogin [ @loginame = ] 'login' - usunięcie konta z Windows sp_droplogin [ @loginame = ] 'login' - usunięcie konta z SQL Servera - 14 -

Zarządzanie kontami Zmiana hasła dla konta SQL Servera Enterprise Manager (local) Security Logins prawy p. myszy na koncie, Właściwości T-SQL sp_password [ [ @old = ] 'old_password', ] { [ @new =] 'new_password' } [, [ @loginame = ] 'login' ] sp_password @new='haselko', @loginame= pawel' - 15 -

Regulacja dostępu do baz danych Przypisywanie kontu dostęp do bazy danych Enterprise Manager (local) Databases <baza danych> Users prawy p. myszy, New Database User T-SQL sp_grantdbaccess [@loginame =] 'login' [,[@name_in_db =] 'name_in_db'] - 16 -

Regulacja dostępu do baz danych Odbieranie kontu dostęp do bazy danych Enterprise Manager (local) Databases <baza danych> Users prawy p. myszy na userze, Usuń T-SQL sp_revokedbaccess [ @name_in_db = ] 'name można to robić tylko w bieżącej bazie - 17 -

Regulacja dostępu do baz danych Dane o kontach bazy danych są w tabelach sysusers dane o kontach sysprotects dane o uprawnieniach Regulację dostępu do baz danych mogą robić: członkowie roli sysadmin właściciel bazy (database owner) rola db_owner administrator dostępu do bazy (database access administrators) rola db_accessadmin and - 17 -

Przykład 1 Demonstracja - 15 -

Domyślne konta serwerowe Grupa Administratorzy BUILTIN\Administrators Domyślnie grupa ta dostaje rolę serwerową System Administrators (sysadmin) Konto administratora SQLServera sa Domyślnie konto to dostaje rolę serwerową System Administrators (sysadmin) Dostępne tylko w autentykacji typu mieszanego należy się wtedy upewnić, że jego hasło nie jest puste Jeśli konto nie jest niezbędne zaleca się je zablokować (gdyż jest ogólnie znane) - 5 -

Konta bazy danych Konto dbo Specjalne konto oznaczające właściciela bazy danych (Database Owner) Członkowie roli sysadmin i login sa są automatycznie mapowani na użytkownika dbo Właścicieli posiadają obiekty utworzone w bazach danych SQL Server Przykład yogi jest w sysadmin: jak utworzy tabelę, to jej właścicielem będzie dbo yogi nie jest w sysadmin: właścicielem będzie yogi - 9 -

Konta bazy danych Konto guest Daje dostęp do bazy danych wszystkim użytkownikom posiadającym konto w SQL Server Użytkownik będzie miał tożsamość i prawa tego konta, gdy zajdą następujące warunki: login ma dostęp do SQLServera, ale nie ma dostępu do danej bazy danych w bazie jest utworzone konto guest Domyślnie konto to nie jest tworzone W bazach master i tempdb konto guest jest i nie można go usunąć - 7 -

Konta bazy danych Konto guest c.d. Konto guest jest członkiem roli public i po niej dziedziczy uprawnienia Przykład: w bazie example pawel nie ma konta logujemy się jako pawel; raz konto guest w bazie example jest usunięte, a raz dostępne - 8 -

Role W SQLServerze mamy następujące rodzaje ról: Role serwerowe (Fixed Server Roles) Role bazy danych (Fixed Database Roles) Role bazy danych użytkownika (User-defined Database Roles) - 8 -

Role serwera Cechy ról serwera (Fixed Server Roles) nie można ich modyfikować każdy użytkownik danej roli może do tej roli dodawać następnych użytkowników Lista ról serwera sysadmin Może wykonywać dowolne akcje dbcreator Tworzy i modyfikuje bazy danych diskadmin Zarządza plikami na dysku - 18 -

Role serwera Lista ról serwera c.d. processadmin Zarządza procesami SQL Servera serveradmin Wykonuje różnego rodzaju konfiguracje serwera setupadmin Instaluje replikacje securityadmin Zarządza loginami na serwerze bulkadmin Może wykonywać instrukcje typu BULK INSERT - 19 -

Role serwera Przydzielanie/odbieranie ról użytkownikom Enterprise Manager (local) Security Server Roles (local) Security Logins prawy p. myszy na koncie, Właściwości, Server Roles T-SQL sp_addsrvrolemember [ @loginame = ] 'login', [ @rolename = ] 'role sp_dropsrvrolemember [ @loginame = ] 'login', [ @rolename = ] 'role' - 20 -

Role baz danych Stałe role bazy danych public Zawiera domyślne uprawnienia db_owner Ma w bazie danych pełne uprawnienia db_accessadmin Pozwala dodawać i usuwać użytkowników, grupy i role bazy db_securityadmin Zarządza uprawnieniami do obiektów i ich własnością, rolami i członkostwem w rolach - 21 -

Role baz danych Stałe role bazy danych c.d. db_ddladmin Pozwala wstawiać, modyfikować i usuwać obiekty bazy, ale nie może wykonywać poleceń GRANT, REVOKE, DENY db_backupoperator Może wydawać polecenia DBCC, CHECKPOINT, BACKUP db_datareader Może pobierać dowolne dane z tabel użytkowników - 22 -

Role baz danych Stałe role bazy danych c.d. db_datawriter Może modyfikować dowolne dane w tabelach użytkowników db_denydatareader Nie może pobierać żadnych danych z tabel użytkowników db_denydatawriter Nie może modyfikować żadnych danych w tabelach użytkowników - 23 -

Role baz danych Znaczenie roli public Zawiera domyślne uprawnienia dla użytkowników bazy danych Nie może zawierać użytkowników, ani innych ról, gdyż każdy domyślnie ma rolę public Jest zawarta we wszystkich bazach Nie można jej usunąć Daje bardzo ograniczony zestaw uprawnień Użytkownik dostaje uprawnienia tej roli poprzez konto gościa (guest) - 24 -

Role baz danych użytkownika Rolę użytkownika tworzymy zwykle z dwóch powodów: grupa użytkowników chce wykonywać podobne czynności w SQLServerze nie mamy uprawnień do zarządzania kontami i grupami w systemie Windows - 24 -

Role baz danych Zarządanie rolami w Enterprise Manager tworzenie roli użytkownika Enterprise Manager Databases <baza danych> prawy p. myszy na Roles, New Database Role... usuwanie roli użytkownika Enterprise Manager Databases <bd> Roles prawy p. myszy na roli i Usuń - 26 -

Role baz danych Zarządanie rolami za pomocą T-SQL Zarządzanie rolą standardową sp_addrole [ @rolename = ] 'role' [, [ @ownername = ] 'owner' ] sp_droprole [ @rolename = ] 'role sp_helprole [ [ @rolename = ] 'role' ] Edycja listy członków roli sp_addrolemember [ @rolename = ] 'role', [ @membername = ] 'security_account sp_droprolemember [ @rolename = ] 'role', [ @membername = ] 'security_account' sp_helprolemember [ [ @rolename = ] 'role' ] - 27 -

Uprawnienia Dostępne zestawy uprawnień Uprawnienia na tabele i widoki SELECT, INSERT, UPDATE i DELETE Uprawnienia na kolumny SELECT, UPDATE i REFERENCES Uprawnienia do procedur EXECUTE - 29 -

Uprawnienia Zarządzanie uprawnieniami w T-SQL GRANT zezwala na wykonanie zadania REVOKE odbiera zezwolenie na wykonanie DENY zabrania wykonania zadania Przegląd składni poleceń w helpie Przegląd uprawnień w Enterprise Manager Uprawnienia do tabeli Uprawnienia do bazy danych - 30 -

Zarządzanie bezpieczeństwem Przy planowaniu zabezpieczeń warto rozważyć: Ustawienia kont domyślnych sa jest to konto administratora i należy używać jak najrzadziej BUILTIN\Administrators grupa ta jest automatycznie członkiem roli sysadmin jeśli nie chcemy dawać administratorom pełnego dostępu do SQLServera, możemy to konto usunąć z grupy sysadmin lub w ogóle usunąć z SQLServera Ustawienie konta guest w której bazie ma być, jakie powinny być jego uprawnienia i kto będzie z niego korzystał - 30 -

Zarządzanie bezpieczeństwem Przy planowaniu zabezpieczeń warto rozważyć: Ustawienia roli public jest to rola, do której należy każdy użytkownik warto przemyśleć zestaw uprawnień dla tej roli Przyznawanie uprawnień do ról warto uprawnienia zorganizować za pomocą hierarchi ról upraszcza to zarządzanie uprawnieniami należy unikać nadawania uprawnień pojedynczym użytkownikom Tworzenie obiektów przez dbo - 30 -

Zarządzanie bezpieczeństwem Przy planowaniu zabezpieczeń warto rozważyć: Tworzenie obiektów przez dbo jest ważne żeby ustalić, kto może tworzyć obiekty w bazie danych domyślnie są to członkowie ról: sysadmin, db_owner, db_ddladmin wygodnie jest, jeżeli właścicielem wszystkich obiektów jest dbo właściciela można zmienic za pomocą procedury sp_changeobjectowner object, owner - 30 -

Zarządzanie bezpieczeństwem Można także poprzez Widoki można dać uprawnienie do widoku nie dając uprawnienia od tabeli bazowej dla widoku Procedury składowane - 30 -

Przykład 2 Demonstracja - 30 -

Role aplikacji Rodzaje ról użytkownika Standard dostęp poprzez członkostwo w roli Application dostęp poprzez hasło do przełączenia na tą rolę używamy procedury sp_setapprole [@rolename =] 'role', [@password =] {Encrypt N 'password'} 'password' po przełączeniu na taką rolę użytkownik traci wszystkie wcześniejsze prawa dostępu ma dostęp do tylko tej jednej bazy lub do baz, w których jest konto guest tworzona często w celu nadania dostępu do bazy aplikacjom zewnętrznym - 25 -

Role aplikacji Zarządanie rolami za pomocą T-SQL Zarządzanie rolą aplikacji sp_addapprole [ @rolename = ] 'role', [ @password = ] 'password' sp_dropapprole [@rolename =] 'role sp_setapprole [@rolename =] 'role', [@password =] {Encrypt N 'password'} 'password' [,[@encrypt =] 'encrypt_style'] Przykład EXEC sp_setapprole 'Test', {Encrypt N 'pswd'}, 'odbc' - 28 -

Przykład 3 Demonstracja - 30 -