ODMOWA uprawnień serwera (Transact-SQL)
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Odmawia uprawnień na serwerze.
Transact-SQL konwencje składni
Składnia
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argumenty
uprawnienia
Określa uprawnienie, które można odmówić na serwerze. Aby uzyskać listę uprawnień, zobacz sekcję Uwagi w dalszej części tego tematu.
KASKADA
Wskazuje, że uprawnienie jest odrzucane określonemu podmiotowi zabezpieczeń i wszystkim innym podmiotom zabezpieczeń, do których podmiot zabezpieczeń udzielił uprawnienia. Wymagane, gdy podmiot zabezpieczeń ma uprawnienie z OPCJĄ UDZIELANIA.
DO <server_principal>
Określa podmiot zabezpieczeń, do którego odmówiono uprawnień.
AS <grantor_principal>
Określa podmiot zabezpieczeń, z którego podmiot zabezpieczeń wykonujący to zapytanie ma prawo do odmowy uprawnienia.
Użyj klauzuli podmiotu zabezpieczeń AS, aby wskazać, że podmiot zabezpieczeń zarejestrowany jako odmowa uprawnienia powinien być podmiotem zabezpieczeń innym niż osoba wykonująca instrukcję. Załóżmy na przykład, że użytkownik Mary jest principal_id 12, a użytkownik Raul jest podmiotem głównym 15. Mary wykonuje DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul;
Teraz tabela sys.database_permissions będzie wskazywać, że grantor_principal_id instrukcji odmowy był 15 (Raul), mimo że instrukcja została rzeczywiście wykonana przez użytkownika 13 (Mary).
Użycie as w tej instrukcji nie oznacza możliwości personifikacji innego użytkownika.
SQL_Server_login
Określa identyfikator logowania programu SQL Server.
SQL_Server_login_mapped_to_Windows_login
Określa identyfikator logowania programu SQL Server zamapowany na dane logowania systemu Windows.
SQL_Server_login_mapped_to_Windows_group
Określa identyfikator logowania programu SQL Server zamapowany na grupę systemu Windows.
SQL_Server_login_mapped_to_certificate
Określa identyfikator logowania programu SQL Server zamapowany na certyfikat.
SQL_Server_login_mapped_to_asymmetric_key
Określa identyfikator logowania programu SQL Server zamapowany na klucz asymetryczny.
server_role
Określa rolę serwera.
Uwagi
Uprawnienia w zakresie serwera można odmówić tylko wtedy, gdy bieżąca baza danych jest główną.
Informacje o uprawnieniach serwera można wyświetlić w widoku katalogu sys.server_permissions, a informacje o jednostkach serwera można wyświetlić w widoku katalogu sys.server_principals. Informacje o członkostwie ról serwera można wyświetlić w widoku katalogu sys.server_role_members.
Serwer jest najwyższym poziomem hierarchii uprawnień. Najbardziej specyficzne i ograniczone uprawnienia, które mogą zostać odrzucone na serwerze, są wymienione w poniższej tabeli.
Uprawnienie serwera | Dorozumiane przez uprawnienie serwera |
---|---|
ADMINISTROWANIE OPERACJAMI ZBIORCZYM | SERWER STEROWANIA |
ZMIENIANIE DOWOLNEJ GRUPY DOSTĘPNOŚCI Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji). |
SERWER STEROWANIA |
ZMIENIANIE DOWOLNEGO POŁĄCZENIA | SERWER STEROWANIA |
ALTER ANY CREDENTIAL | SERWER STEROWANIA |
ZMIENIANIE DOWOLNEJ BAZY DANYCH | SERWER STEROWANIA |
ZMIENIANIE DOWOLNEGO PUNKTU KOŃCOWEGO | SERWER STEROWANIA |
ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU | SERWER STEROWANIA |
ALTER ANY EVENT SESSION | SERWER STEROWANIA |
ALTER ANY LINKED SERVER | SERWER STEROWANIA |
ZMIENIANIE DOWOLNEGO IDENTYFIKATORA LOGOWANIA | SERWER STEROWANIA |
ALTER ANY SERVER AUDIT | SERWER STEROWANIA |
ZMIENIANIE DOWOLNEJ ROLI SERWERA Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji). |
SERWER STEROWANIA |
ZMIENIANIE ZASOBÓW | SERWER STEROWANIA |
ALTER SERVER STATE | SERWER STEROWANIA |
ZMIENIANIE USTAWIEŃ | SERWER STEROWANIA |
ALTER TRACE | SERWER STEROWANIA |
UWIERZYTELNIANIE SERWERA | SERWER STEROWANIA |
ŁĄCZENIE DOWOLNEJ BAZY DANYCH Dotyczy: SQL Server (SQL Server 2014 (12.x) do bieżącej wersji). |
SERWER STEROWANIA |
NAWIĄZYWANIE POŁĄCZENIA Z BAZĄ DANYCH SQL | SERWER STEROWANIA |
SERWER STEROWANIA | SERWER STEROWANIA |
TWORZENIE DOWOLNEJ BAZY DANYCH | ZMIENIANIE DOWOLNEJ BAZY DANYCH |
TWORZENIE GRUPY DOSTĘPNOŚCI Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji). |
ZMIENIANIE DOWOLNEJ GRUPY DOSTĘPNOŚCI |
TWORZENIE POWIADOMIENIA O ZDARZENIU DDL | ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU |
TWORZENIE PUNKTU KOŃCOWEGO | ZMIENIANIE DOWOLNEGO PUNKTU KOŃCOWEGO |
TWORZENIE ROLI SERWERA Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji). |
ZMIENIANIE DOWOLNEJ ROLI SERWERA |
TWORZENIE POWIADOMIENIA O ZDARZENIACH ŚLEDZENIA | ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU |
ZESTAW DOSTĘPU ZEWNĘTRZNEGO | SERWER STEROWANIA |
PERSONIFIKUJ DOWOLNE LOGOWANIE Dotyczy: SQL Server (SQL Server 2014 (12.x) do bieżącej wersji). |
SERWER STEROWANIA |
WYBIERZ WSZYSTKIE ZABEZPIECZANE UŻYTKOWNIKÓW Dotyczy: SQL Server (SQL Server 2014 (12.x) do bieżącej wersji). |
SERWER STEROWANIA |
ZAMKNIĘCIA | SERWER STEROWANIA |
ZESTAW NIEBEZPIECZNY | SERWER STEROWANIA |
WYŚWIETL DOWOLNĄ BAZĘ DANYCH | WYŚWIETL DOWOLNĄ DEFINICJĘ |
WYŚWIETL DOWOLNĄ DEFINICJĘ | SERWER STEROWANIA |
WYŚWIETLANIE STANU SERWERA | ALTER SERVER STATE |
Następujące trzy uprawnienia serwera zostały dodane w programie SQL Server 2014 (12.x).
Udziel CONNECT ANY DATABASE do nazwy logowania, która musi łączyć się ze wszystkimi bazami danych, które obecnie istnieją, oraz z nowymi bazami danych, które mogą zostać utworzone w przyszłości. Nie udziela żadnych uprawnień w żadnej bazie danych poza połączeniem. Połącz się z SELECT ALL USER SECURABLES lub VIEW SERVER STATE, aby umożliwić procesowi inspekcji wyświetlanie wszystkich danych lub wszystkich stanów bazy danych w wystąpieniu programu SQL Server.
PERSONIFIKUJ DOWOLNE uprawnienia logowania
Po przyznaniu umożliwia procesowi warstwy środkowej personifikację konta klientów łączących się z nim, ponieważ łączy się z bazami danych. Po odmowie logowania z wysokim poziomem uprawnień można zablokować personifikację innych identyfikatorów logowania. Na przykład logowanie za pomocą CONTROL SERVER uprawnienia można zablokować od personifikacji innych identyfikatorów logowania.
WYBIERZ UPRAWNIENIE WSZYSTKICH UŻYTKOWNIKÓW ZABEZPIECZANYCH
Po przyznaniu identyfikator logowania, taki jak audytor, może wyświetlać dane we wszystkich bazach danych, z którymi użytkownik może nawiązać połączenie. Po odmowie uniemożliwia dostęp do obiektów, chyba że znajdują się w schemacie sys.
Uprawnienia
Wymaga uprawnień serwera KONTROLI lub własności zabezpieczanej. Jeśli używasz klauzuli AS, określony podmiot zabezpieczeń musi być właścicielem zabezpieczanego, na którym uprawnienia są odrzucane.
Przykłady
A. Odmowa uprawnień CONNECT SQL do identyfikatora logowania i podmiotów zabezpieczeń programu SQL Server, do których zalogowano się
W poniższym przykładzie odmowa CONNECT SQL
uprawnień do logowania programu SQL Server Annika
i podmiotów zabezpieczeń, którym przyznała uprawnienie.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Odmowa uprawnień CREATE ENDPOINT do logowania programu SQL Server przy użyciu opcji AS
W poniższym przykładzie odmowa CREATE ENDPOINT
uprawnień do użytkownika ArifS
. W przykładzie użyto opcji AS
w celu określenia MandarP
jako podmiotu zabezpieczeń, z którego podmiot wykonujący wyprowadza urząd do tego celu.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Zobacz też
GRANT (Transact-SQL)
DENY (Transact-SQL)
ODMAWIAJ uprawnień serwera (Transact-SQL)
ODWOŁAJ uprawnienia serwera (Transact-SQL)
hierarchii uprawnień (aparatu bazy danych)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)