Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
database SQL di Azure
Azure SQL Istanza gestita
Database SQL in Microsoft Fabric
Nega le autorizzazioni concesse per un utente di database, un ruolo del database o un ruolo applicazione in SQL Server.
Convenzioni relative alla sintassi Transact-SQL
Syntax
DENY permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<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
Specifica un'autorizzazione che può essere negata per un'entità di database. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.
USER ::database_user
Specifica la classe e il nome dell'utente per cui viene negata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.
ROLE ::database_role
Specifica la classe e il nome del ruolo per cui viene negata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.
APPLICATION ROLE ::application_role
Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL.
Specifica la classe e il nome del ruolo applicazione per cui viene negata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.
CASCADE
Indica che l'autorizzazione negata viene negata anche ad altre entità alle quali è stata concessa da questa entità.
COME <database_principal>
Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di revocare l'autorizzazione.
Database_user
Specifica un utente di database.
Database_role
Specifica un ruolo del database.
Application_role
Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL.
Specifica un ruolo applicazione.
Database_user_mapped_to_Windows_User
Specifica un utente del database sul quale viene eseguito il mapping a un utente di Windows.
Database_user_mapped_to_Windows_Group
Specifica un utente del database sul quale viene eseguito il mapping a un gruppo di Windows.
Database_user_mapped_to_certificate
Specifica un utente del database sul quale viene eseguito il mapping a un certificato.
Database_user_mapped_to_asymmetric_key
Specifica un utente del database sul quale viene eseguito il mapping a una chiave asimmetrica.
Database_user_with_no_login
Specifica un utente del database per cui non esiste un'entità corrispondente a livello del server.
Remarks
Autorizzazioni per utenti di database
Un utente di database è un'entità a protezione diretta a livello di database contenuta nel database padre nella gerarchia delle autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un utente di database, insieme alle autorizzazioni più generali che le includono in modo implicito.
| Autorizzazione dell'utente di database | Autorizzazione dell'utente di database in cui è inclusa | Autorizzazione del database in cui è inclusa |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | MODIFICA QUALSIASI USER |
| VIEW DEFINIZIONE | CONTROL | VIEW DEFINIZIONE |
Autorizzazioni per ruoli del database
Un ruolo del database è un'entità a protezione diretta a livello di database contenuta nel database padre nella gerarchia delle autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un ruolo del database, insieme alle autorizzazioni più generali che le includono in modo implicito.
| Autorizzazione del ruolo del database | Autorizzazione del ruolo del database in cui è inclusa | Autorizzazione del database in cui è inclusa |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| PRENDITI LA PROPRIETÀ | CONTROL | CONTROL |
| ALTER | CONTROL | MODIFICA QUALSIASI ROLE |
| VIEW DEFINIZIONE | CONTROL | VIEW DEFINIZIONE |
Autorizzazioni per i ruoli applicazione
Un ruolo applicazione è un'entità a protezione diretta a livello di database contenuta nel database padre nella gerarchia delle autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un ruolo applicazione, insieme alle autorizzazioni più generali che le includono in modo implicito.
| Autorizzazione del ruolo applicazione | Autorizzazione del ruolo applicazione in cui è inclusa | Autorizzazione del database in cui è inclusa |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | MODIFICA QUALSIASI APPLICATION ROLE |
| VIEW DEFINIZIONE | CONTROL | VIEW DEFINIZIONE |
Permissions
È richiesta l'autorizzazione CONTROL per l'entità specificata o un'autorizzazione di livello superiore che include l'autorizzazione CONTROL.
Gli utenti che dispongono dell'autorizzazione CONTROL per un database, ad esempio i membri del ruolo predefinito del database db_owner, possono negare qualsiasi autorizzazione per qualsiasi entità a protezione diretta nel database.
Examples
A. Negazione dell'autorizzazione CONTROL per un utente a un altro utente
Il seguente esempio nega CONTROL il permesso al dispositivo utente WanidaRolandXa utente di AdventureWorks2025.
USE AdventureWorks2022;
DENY CONTROL ON USER::Wanida TO RolandX;
GO
B. Negare VIEW il permesso di DEFINIZIONE su un ruolo a un utente a cui è stato concesso con GRANT OPTION
Il seguente esempio nega VIEW DEFINITION il permesso per il ruolo SammamishParking AdventureWorks2025 all'utente JinghaoLiudel database. L'opzione CASCADE è specificata perché all'utente JinghaoLiu è stato concesso VIEW il permesso DEFINIZIONE CON GRANT OPTION.
USE AdventureWorks2022;
DENY VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu CASCADE;
GO
C. Negazione dell'autorizzazione IMPERSONATE per un utente a un ruolo applicazione
Il seguente esempio nega IMPERSONATE il permesso all'utente HamithaL di accedere al ruolo AccountsPayable17applicativo AdventureWorks2025.
Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL.
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Vedere anche
GRANT Permessi principali del database (Transact-SQL)
REVOKE Permessi principali del database (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
CREATE USER (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
GRANT (Transact-SQL)
Autorizzazioni (Motore di database)
Entità di sicurezza (motore di database)