REVOKE - autorizzazioni per entità di database (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric
Revoca le autorizzazioni concesse o negate per un utente di database, un ruolo del database o un ruolo applicazione.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
{ FROM | 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
Argomenti
permission
Specifica un'autorizzazione che può essere revocata 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 revocata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.
ROLE ::database_role
Specifica la classe e il nome del ruolo per cui viene revocata 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 revocata l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.
GRANT OPTION
Indica che verrà revocato il diritto di concedere l'autorizzazione specificata ad altre entità. L'autorizzazione stessa non verrà revocata.
Importante
Se l'autorizzazione specificata è stata concessa all'entità senza l'opzione GRANT, l'autorizzazione stessa verrà revocata.
CASCADE
Indica che l'autorizzazione che viene revocata anche ad altre entità a cui è stata concessa o negata da questa entità.
Attenzione
La revoca propagata di un'autorizzazione concessa con WITH GRANT OPTION comporterà la revoca sia delle autorizzazioni GRANT che delle autorizzazioni DENY per tale autorizzazione.
AS <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
Si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a un utente di Windows.
Database_user_mapped_to_Windows_Group
Si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a un gruppo di Windows.
Database_user_mapped_to_certificate
Si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a un certificato.
Database_user_mapped_to_asymmetric_key
Si applica a: SQL Server 2008 (10.0.x) e versioni successive
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.
Osservazioni:
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 revocare 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 | ALTER ANY USER |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
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 revocare 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 |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY ROLE |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
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 revocare 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 | ALTER ANY APPLICATION ROLE |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Autorizzazioni
È 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 concedere qualsiasi autorizzazione per qualsiasi entità a protezione diretta nel database.
Esempi
R. Revoca dell'autorizzazione CONTROL per un utente a un altro utente
Nell'esempio seguente viene revocata l'autorizzazione CONTROL
per l'utente AdventureWorks2022
del database Wanida
all'utente RolandX
.
USE AdventureWorks2022;
REVOKE CONTROL ON USER::Wanida FROM RolandX;
GO
B. Revoca dell'autorizzazione VIEW DEFINITION per un ruolo a un utente a cui è stata concessa con WITH GRANT OPTION
Nell'esempio seguente viene revocata l'autorizzazione VIEW DEFINITION
per il ruolo AdventureWorks2022
del database SammamishParking
all'utente di database JinghaoLiu
. Viene specificata l'opzione CASCADE
perché all'utente JinghaoLiu
l'autorizzazione VIEW DEFINITION
è stata concessa con WITH GRANT OPTION
.
USE AdventureWorks2022;
REVOKE VIEW DEFINITION ON ROLE::SammamishParking
FROM JinghaoLiu CASCADE;
GO
C. Revoca dell'autorizzazione IMPERSONATE per un utente a un ruolo applicazione
Nell'esempio seguente viene revocata l'autorizzazione IMPERSONATE
per l'utente HamithaL
al ruolo applicazione AccountsPayable17
del database AdventureWorks2022
.
Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL
USE AdventureWorks2022;
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;
GO
Vedi anche
GRANT - Autorizzazioni per entità di database (Transact-SQL)
DENY - Autorizzazioni per entità di 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)