Trabajo Investigaciónv Permisos Base de datos PDF

Title Trabajo Investigaciónv Permisos Base de datos
Course Bases de Datos I
Institution Universidad Nacional de La Patagonia San Juan Bosco
Pages 16
File Size 264.5 KB
File Type PDF
Total Downloads 57
Total Views 140

Summary

trabajo de investigación con una breve introducción a los usuarios en las bases de datos, tipos de usuarios, se da una explicación teórica y se desarrolla sobre los privilegios, roles y esquemas tanto en Postgresql y SQL 2008.
...


Description

Índice. Desarrollo...................................................................................................................2 Introducción a Usuarios en Base de datos............................................................2 Sobre los tipos de usuarios....................................................................................2 Introducción a los privilegios en Base de datos.....................................................3 Sobre los Privilegios en Postgres. ........................................................................3 Sobre los Privilegios en Microsoft SQL 2008.........................................................4 Introducción a los roles en Base de datos. ...........................................................4 Funcionalidad de los roles en las bases de datos.................................................4 Sobre los tipos de roles..........................................................................................5 Roles en Postgres..................................................................................................5 Atributos de Roles en Postgresql...........................................................................7 Roles en microsoft SQL 2008................................................................................8 Permisos del ROL de base de datos. ...................................................................9 Roles fijos de base de datos..................................................................................9 Roles especiales para Base de datos SQL y Almacenamiento de datos SQL. . .11 Introducción a los esquemas (SCHEMES)..........................................................11 Creación de esquemas en Postgres....................................................................12 Creación de esquemas en Microsoft SQL server 2008.......................................15 Permisos de SQL Server referido a los esquemas..............................................15

Desarrollo Introducción a Usuarios en Base de datos. Un usuario puede ser definido como toda persona que tenga contacto con el sistema de base de datos en la etapa de diseño, elaboración, finalización y uso de ella. Entre las tareas que pueden ser realizadas por el usuario se puede incluir lo siguiente: • Procesar objetos de base de datos • Leer datos de base de datos. • Leer metadatos de base de datos. • Agregar usuarios a funciones de base de datos existentes. • Crear funciones de base de datos nuevas. • Definir permisos para funciones de base de datos.

Sobre los tipos de usuarios. Durante la investigación se encontraron definido una serie de tipos de usuarios los usuarios normales, programadores de aplicaciones, usuario sofisticado, usuarios especializados y los administradores, en breve se describirán cada uno de los tipos de usuarios. 







Usuarios normales. Son usuarios no sofisticados que interactúan con el sistema mediante un programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usuarios pueden también simplemente leer informes generados de la base de datos. Programadores de aplicaciones. Son profesionales informáticos que escriben los programas de aplicación, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas de desarrollo rápido de aplicaciones (DRA), que facilitan crear los formularios e informes sin escribir directamente el programa. Usuarios sofisticados. Interactúan con el sistema sin programas escritos, usando el lenguaje de consulta de base de datos para hacer sus consultas. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, usando ellos las herramientas de procesamiento analítico en línea (OLAP, OnLine Analytical Processing), o herramientas de recopilación de datos. Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de



tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno. Administradores de la base de datos (ABD). Son las personas que tienen el control central del SGBD.Las funciones que cumplen el ABD son: o Definición del esquema de la base de datos. o Definición de la estructura y el método de acceso. o Modificación del esquema y la organización física. o Conceder autorización para el acceso a los datos. o Mantenimiento rutinario.

Introducción a los privilegios en Base de datos. Un privilegio o permiso es un derecho para ejecutar un tipo particular de sentencia o para acceder un objeto de otro usuario. Los privilegios se puede clasificar en: 

Privilegios sobre los objetos de la base de datos: Nos permite acceder y realizar cambios en los datos de otros usuarios. El privilegio de consultar la tabla de otro usuario es un privilegio sobre objetos.



Privilegios de sistema: Dan derecho a ejecutar un tipo de comando SQL o a realizar alguna acción sobre objetos de un tipo especificado.

Se pueden quitar tanto los privilegios de objetos a los usuarios como los privilegios de sistema a los usuarios o roles.

Sobre los Privilegios en Postgres. PostgreSQL gestiona los permisos de acceso de base de datos utilizando el concepto de roles. Un rol puede ser pensado ya sea como un usuario de la base, o un grupo de usuarios de la base, dependiendo de cómo el papel se ha configurado. Los roles pueden poseer objetos de base de datos (por ejemplo, tablas) y se pueden asignar privilegios de esos objetos a otros papeles para controlar quién tiene acceso a qué objetos. Además, es posible conceder la membresía en una función a otra función, permitiendo de este modo el papel miembro utilice privilegios asignados a otra función.

Sobre los Privilegios en Microsoft SQL 2008. Todos los elementos protegibles de SQL Server tienen permisos asociados que se pueden conceder a una entidad de seguridad. Los permisos de Motor de base de datos 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 Base de datos SQL tiene el mismo sistema para los permisos de base de datos, pero los permisos de nivel de servidor no están disponibles. Este tema contiene una lista completa de los permisos. Para una implementación típica de los permisos, consulte Getting Started with Database Engine Permissions. SQL Server 2016 tiene 230 permisos. SQL Server 2014 tiene 219 permisos. SQL Server 2012 tiene 214 permisos. SQL Server 2008 R2 tiene 195 permisos.

Introducción a los roles en Base de datos. Un rol puede ser propietario de objetos de bases de datos (por ejemplo, tablas) y se pueden asignar privilegios de los objetos a otros roles para controlar quién tiene acceso a los objetos. Además, es posible la concesión de la pertenencia de un rol a otro rol, lo que permite utilizar el rol de miembro de los privilegios asignados al rol que es un miembro de.

El objetivo de los roles es permitir una mejor administración de los privilegios, por lo general, se deberían garantizar privilegios a los roles y no a los usuarios individuales

Funcionalidad de los roles en las bases de datos    

Los roles de la base de datos tienen la siguiente funcionalidad: Un rol puede tener privilegios del sistema y privilegios de objetos del schema. Un rol se puede asignar a otro roles (excepto a sí mismo directa o indirectamente). A cualquier usuario de la base de datos se le puede asignar cualquier rol. Un rol asignado a un usuario se puede habilitar o inhabilitar en cualquier momento.



Un rol garantizado indirectamente puede ser explícitamente habilitado o inhabilitado al usuario.

Sobre los tipos de roles   



Visitante: Usuario que simplemente podrá leer o buscar en los contenidos y no necesita autentificarse. Usuario autentificado: se le permite dejar comentarios u opinar sobre los productos o simplemente participar generando algún tipo de contenido. Editor: Gestiona a los usuarios y todos los contenidos y no tiene por qué tener nociones técnicas del funcionamiento del sistema. Puede ser p.ej. el propietario de una tienda virtual o de una comunidad virtual, el cual no tiene conocimientos técnicos de la plataforma pero debe disponer de control total sobre los contenidos del sitio. Administrador: es el responsable técnico y puede acceder a cualquiera de los aspectos del sistema, configurando o modificando cualquier parámetro de éste. Este usuario tiene control total sobre el sitio web, por lo que puede realizar cualquier operación de configuración o mantenimiento sobre este.

Roles en Postgres Con frecuencia es conveniente que los usuarios se agrupen para facilitar la administración de los privilegios: de esa manera, los privilegios pueden ser concedidos a, o revocados de un grupo como un todo. En PostgreSQL Esto se hace mediante la creación de un rol que representa el grupo y, a continuación, la concesión de pertenencia al rol del grupo a los roles de cada usuario. Para configurar una función de grupo, primero crear la función: CREATE ROLE name; Un rol que se utiliza como un grupo no tiene el atributo LOGIN, aunque se puede establecer si lo desea. Una vez que el papel de grupo existe, usted puede agregar y eliminar miembros usando el comando GRANT y REVOKE: GRANT group_role TO role1, ... ; REVOKE group_role FROM role1, ... ;

Se puede conceder la adhesión a los roles de otro grupo, también (ya que no hay realmente una distinción entre las roles de grupo y los roles no grupales). La base de datos no le permitirá crear lazos de pertenencia circular. Además, no se permite la concesión de la pertenencia a un rol público. Los miembros de un rol puede usar los privilegios del rol de grupo de dos maneras. En primer lugar, cada miembro de un grupo puede hacer de forma explícita SET ROLE para "convertirse" temporalmente en el rol de grupo. En este estado, el período de base de datos tiene acceso a los privilegios de la función del grupo por encima del rol de acceso original, y cualquier objeto de base de datos creada se considera propiedad del rol de grupo y no de la función de acceso. En segundo lugar, los roles de los miembros que tienen el atributo INHERIT tienen automáticamente el uso de los privilegios de los roles a los que pertenecen. Como ejemplo, supongamos que hemos hecho: CREATE ROLE joe LOGIN INHERIT; CREATE ROLE admin NOINHERIT; CREATE ROLE wheel NOINHERIT; GRANT admin TO joe; GRANT wheel TO admin; Inmediatamente después de conectar como el rol Joe, un período de base de datos tendrá el uso de los privilegios concedidos directamente a Joe además de los privilegios concedidos al administrador, porque Joe ", hereda los privilegios de" administrador. Sin embargo, los privilegios concedidos a wheel no están disponibles, porque a pesar de que Joe es indirectamente un miembro de wheel, la composición es a través de administrador que tiene el atributo NOINHERIT. Después del comando: SET ROLE admin;

La sesión tendría el uso únicamente de los privilegios concedidos a admin, y no de los concedidos a Joe. Después del comando: SET ROLE wheel; La sesión tendría el uso únicamente de los privilegios concedidos a wheel, y no a los que se conceden a cualquiera de Joe o de administración. El estado de privilegio original puede ser restaurado con cualquiera de: SET ROLE joe; SET ROLE NONE; RESET ROLE;

El comando SET ROLE siempre permite seleccionar cualquier role que la función original de inicio de sesión es directa o indirectamente un miembro. Así, en el ejemplo anterior, no es necesario convertirse en administrador antes de convertirse en wheel. En el estándar SQL, hay una distinción clara entre los usuarios y roles, y los usuarios no heredan automáticamente los privilegios, mientras que los roles hacer. Este comportamiento se puede obtener en PostgreSQL, dando roles se utilizan las funciones de SQL como el atributo INHERIT. El papel de los atributos de LOGIN, SUPERUSER, CREATEDB, y CREATEROLE pueden considerarse como privilegios especiales, pero nunca se heredan como los privilegios de los objetos ordinarios de la base de datos. Usted realmente debe establecer SET ROLE a un rol específico con uno de estos atributos a fin de hacer uso del atributo. Continuando con el ejemplo anterior, podríamos optar por otorgar CREATEDB y CREATEROLE a la función de administrador. Luego de una sesión de conexión como Joe no tendríamos estos privilegios de inmediato, sólo después de hacer SET ROLE admin. Para destruir a un grupo de roles, usar DROP ROLE: DROP ROLE name Ninguna membresía al rol de grupo es revocada automáticamente (los roles miembros no se ven afectados). Notar sin embargo que los objetos de propiedad del rol del primer grupo deben ser descartados o reasignados a otros propietarios, y los permisos concedidos al rol de grupo debe ser revocada.

Atributos de Roles en Postgresql Uno de los roles de base de datos puede tener una serie de atributos para definir sus privilegios e interactuar con el sistema de autenticación de cliente. login privilege Solo roles que tienen el atributo de inicio de sesión puede ser usados como el nombre de rol inicial de una conexión de base de datos. Un rol con el atributo de inicio de sesión puede ser considerada lo mismo que un "usuario de base de datos". Para crear un rol con el privilegio de acceso: CREATE nombre de rol LOGIN; CREATE nombre de usuario;

(CREATE USER es equivalente a CREATE ROLE, salvo que CREATE USER asume LOGIN por defecto, mientras que CREATE ROLE no.)

superuser El status de superusuario de base de datos se salta todas las comprobaciones de permisos. Este es un privilegio que no debería ser utilizado con descuido, lo mejor es hacer la mayor parte de su trabajo como un rol que no sea un super-usuario. Para crear una nueva base de datos de superusuario, use CREATE ROLE nombre SUPERUSER. Debe hacer esto como un rol que ya sea un super-usuario. database creation Debe ser explícitamente dado para crear bases de datos (con excepción de los superusuarios, ya que pasan por alto todos los controles de permiso). Para crear este role, usar de CREATE ROLE nombre CREATEDB. role creation Debe ser explícitamente dado para crear más roles (a excepción de los superusuarios, ya que pasan por alto todos los controles de permiso). Para crear esa función, usar CREATE ROLE nombre CREATEROLE. Un role con el privilegio CREATEROLE puede modificar y colocar otros roles, también, así como de conceder o revocar la pertenencia a ellas. Sin embargo, para crear, modificar, eliminar o cambiar roles de super-usuario, el estado de superusuario es imprescindible; CREATEROLE no es suficiente para eso.

password; Sólo es significativa si el método de autenticación de cliente requiere que el usuario proporcione una contraseña cuando se conecta a la base de datos. La contraseña y los métodos de autenticación MD5 hacen uso de contraseñas. Las contraseñas de bases de datos son independientes de las contraseñas del sistema operativo. Especificar una contraseña a la creación de papel con una cuerda CREATE ROLE Nombre de Usuario PASSWORD 'contraseña'. Los atributos de roles pueden ser modificados después de la creación con ALTER ROLE.

Roles en microsoft SQL 2008 Para administrar con facilidad los permisos en las bases de datos, SQL Server proporciona varios roles , que son las entidades de seguridad que agrupan a otras entidades de seguridad. Son como los grupos del sistema operativo Microsoft Windows. Los roles de nivel de base de datos se aplican a toda la base de datos en lo que respecta a su ámbito de permisos.

Para agregar y quitar usuarios en un rol de base de datos, use las opciones ADD MEMBER y DROP MEMBER de la instrucción ALTER ROLE. Almacenamiento de datos paralelos no admite este uso de ALTER ROLE. En su lugar, use los procedimientos sp_addrolemember y sp_droprolemember anteriores. Existen dos tipos de roles en el nivel de base de datos: los roles fijos de base de datos que están predefinidos en la base de datos y los roles de base de datos definidos por el usuario que el usuario puede crear. Los roles fijos de base de datos se definen en el nivel de base de datos y existen en cada una de ellas. Los miembros de los roles de base de datos db_owner pueden administrar la pertenencia a roles fijos de base de datos. También hay algunos roles de base de datos con fines especiales en la base de datos msdb. Puede agregar cualquier cuenta de la base de datos y otros roles de SQL Server a los roles de nivel de base de datos. Cada miembro de un rol fijo de base de datos puede agregar otros usuarios a ese mismo rol.

Permisos del ROL de base de datos. Los permisos de los roles de base de datos definidos por el usuario se pueden personalizar con las instrucciones GRANT, DENY y REVOKE. Para más información, consulte Permisos (motor de base de datos). Para una lista de todos los permisos, consulte el póster Permisos del motor de base de datos. (Los permisos a nivel de servidor no se pueden conceder a los roles de base de datos. Los inicios de sesión y otras entidades de seguridad a nivel de servidor [como roles de servidor] no se pueden agregar a los roles de base de datos. Para la seguridad a nivel de servidor en SQL Server, use en su lugar roles de servidor. Los permisos a nivel de servidor no se pueden conceder a través de roles en Base de datos SQL y Almacenamiento de datos SQL).

Roles fijos de base de datos En la tabla siguiente se muestran los roles fijos de base de datos y sus funcionalidades. Estos roles existen en todas las bases de datos. No se pueden cambiar los permisos asignados a los roles fijos de base de datos.

Nombre del rol fijo de Description base de datos

db_owner

Los miembros del rol fijo de base de datos db_owner pueden realizar todas las actividades de configuración y mantenimiento en la base de datos y también pueden quitar la base de datos en SQL Server. (En Base de datos SQL y Almacenamiento de datos SQL, algunas actividades de mantenimiento requieren permisos a nivel de servidor y los roles db_owners no las pueden realizar).

db_securityadmin

Los miembros del rol fijo de base de datos db_securityadmin pueden modificar la pertenencia a roles y administrar permisos. Si se agregan entidades de seguridad a este rol, podría habilitarse un aumento de privilegios no deseado.

db_accessadmin

Los miembros del rol fijo de base de datos db_accessadmin pueden agregar o quitar el acceso a la base de datos para inicios de sesión de Windows, grupos de Windows e inicios de sesión de SQL Server.

db_backupoperator

Los miembros del rol fijo de base de datos db_backupoperator pueden crear copias de seguridad de la base de datos.

db_ddladmin

Los miembros del rol fijo de base de datos db_ddladmin pueden ejecutar cualquier comando del lenguaje de definición de datos (DDL) en una base de datos.

db_datawriter

Los miembros del rol fijo de base de datos db_datawriter pueden agregar, eliminar o cambiar datos en todas las tablas de usuario.

db_datareader

Los miembros del rol fijo de base de datos db_datareader pueden leer todos los datos de todas las tablas de usuario.

db_denydatawriter

Los miembros del rol fijo de base de datos db_denydatawriter no

Nombre del rol fijo de Description base de datos

pueden agregar, modificar ni eliminar datos de tablas de usuario de una base de datos.

db_denydatareader

Los miembros del rol fijo de base de datos db_denydatareader no pueden leer datos de las tablas de usuario dentro de una base de datos.

No se pu...


Similar Free PDFs