En la documentación de SQL Server 2005, se usan frecuentemente los términos "Principals", "Securables" y "Permissions" para expresar aspectos de seguridad de SQL Server 2005. Este artículo describe estos 3 conceptos.
Principals: Es a quien se asignan los permisos ( logins, usuarios, roles, etc )
En el contexto de SQL Server los "Principals" existen en 3 niveles diferentes:
- A nivel del sistema operativo Windows : usuarios(locales y de dominio) y grupos de usuarios
- A nivel de instancia SQL Server: logins (windows y sqlserver logins) y server roles
- A nivel de base de datos: usuarios, roles y roles de aplicación
Securables: Los recursos sobre los que se asigna permisos( bases de datos, tablas, archivos, etc)
Los "Securables" también existen a diferentes niveles:
- A nivel de windows, consisten de a archivos y claves de la registry que usa SQL Server.
- A nivel de SQL Server, están organizados en forma jerárquica:
- El nivel superior es la instancia, en este nivel los "Securables" son logins, http endpoints, bases de datos, etc.
- El siguiente nivel es la base de datos, en este nivel los "Securables" son servicios, assemblies, esquemas, etc.
- El siguiente nivel es el esquema, en este nivel los "Securables" son tablas, vistas, procedures, etc.
Permissions: Son los privilegios que se otorgan a los "Principals" para controlar la acciones que estos pueden realizar sobre los "Securables". ( permisos de write sobre un archivo, delete sobre una tabla, etc )
- A nivel de Windows, se usan ACL's para otorgar o denegar "Permissions"
- A nivel de SQL Server se usan las sentencias GRANT, REVOKE y DENY para otorgar o denegar "Permissions". Los "Permissions" asignados a determinado nivel son heredados de forma implícita en los niveles inferiores. Por ejemplo si a un rol se le asigna permiso de select sobre un esquema, el rol va a tener permisos de select sobre los "Securables" de ese esquema (típicamente tablas)
1 comentario:
Gracias!!!!!!!!!!! Exelente publicación. Clara concisa y sencilla.
Publicar un comentario