Zarządzanie uprawnieniami w SQL Server

advertisement
Zarządzanie uprawnieniami w SQL Server
Uprawnienia na poziomie systemu SQL Server
 Dodanie konta użytkownika do systemu SQL Server
sp_addlogin 'login', 'hasło'
create login Adam with password='Adamowski' tylko SQL Server 2005
 Dodanie użytkownika Ms Windows do systemu SQL Server
sp_grantlogin 'login'
create login [komputer\login] from WINDOWS – tylko SQL Server 2005
 Usunięcie konta z systemu SQL Server
sp_droplogin 'login' – dla użytkowników SQL Server
sp_denylogin 'login' – dla kont systemu Windows
drop login Adam tylko SQL Server 2005
Uprawnienia na poziomie bazy danych
 Nadanie uprawnień dostępu do bieżącej bazy danych
sp_grantdbaccess 'login' ,['nazwa_konta_w_bd']
create user nazwa_konta_w_bd for login tylko SQL Server 2005
 Wycofanie uprawnień dostępu do bieżącej bazy danych
sp_revokedbaccess 'nazwa_konta_w_bd'
drop user Adam tylko SQL Server 2005
 Dodanie nowej roli użytkownika do bieżącej bazy danych
sp_addrole [ @rolaname = ] 'rola' ,[ 'właściciel' ]
create role nazwa_roli [AUTHORIZATION właściciel] SQL Server 2005
 Usunięcie roli użytkownika z bieżącej bazy danych
sp_droprole 'rola'
drop role nazwa_roli
Dodanie konta do roli użytkownika
sp_addrolemember 'rola' , 'nazwa_konta'
Usinięcie konta z roli użytkownika
sp_droprolemember 'rola' , 'nazwa_konta'
Uprawnienia na poziomie obiektów w bazie danych
 Nadanie uprawnień do wykonywania określonych poleceń w bieżącej bazie
danych
GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]
gdzie:
statement = {CREATE DATABASE | CREATE DEFAULT | CREATE FUNCTION
|CREATE PROCEDURE | CREATE RULE | CREATE TABLE | CREATE VIEW | BACKUP
DATABASE | BACKUP LOG }
 Nadanie uprawnień do wykonywanie operacji na określonych obiektach
(tabelach, widokach, procedurach itp.) w bieżącej bazie danych
GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
gdzie:
permission = {SELECT | INSERT | DELETE | UPDATE} – jeżeli obiektem
jest tabela lub widok
permission ={EXECUTE} – jeżeli obiektem jest procedura lub funkcja
permission = {SELECT | UPDATE } – jeżeli obiektem jest kolumna
WITH GRANT OPTION – korzystając z konta security_account będzie można
nadawać innym kontom wskazane uprawnienia do wybranego obiektu.
 Odebranie uprawnień do wykonywania określonych poleceń w bieżącej
bazie danych
DENY { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]
statement = {CREATE DATABASE | CREATE DEFAULT | CREATE FUNCTION
|CREATE PROCEDURE | CREATE RULE | CREATE TABLE | CREATE VIEW | BACKUP
DATABASE | BACKUP LOG }
 Odebranie uprawnień do wykonywania operacji na obiektach w bieżącej
bazie danych
DENY
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ CASCADE ]
permission = {SELECT | INSERT | DELETE | UPDATE} – jeżeli obiektem
jest tabelalub widok
permission ={EXECUTE} – jeżeli obiektem jest procedura lub funkcja
permission = {SELECT | UPDATE } – jeżeli obiektem jest kolumna
CASCADE – jeżeli uprawnienia zostały przypisane z wykorzystaniem opcji
WITH GRANT OPTION to podczas odbierania uprawnień należy podać opcję
CASCADE.
 Wycofanie uprawnień do wykonywania poleceń w bieżącej bazie danych
REVOKE { ALL | statement [ ,...n ] }
FROM security_account [ ,...n ]
statement = {CREATE DATABASE | CREATE DEFAULT | CREATE FUNCTION
|CREATE PROCEDURE | CREATE RULE | CREATE TABLE | CREATE VIEW | BACKUP
DATABASE | BACKUP LOG }
 Wycofanie uprawnień do wykonywania operacji na obiektach w bieżącej
bazie danych
REVOKE [ GRANT OPTION FOR ]
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure }
| ON { user_defined_function }
}
{ TO | FROM }
security_account [ ,...n ]
[ CASCADE ]
permission = {SELECT | INSERT | DELETE | UPDATE} – jeżeli obiektem
jest tabelalub widok
permission ={EXECUTE} – jeżeli obiektem jest procedura lub funkcja
permission = {SELECT | UPDATE } – jeżeli obiektem jest kolumna
CASCADE – jeżeli uprawnienia zostały przypisane z wykorzystaniem opcji
WITH GRANT OPTION to podczas odbierania uprawnień należy podać opcję
CASCADE.
Objaśnienia:
security_account – nazwa konta lub roli użytkownika
table – nazwa tabeli w bazie danych
view – nazwa widoku w bazie danych
column – nazwa kolumny w tabeli lub widoku
stored_procedure – nazwa procedury w bazie danych
user_defined_function – funkcja zdefiniowana przez użytkownika
Download