Microsoft SQL Server
Permisos de base de datos
Buscar..
Observaciones
Sintaxis Básica:
{GRANT| REVOKE | DENY} {PERMISSION_NAME} [ON {SECURABLE}] TO {PRINCIPAL};
- {GRANT | Revocado | DENY} - Lo que estás tratando de lograr
- Subvención: "Dar este permiso al principal declarado"
- Revocar: "Quita este permiso del principal declarado"
- Denegar: "Asegúrate de que el principal establecido nunca tenga este permiso (es decir,"
DENY SELECT
"significa que, independientemente de cualquier otro permiso,SELECT
fallará para este principal)
- PERMISSION_NAME: la operación a la que estás intentando afectar. Esto dependerá de lo asegurable. Por ejemplo, no tiene sentido
GRANT SELECT
en un procedimiento almacenado. - SEGURO: el nombre de la cosa en la que está tratando de afectar los permisos. Esto es opcional . Diciendo
GRANT SELECT TO [aUser];
es perfectamente aceptable; significa "para cualquier asegurable para el que el permisoSELECT
tenga sentido,GRANT
ese permiso". - PRINCIPAL: para quién está tratando de afectar los permisos. A nivel de base de datos, puede ser un rol (aplicación o base de datos) o un usuario (asignado a un inicio de sesión o no), por ejemplo.
Cambio de permisos
GRANT SELECT ON [dbo].[someTable] TO [aUser];
REVOKE SELECT ON [dbo].[someTable] TO [aUser];
--REVOKE SELECT [dbo].[someTable] FROM [aUser]; is equivalent
DENY SELECT ON [dbo].[someTable] TO [aUser];
CREAR USUARIO
--implicitly map this user to a login of the same name as the user
CREATE USER [aUser];
--explicitly mapping what login the user should be associated with
CREATE USER [aUser] FOR LOGIN [aUser];
Crear un rol
CREATE ROLE [myRole];
Cambio de membresía de rol
-- SQL 2005+
exec sp_addrolemember @rolename = 'myRole', @membername = 'aUser';
exec sp_droprolemember @rolename = 'myRole', @membername = 'aUser';
-- SQL 2008+
ALTER ROLE [myRole] ADD MEMBER [aUser];
ALTER ROLE [myRole] DROP MEMBER [aUser];
Nota: los miembros de rol pueden ser cualquier principal de nivel de base de datos. Es decir, puede agregar un rol como miembro en otro rol. Además, agregar / quitar miembros de rol es idempotente. Es decir, intentar agregar / soltar resultará en su presencia / ausencia (respectivamente) en el rol, independientemente del estado actual de su rol como miembro.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow