Udostępnij za pomocą


ODMOWA uprawnień obiektu (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Odmawia uprawnień do składowej klasy OBJECT zabezpieczanych. Są to składowe klasy OBJECT: tabele, widoki, funkcje wartości tabeli, procedury składowane, rozszerzone procedury składowane, funkcje skalarne, funkcje agregujące, kolejki usług i synonimy.

Transact-SQL konwencje składni

Syntax

DENY <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        TO <database_principal> [ ,...n ]   
    [ CASCADE ]  
        [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login  

Arguments

permission
Określa uprawnienie, które można odmówić dla obiektu zawartego w schemacie. Aby uzyskać listę uprawnień, zobacz sekcję Uwagi w dalszej części tego tematu.

ALL
Odmowa all nie odmawia wszystkich możliwych uprawnień. Odmowa ALL jest odpowiednikiem odmowy wszystkich uprawnień ANSI-92 mających zastosowanie do określonego obiektu. Znaczenie ALL różni się w następujący sposób:

  • Uprawnienia funkcji skalarnych: EXECUTE, REFERENCES.
  • Uprawnienia funkcji wartości tabeli: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
  • Uprawnienia procedury składowanej: EXECUTE.
  • Uprawnienia do tabeli: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
  • Wyświetlanie uprawnień: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

PRIVILEGES
Dołączone do zgodności ANSI-92. Nie zmienia zachowania ALL.

column
Określa nazwę kolumny w funkcji tabeli, widoku lub tabeli, na której jest blokowane uprawnienie. Nawiasy ( ) są wymagane. W kolumnie można odmówić tylko uprawnień SELECT, REFERENCES i UPDATE. kolumnę można określić w klauzuli permissions lub po zabezpieczanej nazwie.

Caution

Odmowa na poziomie tabeli nie ma pierwszeństwa przed grantem na poziomie kolumny. Ta niespójność w hierarchii uprawnień została zachowana w celu zapewnienia zgodności z poprzednimi wersjami. W programie SQL Server to zachowanie różni się, jeśli serwer jest skonfigurowany do uruchamiania z konfiguracją serwera z włączoną obsługą typowych kryteriów. Jednak powinno to być ogólnie stosowane tylko z ostrożnością, a nie jako ogólną praktyką.

NA [ OBIEKT :: ] [ schema_name ] .object_name
Określa obiekt, na którym jest blokowane uprawnienie. Fraza OBJECT jest opcjonalna, jeśli określono schema_name . Jeśli jest używana fraza OBJECT, wymagany jest kwalifikator zakresu (::). Jeśli schema_name nie zostanie określony, zostanie użyty schemat domyślny. Jeśli określono schema_name , wymagany jest kwalifikator zakresu schematu (.).

ABY <database_principal>
Określa podmiot zabezpieczeń, do którego odmówiono uprawnień.

CASCADE
Wskazuje, że odmowa uprawnień jest również odrzucana innym podmiotom zabezpieczeń, którym udzielono jej przez tego podmiotu zabezpieczeń.

As <database_principal>
Określa podmiot zabezpieczeń, z którego podmiot zabezpieczeń wykonujący to zapytanie ma prawo odmówić uprawnienia.

Database_user
Określa użytkownika bazy danych.

Database_role
Określa rolę bazy danych.

Application_role
Określa rolę aplikacji.

Database_user_mapped_to_Windows_User
Określa użytkownika bazy danych zamapowanego na użytkownika systemu Windows.

Database_user_mapped_to_Windows_Group
Określa użytkownika bazy danych zamapowanego na grupę systemu Windows.

Database_user_mapped_to_certificate
Określa użytkownika bazy danych mapowanego na certyfikat.

Database_user_mapped_to_asymmetric_key
Określa użytkownika bazy danych mapowanego na klucz asymetryczny.

Database_user_with_no_login
Określa użytkownika bazy danych bez odpowiedniego podmiotu zabezpieczeń na poziomie serwera.

Remarks

Informacje o obiektach są widoczne w różnych widokach wykazu. Aby uzyskać więcej informacji, zobacz Widoki wykazu obiektów (Transact-SQL).

Obiekt jest zabezpieczany na poziomie schematu zawarty w schemacie, który jest jego elementem nadrzędnym w hierarchii uprawnień. Najbardziej specyficzne i ograniczone uprawnienia, które można odmówić na obiekcie, są wymienione w poniższej tabeli wraz z bardziej ogólnymi uprawnieniami, które obejmują je przez implikację.

Pozwolenie na obiekt Sugerowane przez uprawnienie obiektu Dorozumiane przez uprawnienie schematu
ALTER CONTROL ALTER
CONTROL CONTROL CONTROL
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
RECEIVE CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT RECEIVE SELECT
PRZEJMIJ ODPOWIEDZIALNOŚĆ CONTROL CONTROL
UPDATE CONTROL UPDATE
WYŚWIETLANIE ŚLEDZENIA ZMIAN CONTROL WYŚWIETLANIE ŚLEDZENIA ZMIAN
DEFINICJA WIDOKU CONTROL DEFINICJA WIDOKU

Permissions

Wymaga uprawnień CONTROL w obiekcie.

Jeśli używasz klauzuli AS, określony podmiot zabezpieczeń musi być właścicielem obiektu, na którym są odrzucane uprawnienia.

Examples

W poniższych przykładach użyto bazy danych AdventureWorks.

A. Odmowa uprawnień SELECT w tabeli

W poniższym przykładzie odmowa SELECT uprawnień do użytkownika RosaQdM w tabeli Person.Address.

DENY SELECT ON OBJECT::Person.Address TO RosaQdM;  
GO  

B. Odmowa uprawnień EXECUTE w procedurze składowanej

W poniższym przykładzie odmowa EXECUTE uprawnień do procedury HumanResources.uspUpdateEmployeeHireInfo składowanej do roli aplikacji o nazwie Recruiting11.

DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    TO Recruiting11;  
GO   

C. Odmowa uprawnień REFERENCES w widoku za pomocą programu CASCADE

W poniższym przykładzie odmowa REFERENCES uprawnień do kolumny BusinessEntityID w widoku HumanResources.vEmployee użytkownika Wanida za pomocą CASCADEpolecenia .

DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    TO Wanida CASCADE;  
GO  

Zobacz też

UDZIEL uprawnień obiektu (Transact-SQL)
ODWOŁAJ uprawnienia obiektu (Transact-SQL)
widoki wykazu obiektów (Transact-SQL)
Uprawnienia (aparat bazy danych)
Podmioty (aparat bazy danych)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)