Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
Odmítne oprávnění na serveru.
Syntax
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
oprávnění
Určuje oprávnění, která lze na serveru odepřít. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.
KASKÁDA
Označuje, že oprávnění je odepřeno zadanému objektu zabezpečení a všem ostatním objektům zabezpečení, kterým objekt zabezpečení udělil oprávnění. Vyžadováno, pokud má hlavní strana povolení s GRANT OPTION.
<SERVER_PRINCIPAL>
Určuje objekt zabezpečení, ke kterému je oprávnění odepřeno.
<GRANTOR_PRINCIPAL> AS
Určuje objekt zabezpečení, ze kterého objekt zabezpečení, který spouští tento dotaz, odvozuje své právo odepřít oprávnění.
Pomocí klauzule instančního objektu AS uveďte, že objekt zabezpečení zaznamenaný jako denátor oprávnění by měl být jiným objektem než osoba provádějící příkaz. Například předpokládáme, že uživatel Mary je principal_id 12 a uživatel Raul je instanční 15. Mary spustí DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nyní tabulka sys.database_permissions bude indikovat, že grantor_principal_id příkazu odepřít bylo 15 (Raul), i když byl příkaz skutečně proveden uživatelem 13 (Mary).
Použití AS v tomto prohlášení neznamená schopnost zosobnit jiného uživatele.
SQL_Server_login
Určuje přihlášení k SQL Serveru.
SQL_Server_login_mapped_to_Windows_login
Určuje přihlášení SQL Serveru namapované na přihlášení systému Windows.
SQL_Server_login_mapped_to_Windows_group
Určuje přihlášení SQL Serveru namapované na skupinu Windows.
SQL_Server_login_mapped_to_certificate
Určuje přihlášení SQL Serveru namapované na certifikát.
SQL_Server_login_mapped_to_asymmetric_key
Určuje přihlášení SQL Serveru namapované na asymetrický klíč.
server_role
Určuje roli serveru.
Poznámky
Oprávnění v oboru serveru je možné odepřít pouze v okamžiku, kdy je aktuální databáze hlavní.
Informace o oprávněních serveru lze zobrazit v zobrazení katalogu sys.server_permissions a informace o objektech zabezpečení serveru lze zobrazit v zobrazení katalogu sys.server_principals. Informace o členství rolí serveru lze zobrazit v zobrazení katalogu sys.server_role_members.
Server je nejvyšší úroveň hierarchie oprávnění. Nejpřesnější a omezená oprávnění, která se dají na serveru odepřít, jsou uvedená v následující tabulce.
| Oprávnění serveru | Implicitní oprávnění serveru |
|---|---|
| SPRÁVA HROMADNÝCH OPERACÍ | řídicí server |
| Změnit libovolný AVAILABILITY GROUP platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze). |
řídicí server |
| ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ | řídicí server |
| Změnit libovolný CREDENTIAL | řídicí server |
| Změnit libovolný DATABASE | řídicí server |
| Změnit libovolný ENDPOINT | řídicí server |
| Změnit libovolný EVENT NOTIFICATION | řídicí server |
| Změnit libovolný EVENT SESSION | řídicí server |
| ZMĚNIT JAKÝKOLI PROPOJENÝ SERVER | řídicí server |
| Změnit libovolný LOGIN | řídicí server |
| Změnit libovolný SERVER AUDIT | řídicí server |
| Změnit libovolný SERVER ROLE platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze). |
řídicí server |
| Změnit zdroje | řídicí server |
| Změnit stav serveru | řídicí server |
| Změnit nastavení | řídicí server |
| ALTEROVÁ STOPA | řídicí server |
| OVĚŘENÍ SERVERU | řídicí server |
| SPOJTE JAKÉKOLIV DATABASE platí pro: SQL Server (SQL Server 2014 (12.x) až aktuální verze). |
řídicí server |
| CONNECT SQL | řídicí server |
| řídicí server | řídicí server |
| VYTVOŘTE LIBOVOLNÉ DATABASE | Změnit libovolný DATABASE |
| CREATE AVAILABILITY GROUP platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze). |
Změnit libovolný AVAILABILITY GROUP |
| VYTVOŘIT DDL EVENT NOTIFICATION | Změnit libovolný EVENT NOTIFICATION |
| CREATE ENDPOINT | Změnit libovolný ENDPOINT |
| CREATE SERVER ROLE platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze). |
Změnit libovolný SERVER ROLE |
| VYTVOŘIT TRACE EVENT NOTIFICATION | Změnit libovolný EVENT NOTIFICATION |
| EXTERNÍ PŘÍSTUP ASSEMBLY | řídicí server |
| PŘEDSTÍREJTE SE ZA KOHOKOLI LOGIN platí pro: SQL Server (SQL Server 2014 (12.x) až aktuální verze). |
řídicí server |
| VYBRAT VŠECHNY USER SECURABLES platí pro: SQL Server (SQL Server 2014 (12.x) až aktuální verze). |
řídicí server |
| VYPNUTÍ | řídicí server |
| NEBEZPEČNÉ ASSEMBLY | řídicí server |
| VIEW JAKÝKOLI DATABASE | VIEW JAKÁKOLI DEFINICE |
| VIEW JAKÁKOLI DEFINICE | řídicí server |
|
VIEW JAKÁKOLI DEFINICE VÝKONU Platí pro: SQL Server 2022 (16.x) a novější verze. |
VIEW JAKÁKOLI DEFINICE |
|
VIEW JAKÁKOLI DEFINICE ZABEZPEČENÍ Platí pro: SQL Server 2022 (16.x) a novější verze. |
VIEW JAKÁKOLI DEFINICE |
|
VIEW STAV VÝKONU SERVERU Platí pro: SQL Server 2022 (16.x) a novější verze. |
VIEW STAV SERVERU |
|
VIEW STAV ZABEZPEČENÍ SERVERU Platí pro: SQL Server 2022 (16.x) a novější verze. |
VIEW STAV SERVERU |
| VIEW STAV SERVERU | Změnit stav serveru |
V SQL Serveru 2014 (12.x) byly přidána následující tři oprávnění serveru.
SPOJTE JAKÉKOLIV DATABASE Povolení
Udělte CONNECT ANYTHING DATABASE k přihlašování, které musí být připojeno ke všem aktuálně existujícím databázím a k novým databázím, které mohou být v budoucnu vytvořeny. Neuděluje žádné oprávnění v žádné databázi nad rámec připojení. Kombinujte s SELECT ALL USER SECURABLES nebo VIEW SERVER STATE, aby auditní proces mohl zobrazit všechna data nebo všechny stavy databáze na instanci SQL Server.
PŘEDSTÍREJTE SE ZA KOHOKOLI LOGIN Povolení
Pokud je to uděleno, umožňuje proces střední vrstvy zosobnit účet klientů, kteří se k němu připojují, protože se připojuje k databázím. Pokud je odepřeno, může být zablokované zosobnění jiných přihlášení s vysokou úrovní oprávnění. Například přihlášení s oprávněním CONTROL SERVER může být zablokováno zosobnění jiných přihlášení.
VYBRAT VŠE USER SECURABLES Povolení
Po udělení může přihlášení, jako je auditor, zobrazit data ve všech databázích, ke kterým se uživatel může připojit. Pokud je odepřen, zabráníte přístupu k objektům, pokud nejsou ve schématu sys.
Dovolení
Vyžaduje oprávnění CONTROL SERVERU nebo vlastnictví zabezpečitelného serveru. Pokud použijete klauzuli AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, na kterém jsou oprávnění odepřena.
Příklady
A. Odepření oprávnění CONNECT SQL pro přihlášení a objekty zabezpečení SQL Serveru, ke kterým se přihlašovací jméno zaregistrovalo
Následující příklad odepře CONNECT SQL oprávnění k přihlášení k SQL Serveru Annika a objektům zabezpečení, kterým udělila oprávnění.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Odepření CREATE ENDPOINT oprávnění k přihlášení do SQL Server pomocí možnosti AS
Následující příklad odmítne CREATE ENDPOINT oprávnění k uživateli ArifS. Příklad používá možnost AS k určení MandarP jako objektu zabezpečení, ze kterého exekuční objekt odvozuje autoritu k tomu.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Související obsah
- GRANT (Transact-SQL)
- DENY (Transact-SQL)
- DENY Oprávnění serveru (Transact-SQL)
- REVOKE Oprávnění serveru (Transact-SQL)
- hierarchie oprávnění
(databázový stroj) - sys.fn_vestavěná_oprávnění (Transact-SQL)
-
sys.fn_my_permissions (Transact-SQL) -
HAS_PERMS_BY_NAME (Transact-SQL)