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
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Ogni oggetto a protezione diretta di SQL Server dispone di autorizzazioni associate che possono essere concesse a un'entità di sicurezza. Le autorizzazioni nel motore di database vengono gestite a livello di server, assegnate agli account di accesso e ai ruoli del server, e a livello di database assegnate agli utenti e ai ruoli del database. Il modello per il Database SQL di Azure ha lo stesso sistema di autorizzazioni del database, ma le autorizzazioni a livello di server non sono disponibili. Questo articolo contiene l'elenco completo delle autorizzazioni. Per un'implementazione tipica delle autorizzazioni, vedere Introduzione alle autorizzazioni del motore di database.
Il numero totale di autorizzazioni per SQL Server 2022 (16.x) è 292. Il Database SQL di Azure espone 292 autorizzazioni. La maggior parte delle autorizzazioni si applica a tutte le piattaforme, mentre alcune non si applicano a tutte le piattaforme. Ad esempio, la maggior parte delle autorizzazioni a livello di server non possono essere concesse nel Database SQL di Azure e alcune autorizzazioni hanno senso solo nel Database SQL di Azure. Con i nuovi rilasci verranno introdotte gradualmente nuove autorizzazioni. SQL Server 2019 (15.x) espone 248 autorizzazioni. SQL Server 2017 (14.x) ha esposto 238 autorizzazioni. SQL Server 2016 (13.x) ha esposto 230 autorizzazioni. SQL Server 2014 (12.x) ha esposto 219 autorizzazioni. SQL Server 2012 (11.x) ha esposto 214 autorizzazioni. SQL Server 2008 R2 (10.50.x) ha esposto 195 autorizzazioni. L'articolo sys.fn_builtin_permissions specifica le nuove autorizzazioni nelle versioni recenti.
Nel database SQL in Microsoft Fabric sono supportati solo utenti e ruoli a livello di database. Gli account di accesso a livello di server, i ruoli e l'account sa non sono disponibili. Nel database SQL in Microsoft Fabric, l'ID Microsoft Entra per gli utenti del database è l'unico metodo di autenticazione supportato. Per altre informazioni, vedere Autorizzazione nel database SQL in Microsoft Fabric.
Dopo aver compreso le autorizzazioni necessarie, è possibile applicare le autorizzazioni a livello di server agli account di accesso o ai ruoli del server e le autorizzazioni a livello di database per gli utenti o i ruoli del database usando le GRANTistruzioni , REVOKEe DENY . Per esempio:
GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
Per suggerimenti sulla pianificazione di un sistema di autorizzazioni, vedere Introduzione alle autorizzazioni del motore di database.
Convenzioni di denominazione delle autorizzazioni
Di seguito vengono descritte le convenzioni generali adottate per la denominazione delle autorizzazioni:
CONTROL
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 al beneficiario di acquisire la proprietà dell'oggetto di protezione su cui è stata 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 SCHEMABINDINGche fa riferimento a tale oggetto.
Grafico delle autorizzazioni di SQL Server
La figura seguente illustra le autorizzazioni e le relative relazioni tra loro. Alcune delle autorizzazioni di livello superiore (ad esempio CONTROL SERVER) sono elencate più volte. In questo articolo, la locandina è troppo piccola per essere letta. È possibile scaricare il Poster relativo alle autorizzazioni del motore di database a dimensione intera in formato PDF.
Autorizzazioni applicabili a specifici oggetti a protezione diretta
La tabella seguente elenca le classi principali di autorizzazioni e i tipi di oggetti a protezione diretta a cui possono essere applicate.
| Permission | Si applica a: |
|---|---|
| ALTER | Tutte le classi di oggetti ad eccezione TYPEdi . |
| CONTROL | Tutte le classi di oggetti: AGGREGATE, APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, AVAILABILITY GROUP, CERTIFICATE, CONTRACT, CREDENTIALS, DATABASE, DATABASE SCOPED CREDENTIAL, DEFAULT, ENDPOINT, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, LOGIN, MESSAGE TYPE, PROCEDURE, QUEUE, REMOTE SERVICE BINDING, ROLE, ROUTE, RULE, SCHEMA, SEARCH PROPERTY LIST, SERVER, SERVER ROLE, SERVICE, SYMMETRIC KEY, SYNONYM, TABLE, TYPE, USER, VIEW, e XML SCHEMA COLLECTION |
| DELETE | Tutte le classi di oggetti ad eccezione di DATABASE SCOPED CONFIGURATION, SERVER e TYPE. |
| EXECUTE | tipi CLR, script esterni, procedure (Transact-SQL e CLR), funzioni scalari e di aggregazione (Transact-SQL e CLR) e sinonimi |
| IMPERSONATE | Account di accesso e utenti |
| INSERT | Sinonimi, tabelle e colonne, viste e colonne. L'autorizzazione può essere concessa a livello di database, di schema o di oggetto. |
| RECEIVE | Code del Service Broker |
| REFERENCES |
AGGREGATE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, CREDENTIAL(si applica a SQL Server 2022 (16.x) e versioni successive), DATABASE, DATABASE SCOPED CREDENTIAL, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, MESSAGE TYPE, PROCEDURE, QUEUE, RULE, SCHEMA, SEARCH PROPERTY LIST, SEQUENCE OBJECT, SYMMETRIC KEY, TABLE, TYPE, VIEW, e XML SCHEMA COLLECTION |
| SELECT | Sinonimi, tabelle e colonne, viste e colonne. L'autorizzazione può essere concessa a livello di database, di schema o di oggetto. |
| ASSUMITI LA RESPONSABILITÀ | Tutte le classi di oggetti, ad eccezione di DATABASE SCOPED CONFIGURATION, LOGIN, SERVER e USER. |
| UPDATE | Sinonimi, tabelle e colonne, viste e colonne. L'autorizzazione può essere concessa a livello di database, di schema o di oggetto. |
| VIEW RILEVAMENTO MODIFICHE | Schemi e tabelle |
| VIEW DEFINIZIONE | Tutte le classi di oggetti ad eccezione di DATABASE SCOPED CONFIGURATION e di SERVER. |
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 di SQL Server
La tabella seguente contiene un elenco completo delle autorizzazioni di SQL Server. Le autorizzazioni di database SQL di Azure sono disponibili solo per gli oggetti a protezione diretta di base supportati. Non è possibile concedere autorizzazioni a livello di server nel Database SQL di Azure, ma in alcuni casi sono disponibili autorizzazioni di 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 | CONTROL | CL | DATABASE | CONTROL |
| APPLICATION ROLE | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| ASSEMBLY | ALTER | AL | DATABASE | MODIFICA QUALSIASI ASSEMBLY |
| ASSEMBLY | CONTROL | CL | DATABASE | CONTROL |
| ASSEMBLY | REFERENCES | RF | DATABASE | REFERENCES |
| ASSEMBLY | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| ASSEMBLY | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| ASYMMETRIC KEY | ALTER | AL | DATABASE | MODIFICA QUALSIASI ASYMMETRIC KEY |
| ASYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
| ASYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
| ASYMMETRIC KEY | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| ASYMMETRIC KEY | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| AVAILABILITY GROUP | ALTER | AL | SERVER | MODIFICA QUALSIASI AVAILABILITY GROUP |
| AVAILABILITY GROUP | CONTROL | CL | SERVER | SERVER DI CONTROLLO |
| AVAILABILITY GROUP | ASSUMITI LA RESPONSABILITÀ | TO | SERVER | SERVER DI CONTROLLO |
| AVAILABILITY GROUP | VIEW DEFINIZIONE | VW | SERVER | VIEW QUALSIASI DEFINIZIONE |
| CERTIFICATE | ALTER | AL | DATABASE | MODIFICA QUALSIASI CERTIFICATE |
| CERTIFICATE | CONTROL | CL | DATABASE | CONTROL |
| CERTIFICATE | REFERENCES | RF | DATABASE | REFERENCES |
| CERTIFICATE | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| CERTIFICATE | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| CONTRACT | ALTER | AL | DATABASE | MODIFICA QUALSIASI CONTRACT |
| CONTRACT | CONTROL | CL | DATABASE | CONTROL |
| CONTRACT | REFERENCES | RF | DATABASE | REFERENCES |
| CONTRACT | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| CONTRACT | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| CREDENTIAL | CONTROL | CL | SERVER | SERVER DI CONTROLLO |
| CREDENTIAL | REFERENCES | RF | SERVER | MODIFICA QUALSIASI CREDENTIAL |
| DATABASE | GESTIRE DATABASE LE OPERAZIONI IN BLOCCO | DABO | SERVER | SERVER DI CONTROLLO |
| 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 COLUMN ENCRYPTION KEY | ALCK Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI COLUMN MASTER KEY | ALCM Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
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 | SERVER | MODIFICA QUALSIASI EVENT SESSION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION ADD EVENT | LDAE | SERVER | ALTER ANY EVENT SESSION ADD EVENT |
| DATABASE | ALTER ANY DATABASEEVENT SESSION ADD TARGET | LDAT | SERVER | ALTER ANY EVENT SESSION ADD TARGET |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DISABLE | DDES | SERVER | MODIFICA QUALSIASI EVENT SESSION DISABILITA |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DROP EVENT | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
| DATABASE | MODIFICARE QUALSIASI DATABASEEVENT SESSION ELIMINARE DESTINAZIONE | LDDT | SERVER | ALTER ANY EVENT SESSION DROP TARGET |
| DATABASE | ALTER ANY DATABASEEVENT SESSION ABILITA | EDES | SERVER | MODIFICARE QUALSIASI EVENT SESSION ABILITARE |
| DATABASE | MODIFICA QUALSIASI DATABASEEVENT SESSION OPZIONE | LDSO | SERVER | MODIFICA QUALSIASI OPZIONE EVENT SESSION |
| DATABASE | MODIFICA QUALSIASI DATABASE SCOPED CONFIGURATION | ALDC Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICARE QUALSIASI SPAZIO DATI | ALDS | SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI EXTERNAL DATA SOURCE | AEDS | SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI EXTERNAL FILE FORMAT | AEFF | SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICARE QUALSIASI LAVORO ESTERNO | AESJ | SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI EXTERNAL LANGUAGE | ALLA | SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI EXTERNAL LIBRARY | ALEL | SERVER | SERVER DI CONTROLLO |
| DATABASE | ALTERARE QUALSIASI FLUSSO ESTERNO | AEST | SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI FULLTEXT CATALOG | ALFT | SERVER | SERVER DI CONTROLLO |
| DATABASE | ALTERARE QUALSIASI MASCHERA | AAMK Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
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 Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
SERVER | SERVER DI CONTROLLO |
| DATABASE | MODIFICA QUALSIASI SENSITIVITY CLASSIFICATION | AASC Si applica a SQL Server (da SQL Server 2019 (15.x) fino alla versione corrente), Database SQL di Azure. |
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 | ALTER LEDGER | ALR | SERVER | CONTROL |
| DATABASE | MODIFICA CONFIGURAZIONE LIBRO MASTRO | ALC | SERVER | SERVER DI CONTROLLO |
| DATABASE | AUTHENTICATE | AUTH | SERVER | Autenticare server |
| DATABASE | BACKUP DATABASE | BADB | SERVER | SERVER DI CONTROLLO |
| DATABASE | BACKUP LOG | 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 | CONTROL | CL | SERVER | SERVER DI CONTROLLO |
| DATABASE | CREATE AGGREGATE | CRAG | SERVER | SERVER DI CONTROLLO |
| DATABASE | CREA QUALSIASI DATABASEEVENT SESSION | CRDS | SERVER | CREA QUALSIASI EVENT SESSION |
| 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 EXTERNAL LANGUAGE | CRLA | SERVER | SERVER DI CONTROLLO |
| DATABASE | CREATE EXTERNAL LIBRARY | CREL | 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 USER | CUSR | 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 | RILASCIA QUALSIASI DATABASEEVENT SESSION | DRDS | SERVER | RILASCIA QUALSIASI EVENT SESSION |
| DATABASE | ENABLE LEDGER | EL | SERVER | CONTROL |
| DATABASE | EXECUTE | EX | SERVER | SERVER DI CONTROLLO |
| DATABASE | ESEGUI QUALSIASI ESTERNO ENDPOINT | EAEE | SERVER | SERVER DI CONTROLLO |
| DATABASE | Eseguire qualsiasi script esterno | EAES Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente). |
SERVER | SERVER DI CONTROLLO |
| DATABASE | INSERT | IN | SERVER | SERVER DI CONTROLLO |
| DATABASE | TERMINA LA DATABASE CONNESSIONE | KIDC Si applica solo al Database SQL di Azure. 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À | TO | SERVER | SERVER DI CONTROLLO |
| DATABASE | UNMASK | UMSK Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
SERVER | SERVER DI CONTROLLO |
| DATABASE | UPDATE | UP | SERVER | SERVER DI CONTROLLO |
| DATABASE | VIEW QUALSIASI COLUMN ENCRYPTION KEY DEFINIZIONE | VWCK Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
SERVER | VIEW STATO DEL SERVER |
| DATABASE | VIEW QUALSIASI COLUMN MASTER KEY DEFINIZIONE | VWCM Si applica a SQL Server (da SQL Server 2016 (13.x) fino alla versione corrente), Database SQL di Azure. |
SERVER | VIEW STATO DEL SERVER |
| DATABASE | VIEW QUALSIASI SENSITIVITY CLASSIFICATION | VASC | SERVER | SERVER DI CONTROLLO |
| DATABASE | VIEW DEFINIZIONE PROTETTA IN MODO CRITTOGRAFICO | VCD | SERVER | VIEW QUALSIASI DEFINIZIONE PROTETTA DAL PUNTO DI VISTA CRITTOGRAFICO |
| DATABASE | VIEW DATABASE STATO PRESTAZIONI | VDP | SERVER | VIEW STATO DELLE PRESTAZIONI DEL SERVER |
| DATABASE | VIEW DATABASE CONTROLLO DI SICUREZZA | VDSA | SERVER | SERVER DI CONTROLLO |
| DATABASE | VIEW DATABASE STATO DI SICUREZZA | VDS | SERVER | VIEW STATO DI SICUREZZA DEL SERVER |
| DATABASE | VIEW DATABASE STATO | VWDS | SERVER | VIEW STATO SERVER |
| DATABASE | VIEW DEFINIZIONE | VW | SERVER | VIEW QUALSIASI DEFINIZIONE |
| DATABASE | VIEW CONTENUTO DEL REGISTRO | VLC | SERVER | CONTROL |
| DATABASE | VIEW DEFINIZIONE DI SICUREZZA | VWS | SERVER | VIEW QUALSIASI DEFINIZIONE DI SICUREZZA |
| DATABASE | VIEW DEFINIZIONE DELLE PRESTAZIONI | VWP | SERVER | VIEW QUALSIASI DEFINIZIONE DI PRESTAZIONI |
| DATABASE SCOPED CREDENTIAL | ALTER | AL | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | CONTROL | CL | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | REFERENCES | RF | DATABASE | REFERENCES |
| DATABASE SCOPED CREDENTIAL | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| ENDPOINT | ALTER | AL | SERVER | MODIFICA QUALSIASI ENDPOINT |
| ENDPOINT | CONNECT | CO | SERVER | SERVER DI CONTROLLO |
| ENDPOINT | CONTROL | CL | SERVER | SERVER DI CONTROLLO |
| ENDPOINT | ASSUMITI LA RESPONSABILITÀ | TO | SERVER | SERVER DI CONTROLLO |
| ENDPOINT | VIEW DEFINIZIONE | VW | SERVER | VIEW QUALSIASI DEFINIZIONE |
| FULLTEXT CATALOG | ALTER | AL | DATABASE | MODIFICA QUALSIASI FULLTEXT CATALOG |
| FULLTEXT CATALOG | CONTROL | CL | DATABASE | CONTROL |
| FULLTEXT CATALOG | REFERENCES | RF | DATABASE | REFERENCES |
| FULLTEXT CATALOG | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| FULLTEXT CATALOG | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| FULLTEXT STOPLIST | ALTER | AL | DATABASE | MODIFICA QUALSIASI FULLTEXT CATALOG |
| FULLTEXT STOPLIST | CONTROL | CL | DATABASE | CONTROL |
| FULLTEXT STOPLIST | REFERENCES | RF | DATABASE | REFERENCES |
| FULLTEXT STOPLIST | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| FULLTEXT STOPLIST | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| LOGIN | ALTER | AL | SERVER | MODIFICA QUALSIASI LOGIN |
| LOGIN | CONTROL | 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 | CONTROL | CL | DATABASE | CONTROL |
| MESSAGE TYPE | REFERENCES | RF | DATABASE | REFERENCES |
| MESSAGE TYPE | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| MESSAGE TYPE | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| OBJECT | ALTER | AL | SCHEMA | ALTER |
| OBJECT | CONTROL | CL | SCHEMA | CONTROL |
| OBJECT | DELETE | DL | SCHEMA | DELETE |
| OBJECT | EXECUTE | EX | SCHEMA | EXECUTE |
| OBJECT | INSERT | IN | SCHEMA | INSERT |
| OBJECT | RECEIVE | RC | SCHEMA | CONTROL |
| OBJECT | REFERENCES | RF | SCHEMA | REFERENCES |
| OBJECT | SELECT | SL | SCHEMA | SELECT |
| OBJECT | ASSUMITI LA RESPONSABILITÀ | TO | SCHEMA | CONTROL |
| OBJECT | UNMASK | UMSK | SCHEMA | UNMASK |
| OBJECT | UPDATE | UP | 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 | CONTROL | CL | DATABASE | CONTROL |
| REMOTE SERVICE BINDING | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| REMOTE SERVICE BINDING | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| ROLE | ALTER | AL | DATABASE | MODIFICA QUALSIASI ROLE |
| ROLE | CONTROL | CL | DATABASE | CONTROL |
| ROLE | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| ROLE | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| ROUTE | ALTER | AL | DATABASE | MODIFICA QUALSIASI ROUTE |
| ROUTE | CONTROL | CL | DATABASE | CONTROL |
| ROUTE | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| ROUTE | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| SCHEMA | ALTER | AL | DATABASE | MODIFICA QUALSIASI SCHEMA |
| SCHEMA | CONTROL | CL | DATABASE | CONTROL |
| SCHEMA | CREATE SEQUENCE | CRSO | DATABASE | CONTROL |
| 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À | TO | DATABASE | CONTROL |
| SCHEMA | UNMASK | UMSK | DATABASE | UNMASK |
| SCHEMA | UPDATE | UP | DATABASE | UPDATE |
| SCHEMA | VIEW RILEVAMENTO MODIFICHE | VWCT | DATABASE | VIEW RILEVAMENTO MODIFICHE |
| SCHEMA | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| SEARCH PROPERTY LIST | ALTER | AL | SERVER | MODIFICA QUALSIASI FULLTEXT CATALOG |
| SEARCH PROPERTY LIST | CONTROL | CL | SERVER | CONTROL |
| SEARCH PROPERTY LIST | REFERENCES | RF | SERVER | REFERENCES |
| SEARCH PROPERTY LIST | ASSUMITI LA RESPONSABILITÀ | TO | SERVER | CONTROL |
| SEARCH PROPERTY LIST | VIEW DEFINIZIONE | VW | SERVER | VIEW DEFINIZIONE |
| SERVER | AMMINISTRARE LE OPERAZIONI MASSIVE | ADBO | Non applicabile | Non applicabile |
| SERVER | MODIFICA QUALSIASI AVAILABILITY GROUP | ALAG | 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 | ALTER ANY EVENT SESSION ADD EVENT | LSAE | Non applicabile | Non applicabile |
| SERVER | ALTER ANY EVENT SESSION ADD TARGET | LSAT | Non applicabile | Non applicabile |
| SERVER | MODIFICA QUALSIASI EVENT SESSION DISABILITA | DES | Non applicabile | Non applicabile |
| SERVER | ALTER ANY EVENT SESSION DROP EVENT | LSDE | Non applicabile | Non applicabile |
| SERVER | ALTER ANY EVENT SESSION DROP TARGET | LSDT | Non applicabile | Non applicabile |
| SERVER | MODIFICARE QUALSIASI EVENT SESSION ABILITARE | EES | Non applicabile | Non applicabile |
| SERVER | MODIFICA QUALSIASI OPZIONE EVENT SESSION | LESO | 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 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 AVAILABILITY 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 SERVER | VWSS | Non applicabile | Non applicabile |
| SERVER ROLE | ALTER | AL | SERVER | MODIFICA QUALSIASI SERVER ROLE |
| SERVER ROLE | CONTROL | CL | SERVER | SERVER DI CONTROLLO |
| SERVER ROLE | ASSUMITI LA RESPONSABILITÀ | TO | SERVER | SERVER DI CONTROLLO |
| SERVER ROLE | VIEW DEFINIZIONE | VW | SERVER | VIEW QUALSIASI DEFINIZIONE |
| SERVICE | ALTER | AL | DATABASE | MODIFICA QUALSIASI SERVICE |
| SERVICE | CONTROL | CL | DATABASE | CONTROL |
| SERVICE | SEND | SN | DATABASE | CONTROL |
| SERVICE | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| SERVICE | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| SYMMETRIC KEY | ALTER | AL | DATABASE | MODIFICA QUALSIASI SYMMETRIC KEY |
| SYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
| SYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
| SYMMETRIC KEY | ASSUMITI LA RESPONSABILITÀ | TO | DATABASE | CONTROL |
| SYMMETRIC KEY | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| TYPE | CONTROL | CL | SCHEMA | CONTROL |
| TYPE | EXECUTE | EX | SCHEMA | EXECUTE |
| TYPE | REFERENCES | RF | SCHEMA | REFERENCES |
| TYPE | ASSUMITI LA RESPONSABILITÀ | TO | SCHEMA | CONTROL |
| TYPE | VIEW DEFINIZIONE | VW | SCHEMA | VIEW DEFINIZIONE |
| USER | ALTER | AL | DATABASE | MODIFICA QUALSIASI USER |
| USER | CONTROL | CL | DATABASE | CONTROL |
| USER | IMPERSONATE | IM | DATABASE | CONTROL |
| USER | VIEW DEFINIZIONE | VW | DATABASE | VIEW DEFINIZIONE |
| XML SCHEMA COLLECTION | ALTER | AL | SCHEMA | ALTER |
| XML SCHEMA COLLECTION | CONTROL | CL | SCHEMA | CONTROL |
| XML SCHEMA COLLECTION | EXECUTE | EX | SCHEMA | EXECUTE |
| XML SCHEMA COLLECTION | REFERENCES | RF | SCHEMA | REFERENCES |
| XML SCHEMA COLLECTION | ASSUMITI LA RESPONSABILITÀ | TO | SCHEMA | CONTROL |
| XML SCHEMA COLLECTION | VIEW DEFINIZIONE | VW | SCHEMA | VIEW DEFINIZIONE |
Nuove autorizzazioni granulari aggiunte a SQL Server 2022
A SQL Server 2022 sono aggiunte le autorizzazioni seguenti:
Sono state aggiunte 10 nuove autorizzazioni per consentire l'accesso ai metadati di sistema.
Sono state aggiunte 18 nuove autorizzazioni per gli eventi estesi.
Sono state aggiunte 9 nuove autorizzazioni in relazione agli oggetti correlati alla sicurezza.
Sono state aggiunte 4 autorizzazioni per Ledger.
3 autorizzazioni aggiuntive per il database.
Per altre informazioni, vedere Nuove autorizzazioni granulari per SQL Server 2022 e Azure SQL per migliorare l'aderenza a PoLP.
Autorizzazioni per l’accesso ai metadati di sistema
Livello server:
- VIEW QUALSIASI DEFINIZIONE DI SICUREZZA
- VIEW QUALSIASI DEFINIZIONE DI PRESTAZIONI
- VIEW STATO DI SICUREZZA DEL SERVER
- VIEW STATO DELLE PRESTAZIONI DEL SERVER
- VIEW QUALSIASI DEFINIZIONE PROTETTA DAL PUNTO DI VISTA CRITTOGRAFICO
Livello di database:
- VIEW DATABASE STATO DI SICUREZZA
- VIEW DATABASE STATO PRESTAZIONI
- VIEW DEFINIZIONE DI SICUREZZA
- VIEW DEFINIZIONE DELLE PRESTAZIONI
- VIEW DEFINIZIONE PROTETTA IN MODO CRITTOGRAFICO
Autorizzazioni di eventi estesi
Livello server:
- CREA QUALSIASI EVENT SESSION
- RILASCIA QUALSIASI EVENT SESSION
- MODIFICA QUALSIASI OPZIONE EVENT SESSION
- ALTER ANY EVENT SESSION ADD EVENT
- ALTER ANY EVENT SESSION DROP EVENT
- MODIFICARE QUALSIASI EVENT SESSION ABILITARE
- MODIFICA QUALSIASI EVENT SESSION DISABILITA
- ALTER ANY EVENT SESSION ADD TARGET
- ALTER ANY EVENT SESSION DROP TARGET
Tutte queste autorizzazioni rientrano nella stessa autorizzazione padre: ALTER ANY EVENT SESSION
Livello di database:
- CREA QUALSIASI DATABASEEVENT SESSION
- RILASCIA QUALSIASI DATABASEEVENT SESSION
- MODIFICA QUALSIASI DATABASEEVENT SESSION OPZIONE
- ALTER ANY DATABASEEVENT SESSION ADD EVENT
- ALTER ANY DATABASEEVENT SESSION DROP EVENT
- ALTER ANY DATABASEEVENT SESSION ABILITA
- ALTER ANY DATABASEEVENT SESSION DISABLE
- ALTER ANY DATABASEEVENT SESSION ADD TARGET
- MODIFICARE QUALSIASI DATABASEEVENT SESSION ELIMINARE DESTINAZIONE
Tutte queste autorizzazioni rientrano nella stessa autorizzazione principale: ALTER ANY DATABASEEVENT SESSION
Autorizzazioni di oggetti correlati alla sicurezza
- CONTROLLO (CREDENTIAL)
- CREATE LOGIN
- CREATE USER
- RIFERIMENTI (CREDENTIAL)
- UNMASK (OBJECT)
- UNMASK (SCHEMA)
- VIEW QUALSIASI REGISTRO DEGLI ERRORI
- VIEW Audit di sicurezza del server
- VIEW DATABASE CONTROLLO DI SICUREZZA
Permessi del ledger
- ALTER LEDGER
- MODIFICA CONFIGURAZIONE LIBRO MASTRO
- ENABLE LEDGER
- VIEW CONTENUTO DEL REGISTRO
Altre autorizzazioni del database
- MODIFICARE QUALSIASI LAVORO ESTERNO
- ALTERARE QUALSIASI FLUSSO ESTERNO
- ESEGUI QUALSIASI ESTERNO ENDPOINT
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 le autorizzazioni a sa, dbo, il proprietario dell'entità, information_schema, syso manualmente.
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:
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.
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.
Aggrega le identità a livello di server, a livello di database e dei moduli firmati associate al chiamante per creare il contesto di sicurezza.
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. Per altre informazioni, vedere DENY Autorizzazioni per gli oggetti.
Identifica l' autorizzazione necessaria.
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.
Superare il controllo delle autorizzazioni se il permesso richiesto non è stato negato e il permesso richiesto contiene un GRANT o un GRANT WITH GRANT permesso, direttamente o implicitamente, per una qualsiasi delle identità nel contesto di sicurezza per qualsiasi oggetto nello spazio dei permessi.
Considerazioni speciali per le autorizzazioni a livello di colonna
Le autorizzazioni a livello di colonna vengono concesse con la sintassi <table_name>(<column_name>). Per esempio:
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
Un DENY oggetto nella tabella viene sottoposto a override da un oggetto GRANT in una colonna. Tuttavia, un successivo DENY nella tabella rimuoverà la colonna GRANT.
Examples
Negli esempi inclusi in questa sezione viene illustrato come recuperare le informazioni sulle autorizzazioni.
A. Restituzione dell'elenco completo delle autorizzazioni concedibili
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.
SELECT * FROM fn_builtin_permissions(default);
GO
B. Restituzione delle autorizzazioni per una particolare 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. Restituisce le autorizzazioni concesse al principale di sicurezza che esegue l'operazione su 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.
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. La funzione predefinita OBJECT_ID viene usata per recuperare l'ID dell'oggetto Yttrium.
SELECT * FROM sys.database_permissions
WHERE major_id = OBJECT_ID('Yttrium');
GO