• 05/24/2017
  • 4 minuty na przeczytanie
    • V
    • w
    • .

    • M
    • j
    • D
    • +8

APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse

SQL Server udostępnia role na poziomie serwera, które pomagają zarządzać uprawnieniami na serwerze. Role to zasady bezpieczeństwa, które grupują inne zasady. Role na poziomie serwera mają zakres uprawnień obejmujący cały serwer. (Role są jak grupy w systemie operacyjnym Windows.)

Stałe role serwera są dostarczane dla wygody i kompatybilności wstecznej. Jeśli to możliwe, należy przypisać bardziej szczegółowe uprawnienia.

SerwerSQL udostępnia dziewięć stałych ról serwera. Uprawnienia przypisane do stałych ról serwera (z wyjątkiem publicznych) nie mogą zostać zmienione. Począwszy od wersji 11.x serwera SQL Server 2012 możesz tworzyć definiowane przez użytkownika role serwera i dodawać uprawnienia na poziomie serwera do definiowanych przez użytkownika ról serwera.

Możesz dodać zasady na poziomie serwera (loginy SQL Server, konta Windows i grupy Windows) do ról na poziomie serwera. Każdy członek stałej roli serwera może dodawać inne loginy do tej samej roli. Członkowie zdefiniowanych przez użytkownika ról serwera nie mogą dodawać innych zasad do roli.

Uwaga

Uprawnienia na poziomie serwera nie są dostępne w SQL Database lub Azure Synapse Analytics. Aby uzyskać więcej informacji na temat bazy danych SQL Database, zobacz Kontrolowanie i przyznawanie dostępu do bazy danych.

Stałe role na poziomie serwera

W poniższej tabeli przedstawiono stałe role na poziomie serwera i ich możliwości.

Rola stała na poziomie serwera Opis
sysadmin Członkowie roli stałej serwera sysadmin mogą wykonywać dowolne czynności na serwerze.
serveradmin Członkowie roli serveradmin fixed server mogą zmieniać opcje konfiguracyjne całego serwera i wyłączać serwer.
securityadmin Członkowie roli securityadmin fixed server zarządzają loginami i ich właściwościami. Mogą GRANT, DENY, i REVOKE uprawnienia na poziomie serwera. Mogą również GRANT, DENY, i REVOKE uprawnienia na poziomie bazy danych, jeśli mają dostęp do bazy danych. Dodatkowo, mogą resetować hasła logowania do SQL Server.
WAŻNE: Możliwość przyznawania dostępu do Database Engine i konfigurowania uprawnień użytkowników pozwala administratorowi bezpieczeństwa na przydzielanie większości uprawnień serwera. Rolę securityadmin należy traktować jako równoważną roli sysadmin.
processadmin Członkowie roli processadmin fixed server mogą kończyć procesy uruchomione w instancji SQL Server.
setupadmin Członkowie roli setupadmin fixed server mogą dodawać i usuwać połączone serwery za pomocą instrukcji Transact-SQL. (członkostwo sysadmin jest wymagane w przypadku korzystania z Management Studio.)
bulkadmin Członkowie roli bulkadmin fixed server mogą uruchamiać instrukcję BULK INSERT.
diskadmin Rola diskadmin fixed server służy do zarządzania plikami dyskowymi.
dbcreator Członkowie stałej roli serwera dbcreator mogą tworzyć, zmieniać, upuszczać i przywracać dowolne bazy danych.
public Każde logowanie do serwera SQL Server należy do roli serwera public. Jeśli głównemu użytkownikowi serwera nie zostały nadane lub odmówione określone uprawnienia do obiektu zabezpieczonego, użytkownik dziedziczy uprawnienia nadane public dla tego obiektu. Nadaj uprawnienia publiczne dla obiektu tylko wtedy, gdy chcesz, aby obiekt był dostępny dla wszystkich użytkowników. Nie można zmienić członkostwa w public.
Uwaga: public jest implementowany inaczej niż inne role, a uprawnienia mogą być nadawane, odmawiane lub odbierane z ról public fixed server.

Important

Większość uprawnień zapewnianych przez następujące role serwera nie ma zastosowania do Synapse SQL – processadmin, serveradmin, setupadmin i diskadmin.

Uprawnienia stałych ról serwera

Każda stała rola serwera ma przypisane pewne uprawnienia. Poniższa grafika przedstawia uprawnienia przypisane do ról serwera.

Important

Uprawnienie CONTROL SERVER jest podobne, ale nie identyczne z rolą stałego serwera sysadmin. Uprawnienia nie implikują przynależności do ról, a przynależność do ról nie daje uprawnień. (Np. CONTROL SERVER nie implikuje członkostwa w roli stałego serwera sysadmin). Jednakże, czasami możliwe jest podszywanie się pomiędzy rolami i równoważnymi uprawnieniami. Większość poleceń DBCC i wiele procedur systemowych wymaga członkostwa w stałej roli serwera sysadmin. Listę 171 systemowych procedur składowanych, które wymagają członkostwa w roli sysadmin, można znaleźć w następującym wpisie Andreasa Woltera CONTROL SERVER vs. sysadmin/sa: uprawnienia, procedury systemowe, DBCC, automatyczne tworzenie schematów i eskalacja uprawnień – zastrzeżenia.

Uprawnienia na poziomie serwera

Tylko uprawnienia na poziomie serwera mogą być dodawane do ról serwera zdefiniowanych przez użytkownika. Aby wyświetlić listę uprawnień na poziomie serwera, wykonaj poniższe polecenie. Aby uzyskać więcej informacji na temat uprawnień, zobacz temat Uprawnienia (Database Engine) i sys.fn_builtin_permissions (Transact-SQL).

Praca z rolami na poziomie serwera

Następująca tabela wyjaśnia polecenia, widoki i funkcje, których można użyć do pracy z rolami na poziomie serwera.

Feature Type Description
sp_helpsrvrole (Transact-SQL) Metadata Wraca listę ról poziomu serwera.
sp_helpsrvrolemember (Transact-SQL) Metadata Uzyskuje informacje o członkach roli na poziomie serwera.
sp_srvrolepermission (Transact-SQL) Metadata Wyświetla uprawnienia roli na poziomie serwera.
IS_SRVROLEMEMBER (Transact-SQL) Metadata Wskazuje, czy login SQL Server jest członkiem określonej roli na poziomie serwera.
sys.server_role_members (Transact-SQL) Metadata Zwraca jeden wiersz dla każdego członka każdej roli na poziomie serwera.
sp_addsrvrolemember (Transact-SQL) Command Dodaje login jako członka roli na poziomie serwera. Przestarzałe. Zamiast tego użyj ALTER SERVER ROLE.
sp_dropsrvrolemember (Transact-SQL) Command Usuwa login SQL Server albo użytkownika lub grupę Windows z roli na poziomie serwera. Przestarzałe. Zamiast tego należy użyć polecenia ALTER SERVER ROLE.
CREATE SERVER ROLE (Transact-SQL) Command Tworzy rolę serwera zdefiniowaną przez użytkownika.
ALTER SERVER ROLE (Transact-SQL) Command Zmienia członkostwo w roli serwera lub zmienia nazwę roli serwera zdefiniowanej przez użytkownika.
DROP SERVER ROLE (Transact-SQL) Command Usuwa rolę serwera zdefiniowaną przez użytkownika.
IS_SRVROLEMEMBER (Transact-SQL) Funkcja Określa przynależność do roli serwera.

Zobacz także

Role poziomu bazy danych
Widoki katalogu zabezpieczeń (Transact-SQL)
Funkcje zabezpieczeń (Transact-SQL)
Zabezpieczanie serwera SQL
GRANT Uprawnienia administratora serwera (Transact-SQL)
REVOKE Uprawnienia administratora serwera (Transact-SQL)
DENY Uprawnienia administratora serwera (Transact-SQL)
Twórz rolę serwera

Utwórz rolę serwera

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.