Udostępnij za pośrednictwem


ODMOWA uprawnień serwera (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure 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).

CONNECT ANY DATABASE Permission (ŁĄCZENIE DOWOLNEGO UPRAWNIENIA BAZY DANYCH)
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)