Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL en Microsoft Fabric
Cada protegible de SQL Server tiene permisos asociados que se pueden conceder a las entidades de seguridad. Los permisos de se administran en el nivel de servidor asignados a los inicios de sesión y roles de servidor, y en el nivel de base de datos asignados a usuarios de base de datos y roles base de datos. El modelo para Azure SQL Database tiene el mismo sistema para los permisos de base de datos, pero los permisos de nivel de servidor no están disponibles. Este artículo contiene una lista completa de los permisos. Para obtener una implementación típica de los permisos, consulte Introducción a los permisos del motor de base de datos.
El número total de permisos para SQL Server 2022 (16.x) es 292. Azure SQL Database expone 292 permisos. La mayoría de los permisos se aplica a todas las plataformas, pero otros no. Por ejemplo, no se puede conceder permisos de nivel de servidor en Azure SQL Database, y algunos permisos solo tienen sentido en Azure SQL Database. Con la nueva versión se van a implementar nuevos permisos gradualmente. SQL Server 2019 (15.x) expone 248 permisos. SQL Server 2017 (14.x) expone 238 permisos. SQL Server 2016 (13.x) expone 230 permisos. SQL Server 2014 (12.x) expone 219 permisos. SQL Server 2012 (11.x) expone 214 permisos. SQL Server 2008 R2 (10.50.x) expone 195 permisos. El artículo sys.fn_builtin_permissions especifica los permisos de las últimas versiones que son nuevos.
En SQL Database en Microsoft Fabric, solo se admiten roles y usuarios de nivel de base de datos. Los inicios de sesión, los roles y la sa cuenta de nivel de servidor no están disponibles. En la base de datos SQL de Microsoft Fabric, el identificador de Entra de Microsoft para los usuarios de la base de datos es el único método de autenticación admitido. Para obtener más información, consulte Autorización en la base de datos SQL en Microsoft Fabric.
Una vez que entienda los permisos necesarios, puede aplicar permisos de nivel de servidor a inicios de sesión o roles de servidor, y permisos de nivel de base de datos a usuarios o roles de base de datos mediante las instrucciones GRANT, REVOKE y DENY. Por ejemplo:
GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
Para obtener sugerencias sobre cómo planear un sistema de permisos, consulte Introducción a los permisos del motor de base de datos.
Convenciones de nomenclatura de permisos
A continuación se describen las convenciones generales que se siguen en la nomenclatura de permisos:
CONTROL
Confiere al receptor del permiso capacidades relacionadas con la propiedad. El receptor del permiso dispone de hecho de todos los permisos definidos para el elemento protegible. Una entidad de seguridad a la que se le haya concedido el permiso CONTROL también puede conceder permisos para el elemento protegible. Como el modelo de seguridad de SQL Server es jerárquico, el permiso CONTROL de un determinado ámbito incluye implícitamente el mismo permiso CONTROL para todos los elementos protegibles que abarca dicho ámbito. Por ejemplo, el permiso CONTROL en una base de datos implica todos los permisos de la base de datos, todos los permisos en todos los ensamblados y todos los esquemas de la misma, así como todos los permisos en los objetos de todos los esquemas que incluye la base de datos.
ALTER
Confiere la posibilidad de cambiar las propiedades, excepto la propiedad, de un elemento protegible determinado. Cuando se concede para un ámbito, ALTER también confiere la posibilidad de modificar, crear o quitar cualquier elemento protegible que esté contenido en ese ámbito. Por ejemplo, el permiso ALTER en un esquema incluye la posibilidad de crear, modificar y quitar objetos del esquema.
ALTER ANY <Server Securable>, donde Server Securable puede ser cualquier elemento protegible del servidor.
Confiere la posibilidad de crear, modificar o quitar instancias individuales del Protegible del servidor. Por ejemplo, ALTER ANY LOGIN concede la capacidad de crear, modificar o quitar cualquier inicio de sesión en la instancia.
ALTER ANY <Database Securable>, donde Database Securable puede ser cualquier elemento protegible en el nivel de base de datos.
Confiere la posibilidad de crear (CREATE), modificar (ALTER) o quitar (DROP) instancias individuales del Protegible de la base de datos. Por ejemplo, ALTER ANY SCHEMA concede la capacidad de crear, modificar o quitar cualquier esquema de la base de datos.
ASUMIR LA RESPONSABILIDAD
Permite al receptor del permiso tomar propiedad del elemento protegible para el que se concede este permiso.
IMPERSONATE <Inicio de sesión>
Permite al receptor suplantar el inicio de sesión.
IMPERSONATE <Usuario>
Permite al receptor suplantar al usuario.
CREATE <Server Securable>
Confiere al receptor la posibilidad de crear el Protegible del servidor.
CREATE <Database Securable>
Confiere al receptor la posibilidad de crear el Protegible de la base de datos.
CREATE <Elemento protegible contenido en el esquema>
Confiere la posibilidad de crear el elemento protegible contenido en el esquema. No obstante, para crear el elemento protegible en un esquema concreto se requiere el permiso ALTER en el esquema.
VIEW DEFINICIÓN
Permite al receptor obtener acceso a los metadatos.
REFERENCES
El permiso REFERENCES es necesario en una tabla para crear una restricción FOREIGN KEY que hace referencia a esa tabla.
El permiso REFERENCES es necesario en un objeto para crear un FUNCTION o VIEW con la cláusula
WITH SCHEMABINDINGque hace referencia a dicho objeto.
Gráfico de los permisos de SQL Server
La siguiente imagen muestra los permisos y sus relaciones entre sí. Algunos de los permisos de nivel superior (como CONTROL SERVER) se muestran varias veces. En este artículo, el póster es demasiado pequeño para leerlo. Puede descargar el Póster de permisos del motor de base de datos a tamaño completo en formato PDF.
Permisos aplicables a elementos protegibles específicos
En la siguiente tabla se enumeran los principales tipos de permisos y los tipos de elementos protegibles a los que se pueden aplicar.
| Permission | Se aplica a |
|---|---|
| ALTER | Todas las clases de objetos excepto TYPE. |
| CONTROL | Todas las clases de objetos: 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, y XML SCHEMA COLLECTION |
| DELETE | Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, SERVER y TYPE. |
| EXECUTE | Tipos de CLR, scripts externos, procedimientos (Transact-SQL y CLR), funciones escalares y de agregado (Transact-SQL y CLR) y sinónimos |
| IMPERSONATE | Inicios de sesión y usuarios |
| INSERT | Sinónimos, tablas y columnas, vistas y columnas. El permiso se puede conceder en el nivel de base de datos, en el de esquema o en el de objeto. |
| RECEIVE | Colas de Service Broker |
| REFERENCES |
AGGREGATE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, CREDENTIAL(se aplica a SQL Server 2022 (16.x) y versiones posteriores), DATABASE, DATABASE SCOPED CREDENTIAL, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, MESSAGE TYPE, PROCEDURE, QUEUE, RULE, SCHEMA, SEARCH PROPERTY LIST, SEQUENCE OBJETO, SYMMETRIC KEY, TABLE, TYPE, VIEW, y XML SCHEMA COLLECTION |
| SELECT | Sinónimos, tablas y columnas, vistas y columnas. El permiso se puede conceder en el nivel de base de datos, en el de esquema o en el de objeto. |
| ASUMIR LA RESPONSABILIDAD | Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, , LOGINSERVER y USER. |
| UPDATE | Sinónimos, tablas y columnas, vistas y columnas. El permiso se puede conceder en el nivel de base de datos, en el de esquema o en el de objeto. |
| VIEW SEGUIMIENTO DE CAMBIOS | Esquemas y tablas |
| VIEW DEFINICIÓN | Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, y SERVER. |
Caution
Los permisos predeterminados que se conceden a objetos del sistema en el momento de la instalación se evalúan detenidamente frente a posibles amenazas y no necesitan modificarse como parte de la protección de la instalación de SQL Server. Los cambios a los permisos de los objetos del sistema podrían limitar o interrumpir la funcionalidad y dejar potencialmente a su instalación de SQL Server en un estado no admitido.
Permisos de SQL Server
La tabla siguiente contiene una lista completa de los permisos de SQL Server. Los permisos de Azure SQL Database solo están disponibles para elementos protegibles de base que se admiten. No se pueden conceder permisos de nivel de servidor en Azure SQL Database; sin embargo, en algunos casos los permisos de base de datos están disponibles en su lugar.
| Base protegible | Permisos granulares del elemento protegible base | Código del tipo de permiso | Elemento protegible que contiene un elemento protegible base | Permiso para el elemento protegible contenedor que implica permiso granular para el elemento protegible base |
|---|---|---|---|---|
| APPLICATION ROLE | ALTER | AL | DATABASE | ALTERAR CUALQUIER APPLICATION ROLE |
| APPLICATION ROLE | CONTROL | CL | DATABASE | CONTROL |
| APPLICATION ROLE | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| ASSEMBLY | ALTER | AL | DATABASE | ALTERAR CUALQUIER ASSEMBLY |
| ASSEMBLY | CONTROL | CL | DATABASE | CONTROL |
| ASSEMBLY | REFERENCES | RF | DATABASE | REFERENCES |
| ASSEMBLY | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| ASSEMBLY | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| ASYMMETRIC KEY | ALTER | AL | DATABASE | ALTERAR CUALQUIER ASYMMETRIC KEY |
| ASYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
| ASYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
| ASYMMETRIC KEY | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| ASYMMETRIC KEY | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| AVAILABILITY GROUP | ALTER | AL | SERVER | ALTERAR CUALQUIER AVAILABILITY GROUP |
| AVAILABILITY GROUP | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| AVAILABILITY GROUP | ASUMIR LA RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| AVAILABILITY GROUP | VIEW DEFINICIÓN | VW | SERVER | VIEW CUALQUIER DEFINICIÓN |
| CERTIFICATE | ALTER | AL | DATABASE | ALTERAR CUALQUIER CERTIFICATE |
| CERTIFICATE | CONTROL | CL | DATABASE | CONTROL |
| CERTIFICATE | REFERENCES | RF | DATABASE | REFERENCES |
| CERTIFICATE | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| CERTIFICATE | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| CONTRACT | ALTER | AL | DATABASE | ALTERAR CUALQUIER CONTRACT |
| CONTRACT | CONTROL | CL | DATABASE | CONTROL |
| CONTRACT | REFERENCES | RF | DATABASE | REFERENCES |
| CONTRACT | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| CONTRACT | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| CREDENTIAL | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| CREDENTIAL | REFERENCES | RF | SERVER | ALTERAR CUALQUIER CREDENTIAL |
| DATABASE | ADMINISTRACIÓN DATABASE DE OPERACIONES MASIVAS | DABO | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTER | AL | SERVER | ALTERAR CUALQUIER DATABASE |
| DATABASE | ALTERAR CUALQUIER APPLICATION ROLE | ALAR | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER ASSEMBLY | ALAS | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER ASYMMETRIC KEY | ALAK | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER CERTIFICATE | ALCF | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER COLUMN ENCRYPTION KEY | ALCK Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER COLUMN MASTER KEY | ALCM Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER CONTRACT | ALSC | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTER ANY DATABASE AUDIT | ALDA | SERVER | ALTERAR CUALQUIER SERVER AUDIT |
| DATABASE | ALTER ANY DATABASE DDL TRIGGER | ALTG | SERVER | SERVIDOR DE CONTROL |
| DATABASE | MODIFICAR CUALQUIER DATABASEEVENT NOTIFICATION | ALED | SERVER | ALTERAR CUALQUIER EVENT NOTIFICATION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION | AADS | SERVER | ALTERAR CUALQUIER EVENT SESSION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION ADD EVENT | LDAE | SERVER | ALTER ANY EVENT SESSION ADD EVENT |
| DATABASE | MODIFICAR CUALQUIER DATABASEEVENT SESSION AGREGAR DESTINO | LDAT | SERVER | MODIFICAR CUALQUIER EVENT SESSION DESTINO DE ADICIÓN |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DESHABILITAR | DDES | SERVER | MODIFICAR CUALQUIER EVENT SESSION DESHABILITAR |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DROP EVENT | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
| DATABASE | MODIFICAR CUALQUIER DATABASEEVENT SESSION DESTINO DE DROP | LDDT | SERVER | ALTER ANY EVENT SESSION DROP TARGET |
| DATABASE | ALTER ANY DATABASEEVENT SESSION HABILITAR | EDES | SERVER | MODIFICAR CUALQUIER EVENT SESSION HABILITAR |
| DATABASE | MODIFICAR CUALQUIER OPCIÓN DATABASEEVENT SESSION | LDSO | SERVER | Modificar cualquier opción de EVENT SESSION |
| DATABASE | ALTERAR CUALQUIER DATABASE SCOPED CONFIGURATION | ALDC Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER ESPACIO DE DATOS | ALDS | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER EXTERNAL DATA SOURCE | AEDS | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER EXTERNAL FILE FORMAT | AEFF | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER TRABAJO EXTERNO | AESJ | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER EXTERNAL LANGUAGE | ALLA | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER EXTERNAL LIBRARY | ALEL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER FLUJO EXTERNO | AEST | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER FULLTEXT CATALOG | ALFT | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER MÁSCARA | AAMK Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER MESSAGE TYPE | ALMT | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER REMOTE SERVICE BINDING | ALSB | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER ROLE | ALRL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER ROUTE | ALRT | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER SCHEMA | ALSM | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER SECURITY POLICY | ALSP Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER SENSITIVITY CLASSIFICATION | AASC Se aplica a: SQL Server (desde SQL Server 2019 (15.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER SERVICE | ALSV | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER SYMMETRIC KEY | ALSK | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTERAR CUALQUIER USER | ALUS | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ALTER LEDGER | ALR | SERVER | CONTROL |
| DATABASE | ALTERAR CONFIGURACIÓN DEL LIBRO MAYOR | ALC | SERVER | SERVIDOR DE CONTROL |
| DATABASE | AUTHENTICATE | AUTH | SERVER | AUTENTICAR SERVIDOR |
| DATABASE | BACKUP DATABASE | BADB | SERVER | SERVIDOR DE CONTROL |
| DATABASE | BACKUP LOG | BALO | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CHECKPOINT | CP | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CONNECT | CO | SERVER | SERVIDOR DE CONTROL |
| DATABASE | Replicación de Connect | CORP | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE AGGREGATE | CRAG | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREA CUALQUIER DATABASEEVENT SESSION | CRDS | SERVER | CREA CUALQUIER EVENT SESSION |
| DATABASE | CREATE ASSEMBLY | CRAS | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE ASYMMETRIC KEY | CRAK | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE CERTIFICATE | CRCF | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE CONTRACT | CRSC | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE DATABASE | CRDB | SERVER | CREA CUALQUIER DATABASE |
| DATABASE | CREATE DATABASE DDL EVENT NOTIFICATION | CRED | SERVER | CREATE DDL EVENT NOTIFICATION |
| DATABASE | CREATE DEFAULT | CRDF | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE EXTERNAL LANGUAGE | CRLA | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE EXTERNAL LIBRARY | CREL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE FULLTEXT CATALOG | CRFT | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE FUNCTION | CRFN | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE MESSAGE TYPE | CRMT | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE PROCEDURE | CRPR | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE QUEUE | CRQU | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE REMOTE SERVICE BINDING | CRSB | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE ROLE | CRRL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE ROUTE | CRRT | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE RULE | CRRU | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE SCHEMA | CRSM | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE SERVICE | CRSV | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE SYMMETRIC KEY | CRSK | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE SYNONYM | CRSN | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE TABLE | CRTB | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE TYPE | CRTY | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE USER | CUSR | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE VIEW | CRVW | SERVER | SERVIDOR DE CONTROL |
| DATABASE | CREATE XML SCHEMA COLLECTION | CRXS | SERVER | SERVIDOR DE CONTROL |
| DATABASE | DELETE | DL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | Soltar cualquier DATABASEEVENT SESSION | DRDS | SERVER | SOLTAR CUALQUIERA EVENT SESSION |
| DATABASE | Habilitar Ledger | EL | SERVER | CONTROL |
| DATABASE | EXECUTE | EX | SERVER | SERVIDOR DE CONTROL |
| DATABASE | EJECUTAR CUALQUIER EXTERNO ENDPOINT | EAEE | SERVER | SERVIDOR DE CONTROL |
| DATABASE | EJECUTAR CUALQUIER SCRIPT EXTERNO | EAES Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual). |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | INSERT | IN | SERVER | SERVIDOR DE CONTROL |
| DATABASE | FINALIZAR DATABASE CONEXIÓN | KIDC Solo se aplica a Azure SQL Database. Use ALTER ANY CONNECTION en SQL Server. |
SERVER | ALTERAR CUALQUIER CONEXIÓN |
| DATABASE | REFERENCES | RF | SERVER | SERVIDOR DE CONTROL |
| DATABASE | SELECT | SL | SERVER | SERVIDOR DE CONTROL |
| DATABASE | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
| DATABASE | SUSCRÍBETE A LAS NOTIFICACIONES DE CONSULTA | SUQN | SERVER | SERVIDOR DE CONTROL |
| DATABASE | ASUMIR LA RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| DATABASE | UNMASK | UMSK Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| DATABASE | UPDATE | UP | SERVER | SERVIDOR DE CONTROL |
| DATABASE | VIEW CUALQUIER COLUMN ENCRYPTION KEY DEFINICIÓN | VWCK Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | VIEW ESTADO DEL SERVIDOR |
| DATABASE | VIEW CUALQUIER COLUMN MASTER KEY DEFINICIÓN | VWCM Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | VIEW ESTADO DEL SERVIDOR |
| DATABASE | VIEW CUALQUIER SENSITIVITY CLASSIFICATION | VASC | SERVER | SERVIDOR DE CONTROL |
| DATABASE | VIEW DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE | VCD | SERVER | VIEW CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE |
| DATABASE | VIEW DATABASE ESTADO DE RENDIMIENTO | VDP | SERVER | VIEW ESTADO DE RENDIMIENTO DEL SERVIDOR |
| DATABASE | VIEW DATABASE AUDITORÍA DE SEGURIDAD | VDSA | SERVER | SERVIDOR DE CONTROL |
| DATABASE | VIEW DATABASE ESTADO DE SEGURIDAD | VDS | SERVER | VIEW ESTADO DE SEGURIDAD DEL SERVIDOR |
| DATABASE | VIEW DATABASE ESTADO | VWDS | SERVER | VIEW ESTADO DEL SERVIDOR |
| DATABASE | VIEW DEFINICIÓN | VW | SERVER | VIEW CUALQUIER DEFINICIÓN |
| DATABASE | VIEW CONTENIDO DEL LIBRO DE CONTABILIDAD | VLC | SERVER | CONTROL |
| DATABASE | VIEW DEFINICIÓN DE SEGURIDAD | VWS | SERVER | VIEW CUALQUIER DEFINICIÓN DE SEGURIDAD |
| DATABASE | VIEW DEFINICIÓN DE RENDIMIENTO | VWP | SERVER | VIEW CUALQUIER DEFINICIÓN DE RENDIMIENTO |
| DATABASE SCOPED CREDENTIAL | ALTER | AL | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | CONTROL | CL | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | REFERENCES | RF | DATABASE | REFERENCES |
| DATABASE SCOPED CREDENTIAL | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| ENDPOINT | ALTER | AL | SERVER | ALTERAR CUALQUIER ENDPOINT |
| ENDPOINT | CONNECT | CO | SERVER | SERVIDOR DE CONTROL |
| ENDPOINT | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| ENDPOINT | ASUMIR LA RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| ENDPOINT | VIEW DEFINICIÓN | VW | SERVER | VIEW CUALQUIER DEFINICIÓN |
| FULLTEXT CATALOG | ALTER | AL | DATABASE | ALTERAR CUALQUIER FULLTEXT CATALOG |
| FULLTEXT CATALOG | CONTROL | CL | DATABASE | CONTROL |
| FULLTEXT CATALOG | REFERENCES | RF | DATABASE | REFERENCES |
| FULLTEXT CATALOG | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| FULLTEXT CATALOG | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| FULLTEXT STOPLIST | ALTER | AL | DATABASE | ALTERAR CUALQUIER FULLTEXT CATALOG |
| FULLTEXT STOPLIST | CONTROL | CL | DATABASE | CONTROL |
| FULLTEXT STOPLIST | REFERENCES | RF | DATABASE | REFERENCES |
| FULLTEXT STOPLIST | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| FULLTEXT STOPLIST | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| LOGIN | ALTER | AL | SERVER | ALTERAR CUALQUIER LOGIN |
| LOGIN | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| LOGIN | IMPERSONATE | IM | SERVER | SERVIDOR DE CONTROL |
| LOGIN | VIEW DEFINICIÓN | VW | SERVER | VIEW CUALQUIER DEFINICIÓN |
| MESSAGE TYPE | ALTER | AL | DATABASE | ALTERAR CUALQUIER MESSAGE TYPE |
| MESSAGE TYPE | CONTROL | CL | DATABASE | CONTROL |
| MESSAGE TYPE | REFERENCES | RF | DATABASE | REFERENCES |
| MESSAGE TYPE | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| MESSAGE TYPE | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| 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 | ASUMIR LA RESPONSABILIDAD | TO | SCHEMA | CONTROL |
| OBJECT | UNMASK | UMSK | SCHEMA | UNMASK |
| OBJECT | UPDATE | UP | SCHEMA | UPDATE |
| OBJECT | VIEW SEGUIMIENTO DE CAMBIOS | VWCT | SCHEMA | VIEW SEGUIMIENTO DE CAMBIOS |
| OBJECT | VIEW DEFINICIÓN | VW | SCHEMA | VIEW DEFINICIÓN |
| REMOTE SERVICE BINDING | ALTER | AL | DATABASE | ALTERAR CUALQUIER REMOTE SERVICE BINDING |
| REMOTE SERVICE BINDING | CONTROL | CL | DATABASE | CONTROL |
| REMOTE SERVICE BINDING | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| REMOTE SERVICE BINDING | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| ROLE | ALTER | AL | DATABASE | ALTERAR CUALQUIER ROLE |
| ROLE | CONTROL | CL | DATABASE | CONTROL |
| ROLE | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| ROLE | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| ROUTE | ALTER | AL | DATABASE | ALTERAR CUALQUIER ROUTE |
| ROUTE | CONTROL | CL | DATABASE | CONTROL |
| ROUTE | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| ROUTE | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| SCHEMA | ALTER | AL | DATABASE | ALTERAR CUALQUIER 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 | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| SCHEMA | UNMASK | UMSK | DATABASE | UNMASK |
| SCHEMA | UPDATE | UP | DATABASE | UPDATE |
| SCHEMA | VIEW SEGUIMIENTO DE CAMBIOS | VWCT | DATABASE | VIEW SEGUIMIENTO DE CAMBIOS |
| SCHEMA | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| SEARCH PROPERTY LIST | ALTER | AL | SERVER | ALTERAR CUALQUIER FULLTEXT CATALOG |
| SEARCH PROPERTY LIST | CONTROL | CL | SERVER | CONTROL |
| SEARCH PROPERTY LIST | REFERENCES | RF | SERVER | REFERENCES |
| SEARCH PROPERTY LIST | ASUMIR LA RESPONSABILIDAD | TO | SERVER | CONTROL |
| SEARCH PROPERTY LIST | VIEW DEFINICIÓN | VW | SERVER | VIEW DEFINICIÓN |
| SERVER | ADMINISTRACIÓN DE OPERACIONES MASIVAS | ADBO | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER AVAILABILITY GROUP | ALAG | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER CONEXIÓN | ALCO | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER CREDENTIAL | ALCD | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER DATABASE | ALDB | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER ENDPOINT | ALHE | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER EVENT NOTIFICATION | ALES | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER EVENT SESSION | AAES | No aplicable | No aplicable |
| SERVER | ALTER ANY EVENT SESSION ADD EVENT | LSAE | No aplicable | No aplicable |
| SERVER | MODIFICAR CUALQUIER EVENT SESSION DESTINO DE ADICIÓN | LSAT | No aplicable | No aplicable |
| SERVER | MODIFICAR CUALQUIER EVENT SESSION DESHABILITAR | DES | No aplicable | No aplicable |
| SERVER | ALTER ANY EVENT SESSION DROP EVENT | LSDE | No aplicable | No aplicable |
| SERVER | ALTER ANY EVENT SESSION DROP TARGET | LSDT | No aplicable | No aplicable |
| SERVER | MODIFICAR CUALQUIER EVENT SESSION HABILITAR | EES | No aplicable | No aplicable |
| SERVER | Modificar cualquier opción de EVENT SESSION | LESO | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER SERVIDOR VINCULADO | ALLS | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER LOGIN | ALLG | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER SERVER AUDIT | ALAA | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER SERVER ROLE | ALSR | No aplicable | No aplicable |
| SERVER | MODIFICAR RECURSOS | ALRS | No aplicable | No aplicable |
| SERVER | ALTERAR ESTADO DEL SERVIDOR | ALSS | No aplicable | No aplicable |
| SERVER | MODIFICAR CONFIGURACIONES | ALST | No aplicable | No aplicable |
| SERVER | ALTER TRACE | ALTR | No aplicable | No aplicable |
| SERVER | AUTENTICAR SERVIDOR | AUTH | No aplicable | No aplicable |
| SERVER | CONECTAR CUALQUIERA DATABASE | CADB | No aplicable | No aplicable |
| SERVER | Conectar a SQL | COSQ | No aplicable | No aplicable |
| SERVER | SERVIDOR DE CONTROL | CL | No aplicable | No aplicable |
| SERVER | CREA CUALQUIER DATABASE | CRDB | No aplicable | No aplicable |
| SERVER | CREATE AVAILABILITY GROUP | CRAC | No aplicable | No aplicable |
| SERVER | CREATE DDL EVENT NOTIFICATION | CRDE | No aplicable | No aplicable |
| SERVER | CREATE ENDPOINT | CRHE | No aplicable | No aplicable |
| SERVER | CREATE SERVER ROLE | CRSR | No aplicable | No aplicable |
| SERVER | CREAR TRAZA EVENT NOTIFICATION | CRTE | No aplicable | No aplicable |
| SERVER | ACCESO EXTERNO ASSEMBLY | XA | No aplicable | No aplicable |
| SERVER | SUPLANTAR A CUALQUIERA LOGIN | IAL | No aplicable | No aplicable |
| SERVER | SELECCIONAR TODOS LOS USER ELEMENTOS PROTEGIBLES | SUS | No aplicable | No aplicable |
| SERVER | SHUTDOWN | SHDN | No aplicable | No aplicable |
| SERVER | NO SEGURO ASSEMBLY | XU | No aplicable | No aplicable |
| SERVER | VIEW CUALQUIER DATABASE | VWDB | No aplicable | No aplicable |
| SERVER | VIEW CUALQUIER DEFINICIÓN | VWAD | No aplicable | No aplicable |
| SERVER | VIEW ESTADO DEL SERVIDOR | VWSS | No aplicable | No aplicable |
| SERVER ROLE | ALTER | AL | SERVER | ALTERAR CUALQUIER SERVER ROLE |
| SERVER ROLE | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| SERVER ROLE | ASUMIR LA RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| SERVER ROLE | VIEW DEFINICIÓN | VW | SERVER | VIEW CUALQUIER DEFINICIÓN |
| SERVICE | ALTER | AL | DATABASE | ALTERAR CUALQUIER SERVICE |
| SERVICE | CONTROL | CL | DATABASE | CONTROL |
| SERVICE | SEND | SN | DATABASE | CONTROL |
| SERVICE | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| SERVICE | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| SYMMETRIC KEY | ALTER | AL | DATABASE | ALTERAR CUALQUIER SYMMETRIC KEY |
| SYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
| SYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
| SYMMETRIC KEY | ASUMIR LA RESPONSABILIDAD | TO | DATABASE | CONTROL |
| SYMMETRIC KEY | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| TYPE | CONTROL | CL | SCHEMA | CONTROL |
| TYPE | EXECUTE | EX | SCHEMA | EXECUTE |
| TYPE | REFERENCES | RF | SCHEMA | REFERENCES |
| TYPE | ASUMIR LA RESPONSABILIDAD | TO | SCHEMA | CONTROL |
| TYPE | VIEW DEFINICIÓN | VW | SCHEMA | VIEW DEFINICIÓN |
| USER | ALTER | AL | DATABASE | ALTERAR CUALQUIER USER |
| USER | CONTROL | CL | DATABASE | CONTROL |
| USER | IMPERSONATE | IM | DATABASE | CONTROL |
| USER | VIEW DEFINICIÓN | VW | DATABASE | VIEW DEFINICIÓN |
| 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 | ASUMIR LA RESPONSABILIDAD | TO | SCHEMA | CONTROL |
| XML SCHEMA COLLECTION | VIEW DEFINICIÓN | VW | SCHEMA | VIEW DEFINICIÓN |
Nuevos permisos granulares agregados a SQL Server 2022
Los permisos siguientes se agregan a SQL Server 2022:
Se han agregado 10 nuevos permisos para permitir el acceso a los metadatos del sistema.
Se han agregado 18 nuevos permisos para eventos extendidos.
Se han agregado 9 nuevos permisos con respecto a los objetos relacionados con la seguridad.
Se han agregado 4 permisos para el libro de contabilidad.
3 permisos adicionales de base de datos.
Para obtener más información, consulte Nuevos permisos granulares para SQL Server 2022 y Azure SQL para mejorar la adhesión a PoLP.
Acceso a los permisos de metadatos del sistema
Nivel de servidor:
- VIEW CUALQUIER DEFINICIÓN DE SEGURIDAD
- VIEW CUALQUIER DEFINICIÓN DE RENDIMIENTO
- VIEW ESTADO DE SEGURIDAD DEL SERVIDOR
- VIEW ESTADO DE RENDIMIENTO DEL SERVIDOR
- VIEW CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE
Nivel de base de datos:
- VIEW DATABASE ESTADO DE SEGURIDAD
- VIEW DATABASE ESTADO DE RENDIMIENTO
- VIEW DEFINICIÓN DE SEGURIDAD
- VIEW DEFINICIÓN DE RENDIMIENTO
- VIEW DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE
Sesiones de eventos extendidos
Nivel de servidor:
- CREA CUALQUIER EVENT SESSION
- SOLTAR CUALQUIERA EVENT SESSION
- Modificar cualquier opción de EVENT SESSION
- ALTER ANY EVENT SESSION ADD EVENT
- ALTER ANY EVENT SESSION DROP EVENT
- MODIFICAR CUALQUIER EVENT SESSION HABILITAR
- MODIFICAR CUALQUIER EVENT SESSION DESHABILITAR
- MODIFICAR CUALQUIER EVENT SESSION DESTINO DE ADICIÓN
- ALTER ANY EVENT SESSION DROP TARGET
Todos estos permisos están bajo el mismo permiso primario: ALTER ANY EVENT SESSION
Nivel de base de datos:
- CREA CUALQUIER DATABASEEVENT SESSION
- Soltar cualquier DATABASEEVENT SESSION
- MODIFICAR CUALQUIER OPCIÓN DATABASEEVENT SESSION
- ALTER ANY DATABASEEVENT SESSION ADD EVENT
- ALTER ANY DATABASEEVENT SESSION DROP EVENT
- ALTER ANY DATABASEEVENT SESSION HABILITAR
- ALTER ANY DATABASEEVENT SESSION DESHABILITAR
- MODIFICAR CUALQUIER DATABASEEVENT SESSION AGREGAR DESTINO
- MODIFICAR CUALQUIER DATABASEEVENT SESSION DESTINO DE DROP
Todos estos permisos están bajo el mismo permiso primario: ALTER ANY DATABASEEVENT SESSION
Permisos de objetos relacionados con la seguridad
- CONTROL (CREDENTIAL)
- CREATE LOGIN
- CREATE USER
- REFERENCIAS (CREDENTIAL)
- DESENMASCARAR (OBJECTO)
- DESENMASCARAR (SCHEMA)
- VIEW CUALQUIER REGISTRO DE ERRORES
- VIEW AUDITORÍA DE SEGURIDAD DEL SERVIDOR
- VIEW DATABASE AUDITORÍA DE SEGURIDAD
Permisos de libro de contabilidad
- ALTER LEDGER
- ALTERAR CONFIGURACIÓN DEL LIBRO MAYOR
- Habilitar Ledger
- VIEW CONTENIDO DEL LIBRO DE CONTABILIDAD
Otros permisos de base de datos
- ALTERAR CUALQUIER TRABAJO EXTERNO
- ALTERAR CUALQUIER FLUJO EXTERNO
- EJECUTAR CUALQUIER EXTERNO ENDPOINT
Resumen del algoritmo de comprobación de permiso
Comprobar los permisos puede ser complejo. El algoritmo de comprobación de permiso incluye la superposición de la pertenencia a grupos y el encadenamiento de propiedad, tanto el permiso explícito como el implícito, y puede ser afectado por los permisos en las clases protegibles y que contienen la entidad protegible. El proceso general del algoritmo es reunir todos los permisos pertinentes. Si no se encuentra ningún bloqueo DENY , el algoritmo busca un GRANT que proporcione acceso suficiente. El algoritmo contiene tres elementos esenciales, el contexto de seguridad, el espacio del permisoy el permiso necesario.
Note
No se pueden conceder, denegar o revocar permisos a sa, dboel propietario de la entidad, information_schema, syso usted mismo.
Contexto de seguridad
Es el grupo de entidades de seguridad que aportan los permisos para la comprobación de acceso. Estos son permisos relacionados con el inicio de sesión o usuario actual, a menos que el contexto de seguridad se haya cambiado a otro inicio de sesión o usuario mediante la EXECUTE AS instrucción . El contexto de seguridad incluye las entidades de seguridad siguientes:
Inicio de sesión
El usuario
Pertenecientes al rol
Pertenecientes al grupo Windows
Si se utiliza la firma de módulo, cualquier cuenta de inicio de sesión o de usuario da cuenta del certificado utilizado para firmar el módulo que el usuario está ejecutando actualmente, así como de los pertenecientes al rol asociados de ese entidad de seguridad.
Área de permisos
Es la entidad protegible y todas las clases protegibles que contiene la entidad protegible. Por ejemplo, una tabla (una entidad protegible) está contenida en la clase de esquema protegible y en la clase de base de datos protegible. El acceso puede verse afectado por permisos de nivel de tabla, esquema, base de datos y servidor. Para obtener más información, vea Jerarquía de permisos (motor de base de datos).
Permiso necesario
El tipo de permiso que se necesita. Por ejemplo, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL, etc.
El acceso puede requerir varios permisos, como en los ejemplos siguientes:
Un procedimiento almacenado puede requerir tanto el permiso EXECUTE en el procedimiento almacenado como INSERT permisos en varias tablas a las que hace referencia el procedimiento almacenado.
Una vista de administración dinámica puede requerir tanto los permisos VIEW SERVER STATE como SELECT sobre la vista.
Pasos generales del algoritmo
Cuando el algoritmo está determinando si permite el acceso a un elemento protegible, los pasos precisos que utiliza pueden variar, dependiendo de las entidades de seguridad y de los elementos protegibles implicados. Sin embargo, el algoritmo da los siguientes pasos generales:
Omite la comprobación del permiso si el inicio de sesión es un miembro del rol fijo de servidor sysadmin o si el usuario es el usuario de dbo en la base de datos actual.
Permite el acceso si es aplicable el encadenamiento de propiedad y la comprobación de acceso en el objeto anterior de la cadena pasó la comprobación de seguridad.
Agrega las identidades de nivel del servidor, de base de datos y de módulo firmado que se asocian al autor de las llamadas para crear el contexto de seguridad.
Para ese contexto de seguridad, reúne todos los permisos que se conceden o deniegan para el espacio del permiso. El permiso puede indicarse explícitamente como GRANT, GRANT WITH GRANT o DENY; o los permisos pueden ser un permiso implícito o de cobertura GRANT o DENY. Por ejemplo, el permiso CONTROL sobre un esquema implica CONTROL sobre una tabla. Asimismo, CONTROL sobre una tabla implica SELECT. Por consiguiente, si se otorgó CONTROL sobre el esquema, se otorgó SELECT sobre la tabla. Si se denegó CONTROL sobre la tabla, también se denegó SELECT sobre ella.
Note
Un GRANT de un permiso a nivel de columna anula un DENY a nivel de objeto. Para obtener más información, vea DENY Permisos de objeto.
Identifique el permiso requerido.
La comprobación del permiso no se realiza correctamente si el permiso requerido es denegado directa o implícitamente a cualquiera de las identidades del contexto de seguridad para los objetos del espacio del permiso.
La comprobación de permisos se supera si no se ha denegado el permiso requerido y el permiso requerido contiene un GRANT o un permiso GRANT CON GRANT, ya sea de forma directa o implícita, para cualquiera de las identidades del contexto de seguridad para cualquier objeto del espacio de permisos.
Consideraciones especiales sobre los permisos de nivel de columna
Los permisos de nivel de columna se conceden con la sintaxis <table_name>(<column _name>). Por ejemplo:
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
Un DENY de la tabla queda reemplazado por un GRANT de una columna. Sin embargo, un elemento posterior DENY de la tabla quitará la columna GRANT.
Examples
En los ejemplos de esta sección se muestra cómo se recupera la información sobre permisos.
A. Devolver la lista completa de los permisos que pueden concederse.
La siguiente instrucción devuelve todos los permisos del motor de base de datos mediante la función fn_builtin_permissions. Para obtener más información, consulte sys.fn_builtin_permissions.
SELECT * FROM fn_builtin_permissions(default);
GO
B. Devolver los permisos de una clase de objetos concreta
En el ejemplo siguiente se usa fn_builtin_permissions para ver todos los permisos que están disponibles para una categoría de elemento protegible. El ejemplo devuelve permisos de ensamblados.
SELECT * FROM fn_builtin_permissions('assembly');
GO
C. Devolver los permisos de un objeto concedidos a la entidad de seguridad que se ejecuta
En el ejemplo siguiente se usa fn_my_permissions para devolver una lista de los permisos efectivos que son retenidos por la entidad de seguridad de la llamada sobre un elemento protegible específico. El ejemplo devuelve los permisos de un objeto denominado Orders55. Para obtener más información, consulte sys.fn_my_permissions.
SELECT * FROM fn_my_permissions('Orders55', 'object');
GO
D. Devolver los permisos aplicables a un objeto especificado
El ejemplo siguiente devuelve los permisos aplicables a un objeto denominado Yttrium. Observa que la función integrada OBJECT_ID se utiliza para recuperar el identificador del objeto Yttrium.
SELECT * FROM sys.database_permissions
WHERE major_id = OBJECT_ID('Yttrium');
GO