Autorizzazioni (Motore di database)

Ogni oggetto a protezione diretta di SQL Server dispone di autorizzazioni associate che possono essere concesse a un'entità di sicurezza. In questo argomento vengono fornite le informazioni seguenti:

Convenzioni di denominazione delle autorizzazioni

Di seguito vengono descritte le convenzioni generali adottate per la denominazione delle autorizzazioni:

  • CONTROLLO

    Conferisce al beneficiario capacità da proprietario. Il destinatario dell'autorizzazione dispone effettivamente di tutte le autorizzazioni definite per l'oggetto protetto. Un'entità di sicurezza a cui è stata concessa l'autorizzazione CONTROL può anche concedere autorizzazioni sull'oggetto a protezione diretta. Poiché il modello di sicurezza di SQL Server è gerarchico, CONTROL in un determinato ambito include implicitamente anche CONTROL su tutti gli oggetti a protezione diretta che rientrano in tale ambito. Un'autorizzazione CONTROL su un database, ad esempio, implica tutte le autorizzazioni sul database, su tutti gli assembly del database, su tutti gli schemi del database e sugli oggetti contenuti in tutti gli schemi del database.

  • ALTER

    Conferisce la possibilità di modificare le proprietà, ad eccezione della proprietà, di un particolare elemento proteggibile. Quando l'autorizzazione ALTER viene concessa per un ambito, conferisce anche la possibilità di modificare, creare o eliminare qualsiasi oggetto a protezione diretta contenuto in tale ambito. Un'autorizzazione ALTER in uno schema, ad esempio, include la capacità di creare, modificare ed eliminare oggetti contenuti nello schema.

  • ALTER ANY <Server Securable>, dove Server Securable può essere qualunque server a protezione diretta.

    Conferisce la possibilità di creare, modificare o eliminare singole istanze del Oggetto a protezione diretta del server. Ad esempio, ALTER ANY LOGIN conferisce la possibilità di creare, modificare o eliminare qualsiasi account di accesso nell'istanza di .

  • ALTER ANY <Database Securable>, dove Database Securable può essere qualunque entità a protezione diretta a livello di database.

    Conferisce la possibilità di CREARE, MODIFICARE o ELIMINARE singole istanze dell'oggetto proteggibile del database. Ad esempio, ALTER ANY SCHEMA conferisce la possibilità di creare, modificare o eliminare qualsiasi schema nel database.

  • ASSUMITI LA RESPONSABILITÀ

    Consente all'utente autorizzato di acquisire la proprietà dell'entità a protezione diretta su cui viene concessa.

  • IMPERSONATE <Account di accesso>

    Consente di impersonare l'utente che effettua l'accesso.

  • IMPERSONATE <Utente>

    Consente al beneficiario di rappresentare l'utente.

  • CREATE <Entità a protezione diretta del server>

    Conferisce al beneficiario la possibilità di creare l'Server Securable.

  • CREATE <Oggetto a protezione diretta del database>

    Concede al concessionario la possibilità di creare l'entità a protezione diretta del database.

  • CREATE <Oggetto a protezione diretta contenuto in uno schema>

    Conferisce la possibilità di creare l'entità contenuta nello schema che può essere protetta. Tuttavia, per creare l'elemento a protezione diretta in un particolare schema, è necessario disporre dell'autorizzazione ALTER per lo schema.

  • VIEW DEFINIZIONE

    Consente al beneficiario di accedere a metadati.

  • REFERENCES

    L'autorizzazione REFERENCES su una tabella è necessaria per creare un vincolo FOREIGN KEY che faccia riferimento alla tabella stessa.

    L'autorizzazione REFERENCES è necessaria su un oggetto per creare un FUNCTION o un VIEW con la clausola WITH SCHEMABINDING che fa riferimento a tale oggetto.

Grafico delle autorizzazioni di SQL Server

Per un'anteprima di grandi dimensioni di tutte le autorizzazioni del motore di database in formato pdf, vedere https://github.com/microsoft/sql-server-samples/blob/master/samples/features/security/permissions-posters/Microsoft_SQL_Server_2017_and_Azure_SQL_Database_permissions_infographic.pdf.

Autorizzazioni applicabili a entità a protezione diretta specifiche

Nella tabella seguente sono elencate le classi principali di autorizzazioni e i tipi di entità a protezione diretta a cui possono essere applicati.

Permission Si applica a
SELECT Synonyms

Tabelle e colonne

Funzioni con valori di tabella, Transact-SQL e Common Language Runtime (CLR) e colonne

Viste e colonne
VIEW RILEVAMENTO MODIFICHE Tables

Schemas
UPDATE Synonyms

Tabelle e colonne

Viste e colonne

Oggetti sequenziali
REFERENCES Funzioni scalari e di aggregazione (Transact-SQL e CLR)

Code del Service Broker

Tabelle e colonne

Funzioni con valori di tabella (Transact-SQL e CLR) e colonne

Types

Viste e colonne

Oggetti sequenziali
INSERT Synonyms

Tabelle e colonne

Viste e colonne
DELETE Synonyms

Tabelle e colonne

Viste e colonne
EXECUTE Procedure (Transact-SQL e CLR)

Funzioni scalari e di aggregazione (Transact-SQL e CLR)

Synonyms

Tipi CLR
RECEIVE Code del Service Broker
VIEW DEFINIZIONE Gruppi di disponibilità

Procedure (Transact-SQL e CLR)

Code del Service Broker

Funzioni scalari e di aggregazione (Transact-SQL e CLR)

Account di accesso, utenti e ruoli

Synonyms

Tables

Funzioni con valori di tabella (Transact-SQL e CLR)

Views

Oggetti sequenziali
ALTER Gruppi di disponibilità

Procedure (Transact-SQL e CLR)

Funzioni scalari e di aggregazione (Transact-SQL e CLR)

Oggetti sequenziali

Account di accesso, utenti e ruoli

Code del Service Broker

Tables

Funzioni con valori di tabella (Transact-SQL e CLR)

Views
ASSUMITI LA RESPONSABILITÀ Gruppi di disponibilità

Ruoli

Procedure (Transact-SQL e CLR)

Funzioni scalari e di aggregazione (Transact-SQL e CLR)

Ruoli del server

Synonyms

Tables

Funzioni con valori di tabella (Transact-SQL e CLR)

Views

Oggetti sequenziali
CONTROLLO Gruppi di disponibilità

Procedure (Transact-SQL e CLR)

Funzioni scalari e di aggregazione (Transact-SQL e CLR)

Account di accesso, utenti e ruoli

Code del Service Broker

Synonyms

Tables

Funzioni con valori di tabella (Transact-SQL e CLR)

Views

Oggetti sequenziali
IMPERSONATE Account di accesso e utenti

Caution

Le autorizzazioni predefinite concesse a oggetti di sistema durante l'installazione vengono valutate attentamente per individuare possibili minacce, per cui non è necessario modificarle come parte della protezione avanzata dell'installazione di SQL Server. Eventuali modifiche alle autorizzazioni per gli oggetti di sistema possono limitare o compromettere la funzionalità e potrebbero lasciare l'installazione di SQL Server in uno stato non supportato.

autorizzazioni per SQL Server e database SQL

La tabella seguente contiene un elenco completo delle autorizzazioni di SQL Server. Le autorizzazioni del database SQL sono disponibili solo per le entità a protezione diretta di base supportate. Le autorizzazioni a livello di server non possono essere concesse nel database SQL, ma in alcuni casi sono disponibili autorizzazioni per il database.

Entità di sicurezza di base Autorizzazioni granulari sull'oggetto proteggibile di base Codice tipo di autorizzazione Entità proteggibile che contiene l'entità proteggibile di base Autorizzazione sull'elemento contenitore proteggibile che implica un'autorizzazione granulare sull'elemento proteggibile di base
APPLICATION ROLE ALTER AL DATABASE MODIFICA QUALSIASI APPLICATION ROLE
APPLICATION ROLE CONTROLLO CL DATABASE CONTROLLO
APPLICATION ROLE VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
ASSEMBLY ALTER AL DATABASE MODIFICA QUALSIASI ASSEMBLY
ASSEMBLY CONTROLLO CL DATABASE CONTROLLO
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
ASSEMBLY VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
ASYMMETRIC KEY ALTER AL DATABASE MODIFICA QUALSIASI ASYMMETRIC KEY
ASYMMETRIC KEY CONTROLLO CL DATABASE CONTROLLO
ASYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
ASYMMETRIC KEY ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
ASYMMETRIC KEY VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
AVAILABILITY GROUP ALTER AL SERVER MODIFICA QUALSIASI AVAILABILITY GROUP
AVAILABILITY GROUP CONTROLLO CL SERVER SERVER DI CONTROLLO
AVAILABILITY GROUP ASSUMITI LA RESPONSABILITÀ A SERVER SERVER DI CONTROLLO
AVAILABILITY GROUP VIEW DEFINIZIONE VW SERVER VIEW QUALSIASI DEFINIZIONE
CERTIFICATE ALTER AL DATABASE MODIFICA QUALSIASI CERTIFICATE
CERTIFICATE CONTROLLO CL DATABASE CONTROLLO
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
CERTIFICATE VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
CONTRACT ALTER AL DATABASE MODIFICA QUALSIASI CONTRACT
CONTRACT CONTROLLO CL DATABASE CONTROLLO
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
CONTRACT VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
DATABASE ALTER AL SERVER MODIFICA QUALSIASI DATABASE
DATABASE MODIFICA QUALSIASI APPLICATION ROLE ALAR SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI ASSEMBLY ALAS SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI ASYMMETRIC KEY ALAK SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI CERTIFICATE ALCF SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI CONTRACT ALSC SERVER SERVER DI CONTROLLO
DATABASE ALTER ANY DATABASE AUDIT ALDA SERVER MODIFICA QUALSIASI SERVER AUDIT
DATABASE ALTER ANY DATABASE DDL TRIGGER ALTG SERVER SERVER DI CONTROLLO
DATABASE ALTER ANY DATABASEEVENT NOTIFICATION ALED SERVER MODIFICA QUALSIASI EVENT NOTIFICATION
DATABASE ALTER ANY DATABASEEVENT SESSION AADS

Nota: si applica solo al database SQL.
SERVER MODIFICA QUALSIASI EVENT SESSION
DATABASE MODIFICARE QUALSIASI SPAZIO DATI ALDS SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI FULLTEXT CATALOG ALFT SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI MESSAGE TYPE ALMT SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI REMOTE SERVICE BINDING ALSB SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI ROLE ALRL SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI ROUTE ALRT SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI SCHEMA ALSM SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI SECURITY POLICY ALSP

Nota: si applica solo al database SQL.
SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI SERVICE ALSV SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI SYMMETRIC KEY ALSK SERVER SERVER DI CONTROLLO
DATABASE MODIFICA QUALSIASI USER ALUS SERVER SERVER DI CONTROLLO
DATABASE AUTHENTICATE AUTH SERVER Autenticare server
DATABASE BACKUP DATABASE BADB SERVER SERVER DI CONTROLLO
DATABASE BACKUP REGISTRO BALO SERVER SERVER DI CONTROLLO
DATABASE CHECKPOINT CP SERVER SERVER DI CONTROLLO
DATABASE CONNECT CO SERVER SERVER DI CONTROLLO
DATABASE REPLICAZIONE DI CONNESSIONE CORP SERVER SERVER DI CONTROLLO
DATABASE CONTROLLO CL SERVER SERVER DI CONTROLLO
DATABASE CREATE AGGREGATE CRAG SERVER SERVER DI CONTROLLO
DATABASE CREATE ASSEMBLY CRAS SERVER SERVER DI CONTROLLO
DATABASE CREATE ASYMMETRIC KEY CRAK SERVER SERVER DI CONTROLLO
DATABASE CREATE CERTIFICATE CRCF SERVER SERVER DI CONTROLLO
DATABASE CREATE CONTRACT CRSC SERVER SERVER DI CONTROLLO
DATABASE CREATE DATABASE CRDB SERVER CREA QUALSIASI DATABASE
DATABASE CREATE DATABASE DDL EVENT NOTIFICATION CRED SERVER CREATE DDL EVENT NOTIFICATION
DATABASE CREATE DEFAULT CRDF SERVER SERVER DI CONTROLLO
DATABASE CREATE FULLTEXT CATALOG CRFT SERVER SERVER DI CONTROLLO
DATABASE CREATE FUNCTION CRFN SERVER SERVER DI CONTROLLO
DATABASE CREATE MESSAGE TYPE CRMT SERVER SERVER DI CONTROLLO
DATABASE CREATE PROCEDURE CRPR SERVER SERVER DI CONTROLLO
DATABASE CREATE QUEUE CRQU SERVER SERVER DI CONTROLLO
DATABASE CREATE REMOTE SERVICE BINDING CRSB SERVER SERVER DI CONTROLLO
DATABASE CREATE ROLE CRRL SERVER SERVER DI CONTROLLO
DATABASE CREATE ROUTE CRRT SERVER SERVER DI CONTROLLO
DATABASE CREATE RULE CRRU SERVER SERVER DI CONTROLLO
DATABASE CREATE SCHEMA CRSM SERVER SERVER DI CONTROLLO
DATABASE CREATE SERVICE CRSV SERVER SERVER DI CONTROLLO
DATABASE CREATE SYMMETRIC KEY CRSK SERVER SERVER DI CONTROLLO
DATABASE CREATE SYNONYM CRSN SERVER SERVER DI CONTROLLO
DATABASE CREATE TABLE CRTB SERVER SERVER DI CONTROLLO
DATABASE CREATE TYPE CRTY SERVER SERVER DI CONTROLLO
DATABASE CREATE VIEW CRVW SERVER SERVER DI CONTROLLO
DATABASE CREATE XML SCHEMA COLLECTION CRXS SERVER SERVER DI CONTROLLO
DATABASE DELETE DL SERVER SERVER DI CONTROLLO
DATABASE EXECUTE EX SERVER SERVER DI CONTROLLO
DATABASE INSERT IN SERVER SERVER DI CONTROLLO
DATABASE TERMINA LA DATABASE CONNESSIONE KIDC

Nota: si applica solo al database SQL. Usare ALTER ANY CONNECTION in SQL Server.
SERVER ALTERARE QUALSIASI CONNESSIONE
DATABASE REFERENCES RF SERVER SERVER DI CONTROLLO
DATABASE SELECT SL SERVER SERVER DI CONTROLLO
DATABASE SHOWPLAN SPLN SERVER MODIFICA TRACCIA
DATABASE SOTTOSCRIVERE LE NOTIFICHE DELLE QUERY SUQN SERVER SERVER DI CONTROLLO
DATABASE ASSUMITI LA RESPONSABILITÀ A SERVER SERVER DI CONTROLLO
DATABASE UPDATE SU SERVER SERVER DI CONTROLLO
DATABASE VIEW DATABASE STATO VWDS SERVER VIEW STATO DEL SERVER
DATABASE VIEW DEFINIZIONE VW SERVER VIEW QUALSIASI DEFINIZIONE
ENDPOINT ALTER AL SERVER MODIFICA QUALSIASI ENDPOINT
ENDPOINT CONNECT CO SERVER SERVER DI CONTROLLO
ENDPOINT CONTROLLO CL SERVER SERVER DI CONTROLLO
ENDPOINT ASSUMITI LA RESPONSABILITÀ A SERVER SERVER DI CONTROLLO
ENDPOINT VIEW DEFINIZIONE VW SERVER VIEW QUALSIASI DEFINIZIONE
FULLTEXT CATALOG ALTER AL DATABASE MODIFICA QUALSIASI FULLTEXT CATALOG
FULLTEXT CATALOG CONTROLLO CL DATABASE CONTROLLO
FULLTEXT CATALOG REFERENCES RF DATABASE REFERENCES
FULLTEXT CATALOG ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
FULLTEXT CATALOG VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
FULLTEXT STOPLIST ALTER AL DATABASE MODIFICA QUALSIASI FULLTEXT CATALOG
FULLTEXT STOPLIST CONTROLLO CL DATABASE CONTROLLO
FULLTEXT STOPLIST REFERENCES RF DATABASE REFERENCES
FULLTEXT STOPLIST ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
FULLTEXT STOPLIST VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
LOGIN ALTER AL SERVER MODIFICA QUALSIASI LOGIN
LOGIN CONTROLLO CL SERVER SERVER DI CONTROLLO
LOGIN IMPERSONATE IM SERVER SERVER DI CONTROLLO
LOGIN VIEW DEFINIZIONE VW SERVER VIEW QUALSIASI DEFINIZIONE
MESSAGE TYPE ALTER AL DATABASE MODIFICA QUALSIASI MESSAGE TYPE
MESSAGE TYPE CONTROLLO CL DATABASE CONTROLLO
MESSAGE TYPE REFERENCES RF DATABASE REFERENCES
MESSAGE TYPE ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
MESSAGE TYPE VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
OBJECT ALTER AL SCHEMA ALTER
OBJECT CONTROLLO CL SCHEMA CONTROLLO
OBJECT DELETE DL SCHEMA DELETE
OBJECT EXECUTE EX SCHEMA EXECUTE
OBJECT INSERT IN SCHEMA INSERT
OBJECT RECEIVE RC SCHEMA CONTROLLO
OBJECT REFERENCES RF SCHEMA REFERENCES
OBJECT SELECT SL SCHEMA SELECT
OBJECT ASSUMITI LA RESPONSABILITÀ A SCHEMA CONTROLLO
OBJECT UPDATE SU SCHEMA UPDATE
OBJECT VIEW RILEVAMENTO MODIFICHE VWCT SCHEMA VIEW RILEVAMENTO MODIFICHE
OBJECT VIEW DEFINIZIONE VW SCHEMA VIEW DEFINIZIONE
REMOTE SERVICE BINDING ALTER AL DATABASE MODIFICA QUALSIASI REMOTE SERVICE BINDING
REMOTE SERVICE BINDING CONTROLLO CL DATABASE CONTROLLO
REMOTE SERVICE BINDING ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
REMOTE SERVICE BINDING VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
ROLE ALTER AL DATABASE MODIFICA QUALSIASI ROLE
ROLE CONTROLLO CL DATABASE CONTROLLO
ROLE ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
ROLE VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
ROUTE ALTER AL DATABASE MODIFICA QUALSIASI ROUTE
ROUTE CONTROLLO CL DATABASE CONTROLLO
ROUTE ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
ROUTE VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
SEARCH PROPERTY LIST ALTER AL SERVER MODIFICA QUALSIASI FULLTEXT CATALOG
SEARCH PROPERTY LIST CONTROLLO CL SERVER CONTROLLO
SEARCH PROPERTY LIST REFERENCES RF SERVER REFERENCES
SEARCH PROPERTY LIST ASSUMITI LA RESPONSABILITÀ A SERVER CONTROLLO
SEARCH PROPERTY LIST VIEW DEFINIZIONE VW SERVER VIEW DEFINIZIONE
SCHEMA ALTER AL DATABASE MODIFICA QUALSIASI SCHEMA
SCHEMA CONTROLLO CL DATABASE CONTROLLO
SCHEMA CREATE SEQUENCE CRSO DATABASE CONTROLLO
SCHEMA DELETE DL DATABASE DELETE
SCHEMA EXECUTE EX DATABASE EXECUTE
SCHEMA INSERT IN DATABASE INSERT
SCHEMA REFERENCES RF DATABASE REFERENCES
SCHEMA SELECT SL DATABASE SELECT
SCHEMA ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
SCHEMA UPDATE SU DATABASE UPDATE
SCHEMA VIEW RILEVAMENTO MODIFICHE VWCT DATABASE VIEW RILEVAMENTO MODIFICHE
SCHEMA VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
SERVER AMMINISTRARE LE OPERAZIONI MASSIVE ADBO Non applicabile Non applicabile
SERVER ALTERARE QUALSIASI CONNESSIONE ALCO Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI CREDENTIAL ALCD Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI DATABASE ALDB Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI ENDPOINT ALHE Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI EVENT NOTIFICATION ALES Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI EVENT SESSION AAES Non applicabile Non applicabile
SERVER MODIFICARE QUALSIASI SERVER COLLEGATO ALLS Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI LOGIN ALLG Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI SERVER AUDIT ALAA Non applicabile Non applicabile
SERVER MODIFICA QUALSIASI SERVER ROLE ALSR Non applicabile Non applicabile
SERVER ALTER AVAILABILITY GROUP ALAG Non applicabile Non applicabile
SERVER ALTER RESOURCES ALRS Non applicabile Non applicabile
SERVER MODIFICA STATO DEL SERVER ALSS Non applicabile Non applicabile
SERVER MODIFICARE IMPOSTAZIONI ALST Non applicabile Non applicabile
SERVER MODIFICA TRACCIA ALTR Non applicabile Non applicabile
SERVER Autenticare server AUTH Non applicabile Non applicabile
SERVER CONNETTI QUALSIASI DATABASE CADB Non applicabile Non applicabile
SERVER CONNECT SQL COSQ Non applicabile Non applicabile
SERVER SERVER DI CONTROLLO CL Non applicabile Non applicabile
SERVER CREA QUALSIASI DATABASE CRDB Non applicabile Non applicabile
SERVER CREATE AVAILABILTITY GROUP CRAC Non applicabile Non applicabile
SERVER CREATE DDL EVENT NOTIFICATION CRDE Non applicabile Non applicabile
SERVER CREATE ENDPOINT CRHE Non applicabile Non applicabile
SERVER CREATE SERVER ROLE CRSR Non applicabile Non applicabile
SERVER CREATE TRACE EVENT NOTIFICATION CRTE Non applicabile Non applicabile
SERVER ACCESSO ESTERNO ASSEMBLY XA Non applicabile Non applicabile
SERVER IMPERSONARE QUALSIASI LOGIN IAL Non applicabile Non applicabile
SERVER SELEZIONA TUTTI GLI USER ELEMENTI PROTEGGIBILI SUS Non applicabile Non applicabile
SERVER SHUTDOWN SHDN Non applicabile Non applicabile
SERVER PERICOLOSO ASSEMBLY XU Non applicabile Non applicabile
SERVER VIEW QUALSIASI DATABASE VWDB Non applicabile Non applicabile
SERVER VIEW QUALSIASI DEFINIZIONE VWAD Non applicabile Non applicabile
SERVER VIEW STATO DEL SERVER VWSS Non applicabile Non applicabile
SERVER ROLE ALTER AL SERVER MODIFICA QUALSIASI SERVER ROLE
SERVER ROLE CONTROLLO CL SERVER SERVER DI CONTROLLO
SERVER ROLE ASSUMITI LA RESPONSABILITÀ A SERVER SERVER DI CONTROLLO
SERVER ROLE VIEW DEFINIZIONE VW SERVER VIEW QUALSIASI DEFINIZIONE
SERVICE ALTER AL DATABASE MODIFICA QUALSIASI SERVICE
SERVICE CONTROLLO CL DATABASE CONTROLLO
SERVICE SEND SN DATABASE CONTROLLO
SERVICE ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
SERVICE VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
SYMMETRIC KEY ALTER AL DATABASE MODIFICA QUALSIASI SYMMETRIC KEY
SYMMETRIC KEY CONTROLLO CL DATABASE CONTROLLO
SYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
SYMMETRIC KEY ASSUMITI LA RESPONSABILITÀ A DATABASE CONTROLLO
SYMMETRIC KEY VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
TYPE CONTROLLO CL SCHEMA CONTROLLO
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE ASSUMITI LA RESPONSABILITÀ A SCHEMA CONTROLLO
TYPE VIEW DEFINIZIONE VW SCHEMA VIEW DEFINIZIONE
USER ALTER AL DATABASE MODIFICA QUALSIASI USER
USER CONTROLLO CL DATABASE CONTROLLO
USER IMPERSONATE IM DATABASE CONTROLLO
USER VIEW DEFINIZIONE VW DATABASE VIEW DEFINIZIONE
XML SCHEMA COLLECTION ALTER AL SCHEMA ALTER
XML SCHEMA COLLECTION CONTROLLO CL SCHEMA CONTROLLO
XML SCHEMA COLLECTION EXECUTE EX SCHEMA EXECUTE
XML SCHEMA COLLECTION REFERENCES RF SCHEMA REFERENCES
XML SCHEMA COLLECTION ASSUMITI LA RESPONSABILITÀ A SCHEMA CONTROLLO
XML SCHEMA COLLECTION VIEW DEFINIZIONE VW SCHEMA VIEW DEFINIZIONE

Riepilogo dell'algoritmo di controllo delle autorizzazioni

Il controllo delle autorizzazioni può essere complesso. L'algoritmo di controllo delle autorizzazioni include le appartenenze a gruppi sovrapposti e il concatenamento di proprietà, nonché autorizzazioni esplicite e implicite. È inoltre possibile che le autorizzazioni per le classi di entità a protezione diretta contenenti l'entità a protezione diretta abbiano impatto su tale algoritmo. Il processo generale dell'algoritmo consiste nel raccogliere tutte le autorizzazioni rilevanti. Se non viene trovato alcun DENY bloccante, l'algoritmo cerca un oggetto GRANT che garantisca un accesso sufficiente. L'algoritmo contiene tre elementi fondamentali, ovvero il contesto di sicurezza, lo spazio di autorizzazionee l' autorizzazione necessaria.

Note

Non è possibile concedere, negare o revocare autorizzazioni a sa, dbo, proprietario dell'entità, information_schema, sys o a se stessi.

  • Contesto di sicurezza

    Gruppo di entità che fornisce le autorizzazioni per il controllo dell'accesso. Si tratta di autorizzazioni correlate all'account di accesso o all'utente corrente, a meno che il contesto di sicurezza non sia stato modificato in un altro account di accesso o utente usando l'istruzione EXECUTE AS . Il contesto di sicurezza include le seguenti entità:

    • Account di accesso

    • L'utente

    • Appartenenza ai ruoli

    • Appartenenze a gruppi di Windows

    • Se viene utilizzata la firma del modulo, qualsiasi account di accesso o account utente relativo al certificato usato per firmare il modulo che l'utente sta attualmente eseguendo e le appartenenze ai ruoli associate a tale principale.

  • Spazio autorizzazioni

    Si tratta dell'entità di protezione e di qualsiasi classe di protezione che contenga l'entità di protezione. Ad esempio, una tabella (entità a protezione diretta) è contenuta nella classe di entità a protezione diretta dello schema e nella classe di entità a protezione diretta del database. Sull'accesso possono influire le autorizzazioni a livello di tabella, schema, database e server. Per altre informazioni, vedere Gerarchia delle autorizzazioni (motore di database).

  • Autorizzazione richiesta

    Il tipo di autorizzazione richiesto. Ad esempio, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL e così via.

    L'accesso può richiedere più autorizzazioni, come negli esempi seguenti:

    • Una procedura memorizzata può richiedere sia l'autorizzazione EXECUTE sulla procedura memorizzata sia INSERT l'autorizzazione su diverse tabelle a cui la procedura memorizzata fa riferimento.

    • Una visualizzazione a gestione dinamica può richiedere sia l'autorizzazione SERVER STATE che VIEW SELECT per la visualizzazione.

Passaggi generali dell'algoritmo

Quando l'algoritmo determina se consentire l'accesso a un oggetto protetto, i passaggi precisi che utilizza possono variare a seconda delle entità di sicurezza e degli oggetti protetti coinvolti. L'algoritmo, tuttavia, effettua i passaggi generali indicati di seguito:

  1. Ignora il controllo delle autorizzazioni se l'account di accesso è un membro del ruolo predefinito del server sysadmin o se l'utente è l'utente dbo nel database corrente.

  2. Consente l'accesso se la catena di proprietà è applicabile e se il controllo di accesso sull'oggetto precedente nella catena ha superato il controllo di sicurezza.

  3. Aggrega le identità a livello di server, a livello di database e dei moduli firmati associate al chiamante per creare il contesto di sicurezza.

  4. Per il contesto di sicurezzaraccoglie tutte le autorizzazioni concesse o negate per lo spazio di autorizzazione. Il permesso può essere esplicitamente indicato come GRANT, GRANT WITH GRANT o DENY; oppure i permessi possono essere un permesso implicito o generale GRANT o DENY. L'autorizzazione CONTROL per uno schema implica ad esempio l'autorizzazione CONTROL per una tabella, E l'autorizzazione CONTROL su una tabella implica l'autorizzazione SELECT. Se è stata pertanto concessa l'autorizzazione CONTROL per lo schema, viene concessa anche l'autorizzazione SELECT per la tabella. Se CONTROL è stato negato sulla tabella, anche SELECT viene negato sulla tabella.

    Note

    Un GRANT di un'autorizzazione a livello di colonna ha la precedenza su un DENY a livello dell'oggetto.

  5. Identifica l' autorizzazione necessaria.

  6. Considera non superato il controllo delle autorizzazioni se l'autorizzazione richiesta è negata direttamente o implicitamente a una qualsiasi delle identità nel contesto di sicurezza per gli oggetti nello spazio di autorizzazioni.

  7. Passare il controllo dell'autorizzazione se l'autorizzazione richiesta non è stata negata e l'autorizzazione richiesta contiene un'autorizzazione GRANTGRANT WITH GRANT direttamente o implicitamente a una delle identità nel contesto di sicurezza per qualsiasi oggetto nello spazio di autorizzazione.

Examples

Negli esempi inclusi in questa sezione viene illustrato come recuperare le informazioni sulle autorizzazioni.

A. Restituzione dell'elenco completo delle autorizzazioni concesse

L'istruzione seguente restituisce tutte le autorizzazioni del motore di database tramite la funzione fn_builtin_permissions. Per altre informazioni, vedere sys.fn_builtin_permissions (Transact-SQL).

SELECT * FROM fn_builtin_permissions(default);  
GO  

B. Restituzione delle autorizzazioni per una determinata classe di oggetti

L'esempio seguente usa fn_builtin_permissions per visualizzare tutte le autorizzazioni disponibili per una categoria di oggetti a protezione diretta. Nell'esempio vengono restituite le autorizzazioni per gli assembly.

SELECT * FROM fn_builtin_permissions('assembly');  
GO    

C. Restituzione delle autorizzazioni concesse all'entità di esecuzione in un oggetto

Nell'esempio seguente si usa fn_my_permissions per restituire un elenco delle autorizzazioni effettive di cui dispone il principale chiamante per un securable specificato. Nell'esempio vengono restituite le autorizzazioni per un oggetto denominato Orders55. Per altre informazioni, vedere sys.fn_my_permissions (Transact-SQL).

SELECT * FROM fn_my_permissions('Orders55', 'object');  
GO  

D. Restituzione delle autorizzazioni applicabili a un oggetto specificato

Nell'esempio seguente vengono restituite le autorizzazioni applicabili a un oggetto denominato Yttrium. Si noti che la funzione OBJECT_ID predefinita viene usata per recuperare l'ID dell'oggetto Yttrium.

SELECT * FROM sys.database_permissions   
    WHERE major_id = OBJECT_ID('Yttrium');  
GO  

Vedere anche

Gerarchia delle autorizzazioni (motore di database)
sys.database_permissions (Transact-SQL)