DENY Uprawnienia serwera (Transact-SQL)

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

uprawnienie

Określa uprawnienie, które można odmówić na serwerze. Aby uzyskać listę uprawnień, zobacz Uwagi.

KASKADA

Wskazuje, że uprawnienie jest odrzucane określonemu podmiotowi zabezpieczeń i wszystkim innym podmiotom zabezpieczeń, do których podmiot zabezpieczeń udzielił uprawnienia. Wymagane, gdy zleceniodawca ma zgodę na .GRANT OPTION

DO <server_principal>

Określa podmiot zabezpieczeń, do którego odmówiono uprawnień.

JAK <grantor_principal>

Określa podmiot zabezpieczeń, z którego podmiot zabezpieczeń wykonujący to zapytanie ma prawo do odmowy uprawnienia.

Użyj klauzuli AS głównej, aby wskazać, że podmiot zarejestrowany jako odmawiający zgody powinien być podmiotem innym niż osoba sporządzająca oświadczenie. Na przykład załóżmy, że użytkownik Mary ma principal_id 12 lat, a Raul 15 lat. Mary wykonuje DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Teraz tabela sys.database_permissions wskaże, że zdanie grantor_principal_id odmówienia wynosiło 15 (Raul), mimo że zdanie zostało faktycznie wykonane przez użytkownika 13 (Mary).

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 skali serwera mogą być odrzucone tylko wtedy, gdy aktualna baza danych to master.

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.

W Azure SQL Database GRANTuprawnienia REVOKEna poziomie serwera , , oraz DENY of nie są obsługiwane.

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
ADMINISTER BULK OPERATIONS CONTROL SERVER
ALTER ANY AVAILABILITY GROUP

Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji).
CONTROL SERVER
ALTER ANY CONNECTION CONTROL SERVER
ALTER ANY CREDENTIAL CONTROL SERVER
ALTER ANY DATABASE CONTROL SERVER
ALTER ANY ENDPOINT CONTROL SERVER
ALTER ANY EVENT NOTIFICATION CONTROL SERVER
ALTER ANY EVENT SESSION CONTROL SERVER
ALTER ANY LINKED SERVER CONTROL SERVER
ALTER ANY LOGIN CONTROL SERVER
ALTER ANY SERVER AUDIT CONTROL SERVER
ALTER ANY SERVER ROLE

Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji).
CONTROL SERVER
ALTER RESOURCES CONTROL SERVER
ALTER SERVER STATE CONTROL SERVER
ALTER SETTINGS CONTROL SERVER
ALTER TRACE CONTROL SERVER
AUTHENTICATE SERVER CONTROL SERVER
POŁĄCZ DOWOLNE DATABASE

Dotyczy: SQL Server (SQL Server 2014 (12.x) do bieżącej wersji).
CONTROL SERVER
CONNECT SQL CONTROL SERVER
CONTROL SERVER CONTROL SERVER
CREATE ANY DATABASE ALTER ANY DATABASE
CREATE AVAILABILITY GROUP

Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji).
ZMIENIAJ DOWOLNY AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
CREATE ENDPOINT ALTER ANY ENDPOINT
CREATE SERVER ROLE

Dotyczy: SQL Server (SQL Server 2012 (11.x) do bieżącej wersji).
ALTER ANY SERVER ROLE
CREATE TRACE EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLY CONTROL SERVER
IMPERSONATE ANY LOGIN

Dotyczy: SQL Server (SQL Server 2014 (12.x) do bieżącej wersji).
CONTROL SERVER
SELECT ALL USER SECURABLES

Dotyczy: SQL Server (SQL Server 2014 (12.x) do bieżącej wersji).
CONTROL SERVER
SHUTDOWN CONTROL SERVER
UNSAFE ASSEMBLY CONTROL SERVER
VIEW ANY DATABASE VIEW ANY DEFINITION
VIEW ANY DEFINITION CONTROL SERVER
VIEW ANY PERFORMANCE DEFINITION

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.
VIEW ANY DEFINITION
VIEW ANY SECURITY DEFINITION

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.
VIEW ANY DEFINITION
VIEW SERVER PERFORMANCE STATE

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.
VIEW SERVER STATE
VIEW SERVER SECURITY STATE

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.
VIEW SERVER STATE
VIEW SERVER STATE ALTER SERVER STATE

Następujące trzy uprawnienia serwera zostały dodane w programie SQL Server 2014 (12.x).

  • uprawnienie CONNECT ANY DATABASE

    • Nadaj CONNECT ANY DATABASE logowanie, które musi łączyć się ze wszystkimi obecnie istniejącymi bazami danych oraz z nowymi bazami, które mogą zostać utworzone w przyszłości. Nie udziela żadnych uprawnień w żadnej bazie danych poza połączeniem. Połącz lub SELECT ALL USER SECURABLESVIEW SERVER STATE umożliwi proces audytu do przeglądania wszystkich danych lub wszystkich stanów bazy danych na instancji SQL Server.
  • uprawnienie IMPERSONATE ANY LOGIN

    • 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 z CONTROL SERVER uprawnieniami może zostać zablokowane przed podszywaniem się pod inne logowania.
  • uprawnienie SELECT ALL USER SECURABLES

    • 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. Gdy odmówione, uniemożliwia dostęp do obiektów, chyba że znajdują się one w sys schemacie.

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. Odmóń uprawnienia CONNECT SQL do logowania do SQL Server oraz zasad, którym dane dane przyznały je ponownie

W poniższym przykładzie odmowa CONNECT SQL uprawnień do logowania programu SQL Server Test i podmiotów zabezpieczeń, którym przyznała uprawnienie.

USE master;  
DENY CONNECT SQL TO Test CASCADE;  
GO  

B. Odmówić CREATE ENDPOINT pozwolenia na logowanie do SQL Server za pomocą opcji AS

W poniższym przykładzie odmowa CREATE ENDPOINT uprawnień do użytkownika Test1. W przykładzie użyto opcji AS w celu określenia Test2 jako podmiotu zabezpieczeń, z którego podmiot wykonujący wyprowadza urząd do tego celu.

USE master;  
DENY CREATE ENDPOINT TO Test1 AS Test2;  
GO