Uživatelé, Role, Schémata MS SQL Server 2008 Uživatelé, Role, Schémata Pavel Váňa VŠFS 21300@mail.vsfs.cz
Osnova Zabezpečení SQL Serveru Oprávnění Role Serverové Databázové Vybrané operace s loginy, rolemi Správa db oprávnění Objektová oprávnění Schémata Kontrola přístupu uživatelů
Princip LOGIN – přihlášení k SQL Serveru USER – přístup k jednotlivým db ROLE – oprávnění používat jednotlivé příkazy SCHEMA – kontejner objektů, vlastněn userem, vlastnictví je přenositelné
Zabezpečení SQL Serveru Oprávnění Objektová Příkazová Implicitní
Zabezpečení SQL Serveru Ověřovací režimy SQL Serveru: Windows authentication BUILTIN\<jméno účtu> JMÉNOPOČÍTAČE\<jméno účtu> (BUILTIN\Administrators) SQL Server Authentication
Windows Authentication
Windows Authentication SECURITY > Logins > New Login
Windows Authentication
SQL Server Authentication
Úrovně přístupu: Přiřazením do rolí Povolením přístupu k určitým databázím Povolením nebo zákazem přístupu k objektům
Role Serverové: Bulkadmin (BULK INSERT) Dbcreator (ALTER,CREATE,DROP,EXTEND,RESTORE DATABASE,RESTORE LOG, sp_renamedb…) Diskadmin (DISK INIT, sp_dropdevice,…) Processadmin Public (default) Securityadmin Serveradmin Setupadmin Sysadmin
Serverové role
Databázové role Oprávnění na úrovni db: Uživatelem definované role Uživatelem definované aplikační role Předdefinované nebo systémové databázové role
Předdefinované db role dbo/db_owner db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_securityadmin public
Předdefinované db role
Vybrané operace s loginy, rolemi Správa přihlašovacích jmen Security > Logins > uživatel > Properties
Vybrané operace s loginy, rolemi Vytváření přihlašovacích jmen CREATE LOGIN JaneDoe WITH PASSWORD = ‘heslo’ CREATE LOGIN JaneDoe FROM WINDOWS Modifikace přihlašovacích jmen ALTER LOGIN KarelNovak WITH NAME NovakKarel ALTER LOGIN KarelNovak ENABLE Povolení / zákaz vstupu na server sp_grantlogin ‘jmeno’ sp_denylogin ‘jmeno’ SECURITY > LOGINS > uživatel > PROPERTIES
Vybrané operace s loginy, rolemi Povolení / zákaz / odemčení přihlašovacích jmen SECURITY > LOGINS > uživatel > PROPERTIES
Vybrané operace s loginy, rolemi Odstranění přihlašovacího jména SECURITY > LOGINS > uživatel > DELETE sp_revokelogin ‘jmeno’ DROP LOGIN jmeno Změna hesla SECURITY > LOGINS > uživatel > PROPERTIES sp_password ‘stareHeslo’ . ’noveHeslo’ . ‘jmeno’
Vybrané operace s loginy, rolemi Přiřazení role přihlašovacímu jménu SECURITY > LOGINS > uživatel > PROPERTIES sp_addsrvrolemember ‘jmeno’ . ‘’role’ SECURITY > SERVER ROLES > role > PROPERTIES
Vybrané operace s loginy, rolemi Řízení přístupu k db SECURITY > LOGINS > uživatel > PROPERTIES
Vybrané operace s loginy, rolemi Přiřazení rolí více uživatelům DATABASES > db > SECURITY > ROLES > DATABASE ROLES > role > PROPERTIES
Vybrané operace s loginy, rolemi Vytváření db rolí DATABASES > db > SECURITY > ROLES > DATABASE ROLES > NEW
Vybrané operace s loginy, rolemi
Vybrané operace s loginy, rolemi Vytváření aplikačních db rolí DATABASES > db > SECURITY > ROLES > APPLICATION ROLES > NEW Správa aplikačních rolí sp_addapprole ‘nazevRole’ . ‘heslo’ sp_dropapprole ‘nazevRole’ sp_setapprole ‘nazevRole’ . ‘heslo’ . ‘kodovani’ Přidání uživatele do aktuální db CREATE USER jmeno FOR LOGIN prihlJmeno Odstranění uživatele z db DROP USER jmeno Správa členů db rolí sp_addrolemember ‘nazevRole’ . ‘bezpecnostniUcet’ sp_droprolemember ‘nazevRole’ . ‘bezpecnostniUcet’ sp_helprolemember ‘nazevRole’
Správa db oprávnění GRANT REVOKE DENY DATABASES > db > PROPERTIES > PERMISSIONS GRANT co ON kde TO kdo GRANT CREATE TABLE ON Predeni TO JaneDoe WITH GRANT OPTION
Objektová oprávnění DATABASES > db > SECURITY > USERS > user > PROPERTIES > SECURABLES
Schémata
Schémata Kontejner objektů Vrstva mezi uživatelem a objektem Nazev_db.nazev_schematu.nazev_objektu Vytvoření schematu DATABASES > db > SECURITY > SCHEMAS > NEW SCHEMA CREATE SCHEMA schema_name
Schémata
Schémata
Schémata Změna vlastnictví objektu - tabulek ALTER SCHEMA cilove_schema TRANSFER zdrojove_schema.presouvany_objekt
Schémata Smazání schématu DROP SCHEMA jmeno_schematu DATABASES > db >SECURITY > SCHEMAS > schema >DELETE
Kontrola přístupů uživatelů SERVER > PROPERTIES > SECURITY > LOGIN AUDITING Logy: MANAGEMENT > SQL SERVER LOGS > VIEW
Použité zdroje: Microsoft SQL Server 2005 – Kapesní rádce administrátora, William R. Stanek SQL Server 2008 for Developers, Robin Dewson http://msdn.microsoft.com/en- us/library/bb545450%28v=MSDN.10%29.aspx http://www.quackit.com/sql_server/sql_server_20 08/tutorial/