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
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de análisis SQL en Microsoft Fabric
Almacenamiento en Microsoft Fabric
Base de datos de Azure 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 la base de datos SQL de 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, Microsoft Entra ID para usuarios de 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 comprenda los permisos necesarios, puede aplicar permisos de nivel de servidor a los inicios de sesión o roles de servidor, y permisos de nivel de base de datos a los usuarios o roles de base de datos con 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 confiere la posibilidad 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 confiere la posibilidad de crear, modificar o quitar cualquier esquema en la base de datos.
ASUMIR 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 <Schema-contained Securable>
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.
VER DEFINICIÓN
Permite al receptor obtener acceso a los metadatos.
REFERENCIAS
El permiso REFERENCES es necesario en una tabla para crear una restricción FOREIGN KEY que hace referencia a esa tabla.
El permiso de REFERENCES es necesario en un objeto para crear FUNCTION o VIEW con la cláusula
WITH SCHEMABINDINGque hace referencia a ese 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.
| Permiso | 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, BASE DE DATOS DATABASE SCOPED CREDENTIAL, DEFAULT, ENDPOINT, CATÁLOGO DE TEXTO COMPLETO, FULLTEXT STOPLIST, FUNCTION, LOGIN, TIPO DE MENSAJE, PROCEDIMIENTO QUEUE, REMOTE SERVICE BINDING, ROLE, ROUTE, RULE, SCHEMA, SEARCH PROPERTY LIST, SERVER, SERVER ROLE, SERVICE, CLAVE SIMÉTRICA, SYNONYM, TABLE, TYPE, USUARIO VIEW y COLECCIÓN DE ESQUEMAS XML |
| ELIMINAR | Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, SERVER y TYPE. |
| Ejecute | 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 |
| REFERENCIAS | AGGREGATE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, CREDENTIAL (se aplica a: SQL Server 2022 (16.x) y versiones posteriores), BASE DE DATOS DATABASE SCOPED CREDENTIAL, CATÁLOGO DE TEXTO COMPLETO, FULLTEXT STOPLIST, FUNCTION, TIPO DE MENSAJE, PROCEDIMIENTO QUEUE, RULE, SCHEMA, SEARCH PROPERTY LIST, SEQUENCE OBJECT, CLAVE SIMÉTRICA, TABLE, TYPE, VIEW y COLECCIÓN DE ESQUEMAS XML |
| 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 RESPONSABILIDAD | Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION, LOGIN, SERVER y USER. |
| ACTUALIZACIÓN | 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 CHANGE TRACKING | Esquemas y tablas |
| VER DEFINICIÓN | Todas las clases de objetos excepto DATABASE SCOPED CONFIGURATION y SERVER. |
Precaución
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.
| Elemento protegible base | 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 | BASE DE DATOS | ALTER ANY APPLICATION ROLE |
| APPLICATION ROLE | CONTROL | CL | BASE DE DATOS | CONTROL |
| APPLICATION ROLE | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| ASSEMBLY | ALTER | AL | BASE DE DATOS | MODIFICAR CUALQUIER ENSAMBLAJE |
| ASSEMBLY | CONTROL | CL | BASE DE DATOS | CONTROL |
| ASSEMBLY | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| ASSEMBLY | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| ASSEMBLY | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| ASYMMETRIC KEY | ALTER | AL | BASE DE DATOS | ALTER ANY ASYMMETRIC KEY |
| ASYMMETRIC KEY | CONTROL | CL | BASE DE DATOS | CONTROL |
| ASYMMETRIC KEY | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| ASYMMETRIC KEY | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| ASYMMETRIC KEY | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| AVAILABILITY GROUP | ALTER | AL | SERVER | ALTER ANY AVAILABILITY GROUP |
| AVAILABILITY GROUP | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| AVAILABILITY GROUP | ASUMIR RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| AVAILABILITY GROUP | VER DEFINICIÓN | VW | SERVER | VER CUALQUIER DEFINICIÓN |
| CERTIFICADO | ALTER | AL | BASE DE DATOS | ALTERAR CUALQUIER CERTIFICADO |
| CERTIFICADO | CONTROL | CL | BASE DE DATOS | CONTROL |
| CERTIFICADO | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| CERTIFICADO | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| CERTIFICADO | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| CONTRATO | ALTER | AL | BASE DE DATOS | ALTERAR CUALQUIER CONTRATO |
| CONTRATO | CONTROL | CL | BASE DE DATOS | CONTROL |
| CONTRATO | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| CONTRATO | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| CONTRATO | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| CREDENTIAL | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| CREDENTIAL | REFERENCIAS | RF | SERVER | ALTER ANY CREDENTIAL |
| BASE DE DATOS | ADMINISTER DATABASE BULK OPERATIONS | DABO | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER | AL | SERVER | ALTERAR CUALQUIER BASE DE DATOS |
| BASE DE DATOS | ALTER ANY APPLICATION ROLE | ALAR | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | MODIFICAR CUALQUIER ENSAMBLAJE | ALAS | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY ASYMMETRIC KEY | ALAK | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER CERTIFICADO | ALCF | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY 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 |
| BASE DE DATOS | ALTER ANY 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 |
| BASE DE DATOS | ALTERAR CUALQUIER CONTRATO | ALSC | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY DATABASE AUDIT | ALDA | SERVER | ALTER ANY SERVER AUDIT |
| BASE DE DATOS | ALTER ANY DATABASE DDL TRIGGER | ALTG | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY DATABASE EVENT NOTIFICATION | ALED | SERVER | ALTERAR CUALQUIER NOTIFICACIÓN DE EVENTO |
| BASE DE DATOS | ALTERAR CUALQUIER SESIÓN DE EVENTO DE BASE DE DATOS | AADS | SERVER | Modificar cualquier sesión de eventos |
| BASE DE DATOS | ALTERAR CUALQUIER SESIÓN DE EVENTOS DE BASE DE DATOS AÑADIR EVENTO | LDAE | SERVER | ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO |
| BASE DE DATOS | ALTER ANY DATABASE EVENT SESSION ADD TARGET | LDAT | SERVER | ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO |
| BASE DE DATOS | ALTER ANY DATABASE EVENT SESSION DISABLE | DDES | SERVER | ALTER ANY EVENT SESSION DISABLE |
| BASE DE DATOS | ALTER ANY DATABASE EVENT SESSION DROP EVENT | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
| BASE DE DATOS | ALTER ANY DATABASE EVENT SESSION DROP TARGET | LDDT | SERVER | ALTER ANY EVENT SESSION DROP TARGET |
| BASE DE DATOS | ALTER ANY DATABASE EVENT SESSION ENABLE | EDES | SERVER | ALTER ANY EVENT SESSION ENABLE |
| BASE DE DATOS | ALTER ANY DATABASE EVENT SESSION OPTION | LDSO | SERVER | ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO |
| BASE DE DATOS | ALTERAR CUALQUIER CONFIGURACIÓN DEL ÁMBITO DE LA BASE DE DATOS | ALDC Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER ESPACIO DE DATOS | ALDS | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | MODIFICAR CUALQUIER FUENTE DE DATOS EXTERNA | AEDS | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER FORMATO DE ARCHIVO EXTERNO | AEFF | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER TRABAJO EXTERNO | AESJ | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | MODIFICAR CUALQUIER LENGUAJE EXTERNO | ALLA | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY EXTERNAL LIBRARY | ALEL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER FLUJO EXTERNO | AEST | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO | ALFT | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | 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 |
| BASE DE DATOS | ALTERAR CUALQUIER TIPO DE MENSAJE | ALMT | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER VINCULACIÓN DE SERVICIO REMOTO | ALSB | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY ROLE | ALRL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER RUTA | ALRT | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY SCHEMA | ALSM | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER POLÍTICA DE SEGURIDAD | ALSP Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER CLASIFICACIÓN DE SENSIBILIDAD | AASC Se aplica a: SQL Server (desde SQL Server 2019 (15.x) hasta la versión actual), Azure SQL Database. |
SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | Modificar cualquier servicio | ALSV | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER ANY SYMMETRIC KEY | ALSK | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTERAR CUALQUIER USUARIO | ALUS | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ALTER LEDGER | ALR | SERVER | CONTROL |
| BASE DE DATOS | ALTER LEDGER CONFIGURATION | ALC | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | AUTHENTICATE | AUTH | SERVER | AUTHENTICATE SERVER |
| BASE DE DATOS | BACKUP DATABASE | BADB | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | BACKUP LOG | BALO | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | PUNTO DE CONTROL | CP | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CONNECT | monóxido de carbono | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CONNECT REPLICATION | CORP | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE AGGREGATE | CRAG | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE ANY DATABASE EVENT SESSION | CRDS | SERVER | CREA CUALQUIER SESIÓN DE EVENTO |
| BASE DE DATOS | CREATE ASSEMBLY | CRAS | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE ASYMMETRIC KEY | CRAK | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR CERTIFICADO | CRCF | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR CONTRATO | CRSC | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR BASE DE DATOS | CRDB | SERVER | CREAR CUALQUIER BASE DE DATOS |
| BASE DE DATOS | CREATE DATABASE DDL EVENT NOTIFICATION | CRED | SERVER | CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DDL |
| BASE DE DATOS | CREATE DEFAULT | CRDF | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR LENGUAJE EXTERNO | CRLA | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR BIBLIOTECA EXTERNA | CREL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR CATÁLOGO DE TEXTO COMPLETO | CRFT | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE FUNCTION | CRFN | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR TIPO DE MENSAJE | CRMT | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE PROCEDURE | CRPR | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE QUEUE | CRQU | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE REMOTE SERVICE BINDING | CRSB | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE ROLE | CRRL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | Crear ruta | CRRT | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE RULE | CRRU | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR ESQUEMA | CRSM | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR SERVICIO | CRSV | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREACIÓN DE UNA CLAVE SIMÉTRICA | CRSK | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR SINÓNIMO | CRSN | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREATE TABLE | CRTB | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR TIPO | CRTY | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR USUARIO | CUSR | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR VISTA | CRVW | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | CREAR COLECCIÓN DE ESQUEMA XML | CRXS | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ELIMINAR | DL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | DROP ANY DATABASE EVENT SESSION | DRDS | SERVER | ELIMINAR CUALQUIER SESIÓN DE EVENTOS |
| BASE DE DATOS | Habilitar Ledger | EL | SERVER | CONTROL |
| BASE DE DATOS | Ejecute | EX | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | EXECUTE ANY EXTERNAL ENDPOINT | EAEE | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | EXECUTE ANY EXTERNAL SCRIPT | EAES Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual). |
SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | INSERT | IN | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | KILL DATABASE CONNECTION | KIDC Solo se aplica a Azure SQL Database. Use ALTER ANY CONNECTION en SQL Server. |
SERVER | ALTERAR CUALQUIER CONEXIÓN |
| BASE DE DATOS | REFERENCIAS | RF | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | SELECT | SL | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
| BASE DE DATOS | SUSCRÍBETE A LAS NOTIFICACIONES DE CONSULTA | SUQN | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | ASUMIR RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | 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 |
| BASE DE DATOS | ACTUALIZACIÓN | UP | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION | VWCK Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | Ver estado del servidor |
| BASE DE DATOS | VIEW ANY COLUMN MASTER KEY DEFINITION | VWCM Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual), Azure SQL Database. |
SERVER | Ver estado del servidor |
| BASE DE DATOS | VER CUALQUIER CLASIFICACIÓN DE CONFIDENCIALIDAD | VASC | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | VISUALIZACIÓN DE LA DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE | VCD | SERVER | VER CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE |
| BASE DE DATOS | VER EL ESTADO DE RENDIMIENTO DE LA BASE DE DATOS | VDP | SERVER | VER EL ESTADO DE RENDIMIENTO DEL SERVIDOR |
| BASE DE DATOS | VIEW DATABASE SECURITY AUDIT | VDSA | SERVER | SERVIDOR DE CONTROL |
| BASE DE DATOS | VER EL ESTADO DE SEGURIDAD DE LA BASE DE DATOS | VDS | SERVER | VER ESTADO DE SEGURIDAD DEL SERVIDOR |
| BASE DE DATOS | VER EL ESTADO DE LA BASE DE DATOS | VWDS | SERVER | Ver estado del servidor |
| BASE DE DATOS | VER DEFINICIÓN | VW | SERVER | VER CUALQUIER DEFINICIÓN |
| BASE DE DATOS | VIEW LEDGER CONTENT | VLC | SERVER | CONTROL |
| BASE DE DATOS | VER DEFINICIÓN DE SEGURIDAD | VWS | SERVER | VER CUALQUIER DEFINICIÓN DE SEGURIDAD |
| BASE DE DATOS | VER DEFINICIÓN DE RENDIMIENTO | VWP | SERVER | VISUALIZACIÓN DE CUALQUIER DEFINICIÓN DE RENDIMIENTO |
| DATABASE SCOPED CREDENTIAL | ALTER | AL | BASE DE DATOS | CONTROL |
| DATABASE SCOPED CREDENTIAL | CONTROL | CL | BASE DE DATOS | CONTROL |
| DATABASE SCOPED CREDENTIAL | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| DATABASE SCOPED CREDENTIAL | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| DATABASE SCOPED CREDENTIAL | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| PUNTO FINAL | ALTER | AL | SERVER | ALTERAR CUALQUIER PUNTO FINAL |
| PUNTO FINAL | CONNECT | monóxido de carbono | SERVER | SERVIDOR DE CONTROL |
| PUNTO FINAL | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| PUNTO FINAL | ASUMIR RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| PUNTO FINAL | VER DEFINICIÓN | VW | SERVER | VER CUALQUIER DEFINICIÓN |
| CATÁLOGO DE TEXTO COMPLETO | ALTER | AL | BASE DE DATOS | MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO |
| CATÁLOGO DE TEXTO COMPLETO | CONTROL | CL | BASE DE DATOS | CONTROL |
| CATÁLOGO DE TEXTO COMPLETO | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| CATÁLOGO DE TEXTO COMPLETO | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| CATÁLOGO DE TEXTO COMPLETO | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| FULLTEXT STOPLIST | ALTER | AL | BASE DE DATOS | MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO |
| FULLTEXT STOPLIST | CONTROL | CL | BASE DE DATOS | CONTROL |
| FULLTEXT STOPLIST | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| FULLTEXT STOPLIST | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| FULLTEXT STOPLIST | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| LOGIN | ALTER | AL | SERVER | ALTER ANY LOGIN |
| LOGIN | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| LOGIN | IMPERSONATE | MI (Mensajería Instantánea) | SERVER | SERVIDOR DE CONTROL |
| LOGIN | VER DEFINICIÓN | VW | SERVER | VER CUALQUIER DEFINICIÓN |
| TIPO DE MENSAJE | ALTER | AL | BASE DE DATOS | ALTERAR CUALQUIER TIPO DE MENSAJE |
| TIPO DE MENSAJE | CONTROL | CL | BASE DE DATOS | CONTROL |
| TIPO DE MENSAJE | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| TIPO DE MENSAJE | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| TIPO DE MENSAJE | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| OBJECT | ALTER | AL | ESQUEMA | ALTER |
| OBJECT | CONTROL | CL | ESQUEMA | CONTROL |
| OBJECT | ELIMINAR | DL | ESQUEMA | ELIMINAR |
| OBJECT | Ejecute | EX | ESQUEMA | Ejecute |
| OBJECT | INSERT | IN | ESQUEMA | INSERT |
| OBJECT | RECEIVE | RC | ESQUEMA | CONTROL |
| OBJECT | REFERENCIAS | RF | ESQUEMA | REFERENCIAS |
| OBJECT | SELECT | SL | ESQUEMA | SELECT |
| OBJECT | ASUMIR RESPONSABILIDAD | TO | ESQUEMA | CONTROL |
| OBJECT | UNMASK | UMSK | ESQUEMA | UNMASK |
| OBJECT | ACTUALIZACIÓN | UP | ESQUEMA | ACTUALIZACIÓN |
| OBJECT | VIEW CHANGE TRACKING | VWCT | ESQUEMA | VIEW CHANGE TRACKING |
| OBJECT | VER DEFINICIÓN | VW | ESQUEMA | VER DEFINICIÓN |
| REMOTE SERVICE BINDING | ALTER | AL | BASE DE DATOS | ALTERAR CUALQUIER VINCULACIÓN DE SERVICIO REMOTO |
| REMOTE SERVICE BINDING | CONTROL | CL | BASE DE DATOS | CONTROL |
| REMOTE SERVICE BINDING | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| REMOTE SERVICE BINDING | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| ROL | ALTER | AL | BASE DE DATOS | ALTER ANY ROLE |
| ROL | CONTROL | CL | BASE DE DATOS | CONTROL |
| ROL | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| ROL | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| RUTA | ALTER | AL | BASE DE DATOS | ALTERAR CUALQUIER RUTA |
| RUTA | CONTROL | CL | BASE DE DATOS | CONTROL |
| RUTA | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| RUTA | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| ESQUEMA | ALTER | AL | BASE DE DATOS | ALTER ANY SCHEMA |
| ESQUEMA | CONTROL | CL | BASE DE DATOS | CONTROL |
| ESQUEMA | CREATE SEQUENCE | CRSO | BASE DE DATOS | CONTROL |
| ESQUEMA | ELIMINAR | DL | BASE DE DATOS | ELIMINAR |
| ESQUEMA | Ejecute | EX | BASE DE DATOS | Ejecute |
| ESQUEMA | INSERT | IN | BASE DE DATOS | INSERT |
| ESQUEMA | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| ESQUEMA | SELECT | SL | BASE DE DATOS | SELECT |
| ESQUEMA | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| ESQUEMA | UNMASK | UMSK | BASE DE DATOS | UNMASK |
| ESQUEMA | ACTUALIZACIÓN | UP | BASE DE DATOS | ACTUALIZACIÓN |
| ESQUEMA | VIEW CHANGE TRACKING | VWCT | BASE DE DATOS | VIEW CHANGE TRACKING |
| ESQUEMA | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| BUSCAR LISTA DE PROPIEDADES | ALTER | AL | SERVER | MODIFICAR CUALQUIER CATÁLOGO DE TEXTO COMPLETO |
| BUSCAR LISTA DE PROPIEDADES | CONTROL | CL | SERVER | CONTROL |
| BUSCAR LISTA DE PROPIEDADES | REFERENCIAS | RF | SERVER | REFERENCIAS |
| BUSCAR LISTA DE PROPIEDADES | ASUMIR RESPONSABILIDAD | TO | SERVER | CONTROL |
| BUSCAR LISTA DE PROPIEDADES | VER DEFINICIÓN | VW | SERVER | VER DEFINICIÓN |
| SERVER | ADMINISTER BULK OPERATIONS | ADBO | No aplicable | No aplicable |
| SERVER | ALTER ANY AVAILABILITY GROUP | ALAG | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER CONEXIÓN | ALCO | No aplicable | No aplicable |
| SERVER | ALTER ANY CREDENTIAL | ALCD | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER BASE DE DATOS | ALDB | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER PUNTO FINAL | ALHE | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER NOTIFICACIÓN DE EVENTO | ALES | No aplicable | No aplicable |
| SERVER | Modificar cualquier sesión de eventos | AAES | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO | LSAE | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO | LSAT | No aplicable | No aplicable |
| SERVER | ALTER ANY EVENT SESSION DISABLE | DES (Data Encryption Standard - Estándar de Cifrado de Datos) | 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 | ALTER ANY EVENT SESSION ENABLE | EES | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO | LESO | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER SERVIDOR VINCULADO | ALLS | No aplicable | No aplicable |
| SERVER | ALTER ANY LOGIN | ALLG | No aplicable | No aplicable |
| SERVER | ALTER ANY SERVER AUDIT | ALAA | No aplicable | No aplicable |
| SERVER | ALTERAR CUALQUIER ROL DE SERVIDOR | ALSR | No aplicable | No aplicable |
| SERVER | ALTER RESOURCES | ALRS | No aplicable | No aplicable |
| SERVER | ALTERAR ESTADO DEL SERVIDOR | ALSS | No aplicable | No aplicable |
| SERVER | Ajustar configuraciones | ALST | No aplicable | No aplicable |
| SERVER | ALTER TRACE | ALTR | No aplicable | No aplicable |
| SERVER | AUTHENTICATE SERVER | AUTH | No aplicable | No aplicable |
| SERVER | CONECTAR CUALQUIER BASE DE DATOS | CADB | No aplicable | No aplicable |
| SERVER | CONNECT SQL | COSQ | No aplicable | No aplicable |
| SERVER | SERVIDOR DE CONTROL | CL | No aplicable | No aplicable |
| SERVER | CREAR CUALQUIER BASE DE DATOS | CRDB | No aplicable | No aplicable |
| SERVER | Crear grupo de disponibilidad | CRAC | No aplicable | No aplicable |
| SERVER | CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DDL | CRDE | No aplicable | No aplicable |
| SERVER | CREATE ENDPOINT | CRHE | No aplicable | No aplicable |
| SERVER | CREAR ROL DE SERVIDOR (CREATE SERVER ROLE) | CRSR | No aplicable | No aplicable |
| SERVER | CREATE TRACE EVENT NOTIFICATION | CRTE | No aplicable | No aplicable |
| SERVER | ENSAMBLADO DE ACCESO EXTERNO | XA | No aplicable | No aplicable |
| SERVER | IMPERSONATE ANY LOGIN | IAL | No aplicable | No aplicable |
| SERVER | SELECT ALL USER SECURABLES | SUS | No aplicable | No aplicable |
| SERVER | SHUTDOWN | SHDN | No aplicable | No aplicable |
| SERVER | ENSAMBLADO NO SEGURO | XU | No aplicable | No aplicable |
| SERVER | VER CUALQUIER BASE DE DATOS | VWDB | No aplicable | No aplicable |
| SERVER | VER CUALQUIER DEFINICIÓN | VWAD | No aplicable | No aplicable |
| SERVER | Ver estado del servidor | VWSS | No aplicable | No aplicable |
| ROL DE SERVIDOR | ALTER | AL | SERVER | ALTERAR CUALQUIER ROL DE SERVIDOR |
| ROL DE SERVIDOR | CONTROL | CL | SERVER | SERVIDOR DE CONTROL |
| ROL DE SERVIDOR | ASUMIR RESPONSABILIDAD | TO | SERVER | SERVIDOR DE CONTROL |
| ROL DE SERVIDOR | VER DEFINICIÓN | VW | SERVER | VER CUALQUIER DEFINICIÓN |
| SERVICIO | ALTER | AL | BASE DE DATOS | Modificar cualquier servicio |
| SERVICIO | CONTROL | CL | BASE DE DATOS | CONTROL |
| SERVICIO | ENVIAR | SN | BASE DE DATOS | CONTROL |
| SERVICIO | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| SERVICIO | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| CLAVE SIMÉTRICA | ALTER | AL | BASE DE DATOS | ALTER ANY SYMMETRIC KEY |
| CLAVE SIMÉTRICA | CONTROL | CL | BASE DE DATOS | CONTROL |
| CLAVE SIMÉTRICA | REFERENCIAS | RF | BASE DE DATOS | REFERENCIAS |
| CLAVE SIMÉTRICA | ASUMIR RESPONSABILIDAD | TO | BASE DE DATOS | CONTROL |
| CLAVE SIMÉTRICA | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| TIPO | CONTROL | CL | ESQUEMA | CONTROL |
| TIPO | Ejecute | EX | ESQUEMA | Ejecute |
| TIPO | REFERENCIAS | RF | ESQUEMA | REFERENCIAS |
| TIPO | ASUMIR RESPONSABILIDAD | TO | ESQUEMA | CONTROL |
| TIPO | VER DEFINICIÓN | VW | ESQUEMA | VER DEFINICIÓN |
| USUARIO | ALTER | AL | BASE DE DATOS | MODIFICAR CUALQUIER USUARIO |
| USUARIO | CONTROL | CL | BASE DE DATOS | CONTROL |
| USUARIO | IMPERSONATE | MI (Mensajería Instantánea) | BASE DE DATOS | CONTROL |
| USUARIO | VER DEFINICIÓN | VW | BASE DE DATOS | VER DEFINICIÓN |
| COLECCIÓN DE ESQUEMAS XML | ALTER | AL | ESQUEMA | ALTER |
| COLECCIÓN DE ESQUEMAS XML | CONTROL | CL | ESQUEMA | CONTROL |
| COLECCIÓN DE ESQUEMAS XML | Ejecute | EX | ESQUEMA | Ejecute |
| COLECCIÓN DE ESQUEMAS XML | REFERENCIAS | RF | ESQUEMA | REFERENCIAS |
| COLECCIÓN DE ESQUEMAS XML | ASUMIR RESPONSABILIDAD | TO | ESQUEMA | CONTROL |
| COLECCIÓN DE ESQUEMAS XML | VER DEFINICIÓN | VW | ESQUEMA | VER 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:
- VER CUALQUIER DEFINICIÓN DE SEGURIDAD
- VISUALIZACIÓN DE CUALQUIER DEFINICIÓN DE RENDIMIENTO
- VER ESTADO DE SEGURIDAD DEL SERVIDOR
- VER EL ESTADO DE RENDIMIENTO DEL SERVIDOR
- VER CUALQUIER DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE
Nivel de base de datos:
- VER EL ESTADO DE SEGURIDAD DE LA BASE DE DATOS
- VER EL ESTADO DE RENDIMIENTO DE LA BASE DE DATOS
- VER DEFINICIÓN DE SEGURIDAD
- VER DEFINICIÓN DE RENDIMIENTO
- VISUALIZACIÓN DE LA DEFINICIÓN PROTEGIDA CRIPTOGRÁFICAMENTE
Sesiones de eventos extendidos
Nivel de servidor:
- CREA CUALQUIER SESIÓN DE EVENTO
- ELIMINAR CUALQUIER SESIÓN DE EVENTOS
- ALTERAR CUALQUIER OPCIÓN DE SESIÓN DE EVENTO
- ALTERAR CUALQUIER SESIÓN DE EVENTOS AGREGAR EVENTO
- ALTER ANY EVENT SESSION DROP EVENT
- ALTER ANY EVENT SESSION ENABLE
- ALTER ANY EVENT SESSION DISABLE
- ALTERAR CUALQUIER SESIÓN DE EVENTO AÑADIR OBJETIVO
- 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:
- CREATE ANY DATABASE EVENT SESSION
- DROP ANY DATABASE EVENT SESSION
- ALTER ANY DATABASE EVENT SESSION OPTION
- ALTER ANY DATABASE EVENT SESSION ADD EVENT
- ALTER ANY DATABASE EVENT SESSION DROP EVENT
- ALTER ANY DATABASE EVENT SESSION ENABLE
- ALTER ANY DATABASE EVENT SESSION DISABLE
- ALTER ANY DATABASE EVENT SESSION ADD TARGET
- ALTER ANY DATABASE EVENT SESSION DROP TARGET
Todos estos permisos están bajo el mismo permiso primario: ALTER ANY DATABASE EVENT SESSION
Permisos de objetos relacionados con la seguridad
- CONTROL (CREDENTIAL)
- Crear inicio de sesión
- CREAR USUARIO
- REFERENCIAS (CREDENCIAL)
- DESENMASCARAR (OBJETO)
- DESENMASCARAR (SCHEMA)
- VER CUALQUIER REGISTRO DE ERRORES
- VIEW SERVER SECURITY AUDIT
- VIEW DATABASE SECURITY AUDIT
Permisos del libro de contabilidad
- ALTER LEDGER
- ALTER LEDGER CONFIGURATION
- Habilitar Ledger
- VIEW LEDGER CONTENT
Otros permisos de base de datos
- ALTERAR CUALQUIER TRABAJO EXTERNO
- ALTERAR CUALQUIER FLUJO EXTERNO
- EXECUTE ANY EXTERNAL 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 permiso GRANT que proporcione el acceso suficiente. El algoritmo contiene tres elementos esenciales, el contexto de seguridad, el espacio del permisoy el permiso necesario.
Nota
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. Son los permisos que están relacionados con el inicio de sesión actual o el usuario, a menos que el contexto de seguridad se cambiara a otro inicio de sesión o usuario utilizando la instrucción EXECUTE AS. El contexto de seguridad incluye las entidades de seguridad siguientes:
El 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.
Espacio del permiso
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 el permiso EXECUTE sobre el procedimiento almacenado y el permiso INSERT sobre varias tablas a las que hace referencia el procedimiento almacenado.
Una vista de administración dinámica puede requerir los permisos VIEW SERVER STATE y 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 se puede nombrar explícitamente como GRANT, GRANT WITH GRANT o DENY; o los permisos pueden ser un permiso GRANT o DENY implícito o inclusivo. 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.
Nota
Un permiso GRANT de nivel de columna invalida un permiso DENY en el nivel de objeto. Para obtener más información, vea DENY Object Permissions( Permisos de objeto DENY).
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 del permiso es correcta si no se denegó el permiso requerido y el permiso requerido contiene un permiso GRANT o un permiso GRANT WITH GRANT directo o implícito para cualquiera de las identidades del contexto de seguridad de cualquier objeto del espacio del permiso.
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 permiso DENY en la tabla se reemplaza por un permiso GRANT en una columna. Pero un permiso DENY subsiguiente en la tabla quitará la columna GRANT.
Ejemplos
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