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

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

Administracja i programowanie pod Microsoft SQL Server 2000

Problemy techniczne SQL Server

Problemy techniczne SQL Server

Systemowe aspekty baz

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

Uprawnienia, role, synonimy

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

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

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

CREATE USER

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

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

Kopie zapasowe w SQL Server. Michał Bleja

Systemowe aspekty baz danych

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

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

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

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

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

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

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

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

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

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

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

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

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

INFORMATOR TECHNICZNY WONDERWARE

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

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

Baza danych inside. Biologiczne Aplikacje Baz Danych

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

SQL Server Configuration Manager centrum dowodzenia

Oracle PL/SQL. Paweł Rajba.

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

Jak przenieść bazę danych na zdalny serwer?

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

Sieciowa instalacja Sekafi 3 SQL

DECLARE VARIABLE zmienna1 typ danych; BEGIN

WEBCON BPS Instalacja Standalone

2 Konfiguracja i utrzymanie bazy danych Przed rozpoczęciem Lekcja 1: Konfigurowanie plików i grup plików Pliki i grupy plików...

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Administracja bazami danych

SQL Server. Odtwarzanie baz danych.

Instrukcja instalacji Control Expert 3.0

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

Typy tabel serwera MySQL

1 Instalowanie i uaktualnianie serwera SQL Server

Projektowanie systemów baz danych

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

Ćwiczenie 14 autoryzacja

SQL> startup pfile=./admin/pfile/initdbx.ora. SQL> create spfile from pfile='$home/admin/pfile/initdbx.ora' create user bolek identified by bolek;

Bazy danych i usługi sieciowe

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

11. Autoryzacja użytkowników

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

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

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

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

DBPLUS Data Replicator Subtitle dla Microsoft SQL Server. dbplus.tech

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

Procedury techniczne modułu Forte Kontroling. Pakiety DTS

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Administracja i programowanie pod Microsoft SQL Server 2000

Bezpieczeństwo w bazach danych

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Administracja bazami danych. dr inż. Grzegorz Michalski

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

BACKUP BAZ DANYCH MS SQL

Microsoft SQL Server 2012 Krok po kroku

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

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

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

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

Podstawy systemów UNIX Podstawy RMAN

Program szkolenia: Administracja SQL Server

Administracja i programowanie pod Microsoft SQL Server 2000

dziennik Instrukcja obsługi

Instalacja wersji wielodostępnej z bazą danych Microsoft SQL Server 2005 lub 2008

7 Business Ship Control dla Wf-Mag Prestiż i Prestiż Plus

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Praca w programie dodawanie pisma.

Zaawansowane bazy danych i hurtownie danych semestr I

Serwer SQL Administracja i programowanie

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

Uruchamianie bazy PostgreSQL

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

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści

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

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000

Migracja Comarch ERP Altum Business Intelligence do wersji

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Transkrypt:

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

Tożsamość i kontrola dostępu Principals (byty żądające zasobów np. użytkownicy baz danych, konta logowania) Securables (obiekty, które mogą być chronione, np. tabele, procedury, funkcje) Roles (stałe role serwera, role bazy danych, role użytkowników) Permissions (przywileje, które prinicpal otrzymuje do danego securable)

Principals Domenowy login systemu Windows Lokalny login systemu Windows Grupa w systemie Windows Login SQL Server Użytkownik bazy danych Rola bazy danych Rola aplikacji

Tryby uwierzytelniania w SQL Server (authentication modes) Uwierzytelnienie to sprawdzanie tożsamości. Uwierzytelnianie Windows Tryb mieszany (uwierzytelnianie Windows i uwierzytelnianie SQL Server) Tryb uwierzytelniania ustawiamy w Server properties- Security

Tworzenie kont logowania SQL Server Natywny login SQL Server CREATE LOGIN testlogin WITH PASSWORD='1qaz@WSX' MUST_CHANGE, DEFAULT_DATABASE=demoDB, CHECK_EXPIRATION=ON, CHECK_POLICY=ON MUST_CHANGE wymusza zmianę hasła przy pierwszym logowaniu DEFAULT_DATABASE określa domyślną bazę dla loginu (domyślną bazą jest master) CHECK_EXPIRATION wymusza politykę związaną z wygasaniem hasła (domyślnie OFF) CHECK_POLICY wymusza politykę systemu Windows stosowaną dla haseł (domyślnie ON) MUST_CHANGE => CHECK_EXPIRATION + CHECK_POLICY Login na bazie konta lokalnego w systemie Windows CREATE LOGIN [c109_21\winlogin] FROM WINDOWS Login na bazie konta domenowego w systemie Windows CREATE LOGIN [nazwa_domeny\nazwa_loginu] FROM WINDOWS Certyfikaty i klucze asymetryczne

Login SQL z opcją SID Natywny login SQL Server z opcją SID CREATE LOGIN testlogin WITH PASSWORD='1qaz@WSX' MUST_CHANGE, DEFAULT_DATABASE=demoDB SID danego loginu jest przydatny przy przenoszeniu bazy z jednej instancji SQL Server do innej instancji Bez opcji SID nazwa_sid SQL Server przypisze sam numer SID

Tworzenie użytkownika w bazie danych dla loginu Uwierzytelnienie w instancji serwera nie implikuje zazwyczaj możliwości pracy z bazami danych w ramach tej instancji Wymagany jest użytkownik w bazie danych dla konta logowania CREATE USER user_name FOR { LOGIN nazwa_loginu CERTIFICATE nazwa_certyfikatu ASYMMETRIC KEY nazwa_klucza_asymetrycznego } [ WITH DEFAULT_SCHEMA = nazwa_schmatu ] USE [demodb] GO CREATE USER [testuser] FOR LOGIN [testlogin] GO SELECT suser_sname() 'Nazwa loginu', user_name() 'Nazwa użytkownika'

Predefiniowane konta użytkowników dbo istnieje w każdej bazie, członek roli bazy danych db_owner. Konta logowania będące członkami stałej roli serwera sysadmin są mapowane na użytkownika dbo guest - użytkownik pozwalający uzyskać kontom logowania dostęp do baz danych, w których nie mają użytkownika Aktywacja użytkownika guest w danej bazie USE [nazwa_bazy] GO GRANT CONNECT TO guest GO

Stałe role bazy danych db_owner członkowie są administratorami baz danych db_securityadmin członkowie zarządzają uprawnieniami, członkostwem w rolach db_accessadmin - członkowie zarządzają dostępem kont logowania do baz danych db_backupoperator członkowie wykonują kopie zapasowe db_ddladmin członkowie mogą wykonać dowolną instrujcję języka DDL w danej bazie db_datawriter członkowie mogą wykonać dowolną instrujcję języka DML w danej bazie db_datareader - członkowie mogą wykonać dowolną instrujcję SELECT w danej bazie db_denydatawriter przeciwieństwo db_datawriter db_denydatareader przeciwieństwo db_datareader

Stałe role bazy danych db_owner członkowie są administratorami baz danych db_securityadmin członkowie zarządzają uprawnieniami, członkostwem w rolach db_accessadmin - członkowie zarządzają dostępem kont logowania do baz danych db_backupoperator członkowie wykonują kopie zapasowe db_ddladmin członkowie mogą wykonać dowolną instrujcję języka DDL w danej bazie db_datawriter członkowie mogą wykonać dowolną instrujcję języka DML w danej bazie db_datareader - członkowie mogą wykonać dowolną instrujcję SELECT w danej bazie db_denydatawriter przeciwieństwo db_datawriter db_denydatareader przeciwieństwo db_datareader

Stałe role serwera sysadmin członkowie są administratorami instancji serveradmin członkowie zarządzają opcjami konfiguracyjnymi serwera, mogą wykonać shutdown securityadmin członkowie zarządzają dowolnymi kontami logowania, użytkownikami, uprawnieniami, członkowstwem w rolach setupadmin - członkowie zarządzają dołączonymi serwerami dbcreator członkowie zarządzają dowolną bazą w instancji diskadmin członkowie zarządzają plikami baz danych bulkadmin członkowie mogą uruchomić instrukcje BULK INSERT processadmin - członkowie zarządzają procesami instancji public członkowie widzą bazy danych w instancji Dodawanie loginu do stałej roli sewera realizuje procedura: sp_addsrvrolemember 'login', 'rola' sp_dropsrvrolemember usuwa członka z roli.

Tworzenie roli w bazie danych CREATE ROLE nazwa_roli [ AUTHORIZATION nazwa_właściciela ] USE demodb; CREATE ROLE demodb_role AUTHORIZATION testuser; GO Domyślnie właścicielem roli będzie użytkownik wydający polecenie CREATE ROLE Właścicielem roli może być również inna rola Dodawanie użytkownika/roli do roli realizuje procedura : sp_addrolemember 'nazwa_roli' 'nazwa_użytkownika/nazwa_roli' sp_droprolemember usuwa członka z roli

Schematy Schemat kontener składujący obiekty (tabele, widoki, funkcje, procedury, etc) Podstawowa składania CREATE SCHEMA nazwa_schematu AUTHORIZATION nazwa_właściciela Składania rozszerzona pozwala tworzyć tabele i widoki wewnątrz schematu i nadawać/odbierać uprawnienia do nich

Przyznawanie/odbieranie/odmawianie uprawnień GRANT uprawnienia ON securable TO prinicpal REVOKE uprawnienia ON securable TO prinicpal DENY uprawnienia ON securable TO prinicpal GRANT/REVOKE/DENY uprawnienia ON pewien_obiekt TO user_login_grupa Polecenie GRANT może zawierać klauzulę WITH GRANT OPTION principal, który otrzymał dane uprawnienie może je przekazać innym principals Polecenie DENY odmawia uprawnień. Można zastosować aby wykluczyć uprawnienia nabyte w drodze członkowstawa w grupie, roli Polecenie REVOKE usuwa uprawnienie przyznane za pomocą GRANT lub odmówione za pomocą DENY

Przyznawanie/odbieranie/odmawianie uprawnień USE demodb; GRANT SELECT ON OBJECT::Test_schema.Test_tab1 TO testuser; GRANT SELECT ON Test_schema.Test_tab2 TO testuser; GRANT SELECT ON SCHEMA::dbo TO testuser; GRANT SELECT ON DATABASE::demoDB TO testuser; --prawo do uruchamiania procedury GRANT EXECUTE ON OBJECT::Test_schema.Test_proc1 TO testuser; GO USE demodb; REVOKE SELECT ON DATABASE::demoDB TO testuser; DENY SELECT ON SCHEMA::dbo TO testuser; GO

Typowe przywileje poziomu instancji CREATE DATABASE ALTER ANY DATABASE BACKUP DATABASE BACKUP LOG CONNECT VIEW ANY DEFINITION Rola default obejmuje przywileje connect oraz view any definition

Użytkownik dbo Każda baza posiada użytkownika dbo dbo to administrator bazy danych Login sa oraz członkowie roli instancji sysadmin, właściciel bazy są mapowani w każdej bazie na dbo

Łańcuchy właścicielstwa (ownership chains) Odwołania do obiektów securable mogą odbywać się za pośredncitwem innych obiektów securable. Ciąg odwołań tworzy tak zwany łańcuch SQL Server sprawdza uprawnienia w łańcuchu tylko jeśli zmienia się właściciel dange obiektu securable

Widok A właściciel User1, Łańcuchy właścicielstwa - przykład User 3 ma prawo select tylko na tym widoku Widok B właściciel User1 do tego momentu łańcuch właścicielstwa jest nieprzerwany Tabela C właściciel User2 Załóżmy, że User3 wykonuje select na Widoku A - SQL Server zweryfikuje czy User3 ma prawo select na Widok A i potwierdzi, że ma - Widok A korzysta z B, SQL Server sprawdzi czy A i B ma tego samego właściciela, jeśli tak to nie sprawdza czy User3 ma stosowne uprawnienia do B - Widok B korzysta z tabeli C B i C mają innego właściciela, nastąpi sprawdzenie uprawnień

Użytkownicy tworzeni w oparciu o certyfikat User1 właściciel schematu s1 User2 właściciel schematu s2 W s2 jest składowana procedura sp2 W s1 jest składowana procedura sp1, która wywołuje sp1 User3 ma prawo execute na sp1, lecz nie ma prawa execute na sp2, wywołanie sp1 zakończy się porażką Sposób pozwalający wywołać user3 sp1 bez przypisania mu prawa execute do sp2 Utworzyć klucz główny bazy danych Utworzyć certyfikat Podpisać procedurę sp1 certyfikatem Stworzyć użytkownika bazy danych w oparciu o certyfikat Nadać temu użytkownikowi prawo execute do sp2

Problem niezgodnych SID Dla loginu generowany jest przez SQL serwer identyfikator tzw. SID Użytkownicy dla loginu są również tworzeni w oparciu o ten SID Pojawia się problem po dołączeniu (atach) lub odtworzeniu (restore) bazy z jednego serwera na drugi serwer Tworząc loginy dla użutkowników baz danych trzeba znać SID loginu Inne wyjście zmodyfikować użytkownika ALTER USER nazwa_uzytkownika WITH LOGIN nazwa_loginu