GRANT (permisos de tipo de Transact-SQL)
Concede permisos en un tipo.
GRANT permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Un tipo es un elemento que puede protegerse en el nivel de esquema que contiene el esquema que es su entidad primaria en la jerarquía de permisos.
Importante |
|---|
Los permisos GRANT, DENY, y REVOKE no se aplican a los tipos de sistemas. Se pueden conceder permisos a los tipos definidos por el usuario. Para obtener más información acerca de los tipos definidos por el usuario, vea Trabajar con tipos definidos por el usuario en SQL Server. |
La mayoría de permisos limitados y específicos que se pueden conceder en un tipo se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.
Permiso de tipo | Implicado por el permiso de tipo | Implicado por el permiso del esquema |
|---|---|---|
CONTROL | CONTROL | CONTROL |
EXECUTE | CONTROL | EXECUTE |
REFERENCES | CONTROL | REFERENCES |
TAKE OWNERSHIP | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
El que concede (o la entidad de seguridad especificada con la opción AS) debe tener el permiso con GRANT OPTION, o un permiso superior que implique el permiso que se va a conceder.
Si utiliza la opción AS, se aplican los siguientes requisitos adicionales.
AS | Permiso adicional necesario |
|---|---|
Usuario de la base de datos | Permiso IMPERSONATE en el usuario debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Usuario de la base de datos asignado a un inicio de sesión de Windows | Permiso IMPERSONATE en el usuario debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Usuario de la base de datos asignado a un grupo de Windows | Debe pertenecer al grupo de Windows, debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Usuario de la base de datos asignado a un certificado | Debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Usuario de la base de datos asignado a una clave asimétrica | Debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Usuario de la base de datos asignado a cualquier entidad de seguridad de servidor | Permiso IMPERSONATE en el usuario debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Función de base de datos | Permiso ALTER en la función, debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
Función de aplicación | Permiso ALTER en la función, debe pertenecer a la función fija de base de datos db_securityadmin , debe pertenecer a la función fija de base de datos db_owner debe pertenecer a la función fija de servidor sysadmin. |
