Si creó una base de datos en una versión de Access antes de Access 2007 y aplicó seguridad a nivel de usuario a esa base de datos, dicha configuración de seguridad permanece en su lugar al abrir ese archivo en Access 2007 o posterior. Además, puede iniciar las herramientas de seguridad proporcionadas por Microsoft Office Access 2003 (el Asistente para seguridad de User-Level y los distintos cuadros de diálogo de permisos de usuario y grupo) desde versiones posteriores de Access. En este artículo se explica cómo funcionan las características de seguridad de Access 2003 y cómo iniciarlas y usarlas en Access 2007 o versiones posteriores.
Nota: La información de este artículo se aplica solo a una base de datos creada en Access 2003 o versiones anteriores (un archivo .mdb). La seguridad por usuarios no está disponible para las bases de datos creadas en Access 2007 o en versiones posteriores (archivos .accdb). Además, si convierte el archivo de .mdb al nuevo formato (un archivo .accdb), Access descarta la configuración de seguridad a nivel de usuario.
En este artículo
Cómo se comporta la seguridad por usuarios en Access 2007 o versiones posteriores
Access 2007 y versiones posteriores solo proporcionan seguridad a nivel de usuario para las bases de datos que usan access 2003 y formatos de archivo anteriores (archivos .mdb y .mde). En versiones posteriores, si abre una base de datos creada en una versión anterior de Access y esa base de datos tiene aplicada seguridad a nivel de usuario, esa característica de seguridad funcionará como se ha diseñado para esa base de datos. Por ejemplo, los usuarios deben escribir una contraseña para usar la base de datos.
Además, puede iniciar y ejecutar las diversas herramientas de seguridad proporcionadas por Access 2003 y versiones anteriores, como el Asistente para seguridad de User-Level y los distintos cuadros de diálogo de permisos de usuario y grupo. Durante el proceso, recuerde que esas herramientas estarán disponibles solo al abrir un archivo .mdb o .mde. Si convierte los archivos al formato de archivo .accdb, Access eliminará todas las características de seguridad existentes a nivel de usuario.
Información general sobre la seguridad a nivel de usuario de Access 2003
En las secciones siguientes se proporciona información general sobre la seguridad por usuarios en Access 2003 y versiones anteriores. Si ya está familiarizado con el modelo de seguridad anterior y la seguridad a nivel de usuario, puede omitir estas secciones e ir directamente a Establecer seguridad a nivel de usuario o Quitar seguridad a nivel de usuario, más adelante en este artículo.
Conceptos básicos de la seguridad a nivel de usuario
La seguridad por usuarios en Access se asemeja a los mecanismos de seguridad de los sistemas basados en servidor: usa contraseñas y permisos para permitir o restringir el acceso de individuos o grupos de individuos a los objetos de la base de datos. En Access 2003 o versiones anteriores, al implementar seguridad por usuarios en una base de datos de Access, un administrador de base de datos o el propietario de un objeto pueden controlar las acciones que los usuarios individuales o grupos de usuarios pueden realizar en las tablas, consultas, formularios, informes y macros de la base de datos. Por ejemplo, un grupo de usuarios puede cambiar los objetos de una base de datos, otro grupo solo puede escribir datos en determinadas tablas y un tercer grupo solo puede ver los datos en un conjunto de informes.
La seguridad por usuarios en Access 2003 y versiones anteriores usa una combinación de contraseñas y permisos, un conjunto de atributos que especifica los tipos de acceso que un usuario tiene a los datos u objetos de una base de datos. Puede establecer contraseñas y permisos para individuos o grupos de individuos, y estas combinaciones de contraseñas y permisos se convierten en cuentas de seguridad que definen los usuarios y grupos de usuarios a los que se les permite el acceso a los objetos de la base de datos. A su vez, la combinación de usuarios y grupos se conoce como grupo de trabajo, y Access almacena esa información en un archivo de información de grupo de trabajo. En el inicio, Access lee el archivo de información del grupo de trabajo y aplica los permisos en función de los datos del archivo.
De forma predeterminada, Access proporciona un id. de usuario integrado y dos grupos integrados. El id. de usuario predeterminado es Administración y los grupos predeterminados son Usuarios y Administradores. De forma predeterminada, Access agrega el id. de usuario integrado al grupo Usuarios porque todos los identificadores deben pertenecer al menos a un grupo. A su vez, el grupo Usuarios tiene permisos completos en todos los objetos de una base de datos. Además, el id. de Administración también es miembro del grupo Administradores. El grupo Administradores debe contener al menos un identificador de usuario (debe haber un administrador de base de datos) y el id. de Administración es el administrador de base de datos predeterminado hasta que lo cambie.
Al iniciar Access 2003 o versiones anteriores, Access le asigna el id. de usuario de Administración y, por tanto, le hace miembro de cada grupo predeterminado. Ese id. y esos grupos (Administración y Usuarios) proporcionan a todos los usuarios permisos completos sobre todos los objetos de una base de datos, lo que significa que cualquier usuario puede abrir, ver y cambiar todos los objetos de todos los archivos de .mdb a menos que implemente seguridad por usuarios.
Una forma de implementar la seguridad por usuarios en Access 2003 o versiones anteriores es cambiar los permisos del grupo Usuarios y agregar nuevos administradores a los grupos Administradores. Cuando lo hace, Access asigna automáticamente nuevos usuarios al grupo Usuarios. Al realizar estos pasos, los usuarios deben iniciar sesión con una contraseña cada vez que abran la base de datos protegida. Sin embargo, si necesita implementar seguridad más específica (permitir que un grupo de usuarios escriba datos y otro solo lea esos datos, por ejemplo), debe crear usuarios y grupos adicionales, y concederles permisos específicos para algunos o todos los objetos de la base de datos. Implementar ese tipo de seguridad a nivel de usuario puede convertirse en una tarea compleja. Para simplificar el proceso, Access proporciona el Asistente para seguridad de User-Level, lo que facilita la creación de usuarios y grupos en un proceso de un solo paso.
El Asistente para seguridad de User-Level le ayuda a asignar permisos y crear cuentas de usuario y de grupo. Las cuentas de usuario contienen nombres de usuario y números de identificador personales (PIN) únicos necesarios para administrar los permisos de un usuario para ver, usar o cambiar objetos de base de datos en un grupo de trabajo de Access. Las cuentas de grupo son una colección de cuentas de usuario que, a su vez, residen en un grupo de trabajo. Access usa un nombre de grupo y PID para identificar cada grupo de trabajo, y los permisos asignados a un grupo se aplican a todos los usuarios del grupo. Para obtener más información sobre el uso del asistente, vea Establecer seguridad a nivel de usuario, más adelante en este artículo.
Después de completar el asistente, puede asignar, modificar o quitar manualmente permisos de cuentas de usuario y de grupo en el grupo de trabajo para una base de datos y sus tablas, consultas, formularios, informes y macros existentes. También puede establecer los permisos predeterminados que Access asigna a las nuevas tablas, consultas, formularios, informes y macros que usted u otro usuario agregue a una base de datos.
Archivos de información de grupos de trabajo y grupos de trabajo
En Access 2003 y versiones anteriores, un grupo de trabajo es un grupo de usuarios en un entorno multiusuario que comparten datos. Un archivo de información de grupo de trabajo contiene las cuentas de usuario y de grupo, las contraseñas y los permisos establecidos para cada usuario o grupo de usuarios. Al abrir una base de datos, Access lee los datos del archivo de información del grupo de trabajo y aplica la configuración de seguridad que contiene el archivo. A su vez, una cuenta de usuario es una combinación de nombre de usuario e id. personal (PID) que Access crea para administrar los permisos del usuario. Las cuentas de grupo son colecciones de cuentas de usuario y Access también las identifica por nombre de grupo y un id. personal (PID). Los permisos asignados a un grupo se aplican a todos los usuarios del grupo. Esas cuentas de seguridad pueden entonces tener permisos asignados para bases de datos y sus tablas, consultas, formularios, informes y macros. Los propios permisos se almacenan en la base de datos habilitada para seguridad.
La primera vez que un usuario ejecuta Access 2003 o versiones anteriores, Access crea automáticamente un archivo de información del grupo de trabajo de Access que se identifica por el nombre y la información de la organización que especifica el usuario cuando instala Access. Para Access 2003, el programa de instalación agrega la ubicación relativa de este archivo de información del grupo de trabajo a las siguientes claves del Registro:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
y
HKEY_USERS\.DEFAULT\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
Los usuarios siguientes heredarán la ruta de acceso predeterminada al archivo de grupo de trabajo del valor de la clave del Registro HKEY_USERS. Dado que esta información suele ser fácil de determinar, es posible que los usuarios no autorizados creen otra versión de este archivo de información del grupo de trabajo. En consecuencia, los usuarios no autorizados podrían asumir los permisos irrevocables de una cuenta de administrador (un miembro del grupo administradores) en el grupo de trabajo definido por ese archivo de información del grupo de trabajo. Para evitar que los usuarios no autorizados asuman estos permisos, cree un nuevo archivo de información de grupo de trabajo y especifique un id. de grupo de trabajo (WID), una cadena alfanumérica que distingue mayúsculas de minúsculas de 4 a 20 caracteres y que se escribe al crear un nuevo archivo de información de grupo de trabajo. La creación de un nuevo grupo de trabajo identifica inequívocamente el grupo de Administración para este archivo de grupo de trabajo. Solo una persona que conozca el WID podrá crear una copia del archivo de información del grupo de trabajo. Para crear el nuevo archivo, use el Asistente para seguridad de User-Level.
Importante: Asegúrese de escribir el nombre exacto, la organización y el id. de grupo de trabajo, incluidas las letras mayúsculas o minúsculas (para las tres entradas) y guárdalas en un lugar seguro. Si necesita volver a crear el archivo de información del grupo de trabajo, debe proporcionar exactamente el mismo nombre, la misma organización y el mismo id. de grupo de trabajo. Si olvida o pierde estas entradas, es posible que pierda el acceso a las bases de datos.
Cómo funcionan los permisos y quién puede asignarlos
La seguridad a nivel de usuario reconoce dos tipos de permisos: explícitos e implícitos. Los permisos explícitos son los permisos que se conceden directamente a una cuenta de usuario; ningún otro usuario se ve afectado. Los permisos implícitos son los permisos concedidos a una cuenta de grupo. Al agregar un usuario a ese grupo se conceden los permisos del grupo a ese usuario; quitar un usuario del grupo le quita los permisos del grupo.
Cuando un usuario intenta realizar una operación en un objeto de base de datos que emplea características de seguridad, el conjunto de permisos de ese usuario se basa en la intersección de los permisos explícitos e implícitos de ese usuario. El nivel de seguridad de un usuario es siempre el menos restrictivo de los permisos explícitos de ese usuario y los permisos de cualquiera de los grupos a los que pertenece ese usuario. Por este motivo, la forma menos complicada de administrar un grupo de trabajo es crear nuevos grupos y asignar permisos a los grupos, en lugar de a usuarios individuales. Después, puede cambiar los permisos de los usuarios individuales agregando o quitando esos usuarios de los grupos. Además, si necesita conceder nuevos permisos, puede concederlos a todos los miembros de un grupo en una sola operación.
Los permisos pueden cambiarse para un objeto de base de datos de la siguiente forma:
-
Miembros del grupo Administradores del archivo de información de grupo de trabajo en uso cuando se creó la base de datos.
-
El propietario del objeto.
-
Cualquier usuario que tenga permisos de administración para el objeto.
Aunque es posible que los usuarios no puedan realizar una acción actualmente, es posible que puedan concederse permisos para realizar la acción. Esto es así si un usuario es miembro del grupo Administradores o si un usuario es el propietario de un objeto.
El usuario que crea una tabla, consulta, formulario, informe o macro es el propietario de ese objeto. Además, el grupo de usuarios que pueden cambiar los permisos de la base de datos también puede cambiar la propiedad de estos objetos, o pueden volver a crear estos objetos, ambos son formas de cambiar la propiedad de los objetos. Para volver a crear un objeto, puede hacer una copia del objeto o importarlo desde otra base de datos o exportarlo a ella. Esta es la forma más sencilla de transferir la propiedad de los objetos, incluida la propia base de datos.
Nota: Copiar, importar o exportar no cambia la propiedad de una consulta que tiene su propiedad RunPermissions establecida en Owner's. Solo puede cambiar la propiedad de una consulta si su propiedad RunPermissions se establece en User.
Cuentas de seguridad
Un archivo de información de grupo de trabajo de Access 2003 contiene las siguientes cuentas predefinidas.
Cuenta |
Función |
Administrador |
La cuenta de usuario predeterminada. Esta cuenta es exactamente la misma para cada copia de Access y otros programas que pueden usar el motor de base de datos Microsoft Jet, como Visual Basic para Aplicaciones (VBA) y Microsoft Office Excel 2003. |
Administradores |
Cuenta de grupo del administrador. Esta cuenta es única para cada archivo de información del grupo de trabajo. De forma predeterminada, el usuario Administración es miembro del grupo Administradores. Debe haber al menos un usuario en el grupo Administradores en todo momento. |
Usuarios |
La cuenta de grupo que comprende todas las cuentas de usuario. Access agrega automáticamente cuentas de usuario al grupo Usuarios cuando un miembro del grupo Administradores las crea. Esta cuenta es la misma para cualquier archivo de información de grupo de trabajo, pero contiene solo cuentas de usuario creadas por miembros del grupo de administradores de ese grupo de trabajo. De forma predeterminada, esta cuenta tiene permisos completos en todos los objetos recién creados. La única forma de quitar una cuenta de usuario del grupo Usuarios es que un miembro del grupo Administradores elimine ese usuario. |
En efecto, la seguridad en Access 2003 y versiones anteriores siempre está activa. Hasta que active el procedimiento de inicio de sesión para un grupo de trabajo, Access inicia sesión de forma invisible en todos los usuarios al inicio con la cuenta de usuario predeterminada Administración con una contraseña en blanco. En segundo plano, Access usa la cuenta de Administración como cuenta de administrador del grupo de trabajo. Access usa la cuenta de Administración además del propietario (grupo o usuario) de las bases de datos y tablas, consultas, formularios, informes y macros que se creen.
Los administradores y propietarios son importantes porque tienen permisos que no se pueden quitar:
-
Los administradores (miembros del grupo Administradores) siempre pueden obtener permisos completos para los objetos creados en el grupo de trabajo.
-
Una cuenta que posea una tabla, consulta, formulario, informe o macro siempre puede obtener permisos completos para ese objeto.
-
Una cuenta que posea una base de datos siempre puede abrir esa base de datos.
Como la Administración cuenta de usuario es exactamente la misma para cada copia de Access, los primeros pasos para ayudar a proteger la base de datos son definir cuentas de usuario de administrador y de propietario (o usar una sola cuenta de usuario como cuentas de administrador y de propietario) y, a continuación, quitar la cuenta de usuario Administración del grupo Administradores. De lo contrario, cualquier persona con una copia de Access puede iniciar sesión en su grupo de trabajo con la cuenta de Administración y tener permisos completos para las tablas, consultas, formularios, informes y macros del grupo de trabajo.
Puede asignar tantas cuentas de usuario como desee al grupo Administradores, pero solo una cuenta de usuario puede ser la propietaria de la base de datos: la cuenta de propietario es la cuenta de usuario activa cuando se crea la base de datos o cuando se transfiere la propiedad mediante la creación de una base de datos y la importación de todos los objetos de una base de datos en ella. Sin embargo, las cuentas de grupo pueden ser propietarios de tablas, consultas, formularios, informes y macros dentro de una base de datos.
Consideraciones al organizar cuentas de seguridad
-
Solo las cuentas de usuario pueden iniciar sesión en Access; no puede iniciar sesión con una cuenta de grupo.
-
Las cuentas que cree para los usuarios de la base de datos deben estar almacenadas en el archivo de información del grupo de trabajo al que se unirán dichos usuarios cuando usen la base de datos. Si usa un archivo diferente para crear la base de datos, cambie el archivo antes de crear las cuentas.
-
Asegúrese de crear una contraseña única para sus cuentas de administrador y de usuario. Un usuario que puede iniciar sesión con la cuenta de administrador siempre puede obtener permisos completos para las tablas, consultas, formularios, informes y macros que se crearon en el grupo de trabajo. Un usuario que puede iniciar sesión con una cuenta de propietario siempre puede obtener permisos completos para los objetos propiedad de ese usuario.
Después de crear cuentas de usuario y de grupo, puede ver e imprimir las relaciones entre ellas. Access imprime un informe de las cuentas del grupo de trabajo que muestra los grupos a los que pertenece cada usuario y los usuarios que pertenecen a cada grupo.
Nota: Si usa un archivo de información de grupo de trabajo creado con Microsoft Access 2.0, debe iniciar sesión como miembro del grupo Administradores para imprimir información de usuario y de grupo. Si el archivo de información del grupo de trabajo se creó con Microsoft Access 97 o versiones posteriores, todos los usuarios del grupo de trabajo pueden imprimir información de usuarios y grupos.
Establecer seguridad a nivel de usuario
Los pasos descritos en esta sección explican cómo iniciar y ejecutar el Asistente para seguridad de User-Level. Recuerde que estos pasos solo se aplican a las bases de datos que tienen un formato de archivo de Access 2003 o una versión anterior, abiertas en Access 2007 o versiones posteriores.
Importante: En Access 2007 o versiones posteriores, si utiliza el asistente de seguridad de User-Level para especificar un archivo de información de grupo de trabajo predeterminado, también debe utilizar el modificador de línea de comandos /WRKGP para apuntar a su archivo de información de grupo de trabajo al iniciar Access. Para obtener más información sobre cómo usar un modificador de línea de comandos con Access, vea el artículo Modificadores de línea de comandos para productos de Microsoft Office.
Iniciar el Asistente para seguridad de User-Level
-
Abra el archivo .mdb o .mde que desea administrar.
-
En la pestaña Herramientas de base de datos , en el grupo Administrar , haga clic en la flecha situada debajo de Usuarios y permisos y, a continuación, haga clic en Asistente para seguridad a nivel de usuario.
-
Siga los pasos de cada página para completar el asistente.
Notas:
-
El Asistente para seguridad de User-Level crea una copia de seguridad de la base de datos actual de Access con el mismo nombre y una extensión de nombre de archivo de .bak y, a continuación, emplea medidas de seguridad para los objetos seleccionados en la base de datos actual.
-
Si la base de datos actual de Access ayuda a proteger código vba con una contraseña, el asistente le pide la contraseña, que debe especificar para que el asistente complete su operación correctamente.
-
Las contraseñas que cree a través del asistente se imprimirán en el informe del Asistente para seguridad de User-Level, que se imprimirá cuando termine de usar el asistente. Debe mantener este informe en una ubicación segura. Puede usar este informe para volver a crear el archivo de grupo de trabajo si se pierde o resulta dañado.
-
Quitar la seguridad a nivel de usuario
Para quitar la seguridad por usuarios mientras trabaja en Access 2007 o versiones posteriores, guarde el archivo .mdb como un archivo .accdb.
Guarde una copia del archivo en . Formato ACCDB
-
Haga clic en la pestaña Archivo. Se abrirá la vista Backstage.
-
A la izquierda, haga clic en Compartir.
-
A la derecha, haga clic en Guardar base de datos como y, a continuación, haga clic en Base de datos de Access (*.accdb).
Aparecerá el cuadro de diálogo Guardar como.
-
Use la lista Guardar en para buscar una ubicación en la que guardar la base de datos convertida.
-
En la lista Guardar como tipo , seleccione Base de datos de Access 2007-2016 (*.accdb).
-
Haga clic en Guardar.
Nota: Si usa Access 2007, haga clic en el botón Microsoft Office y, a continuación, haga clic en Convertir para abrir el cuadro de diálogo Guardar en para guardar la base de datos en . Formato de archivo ACCDB.
Referencia de permisos de objeto
En la tabla siguiente se enumeran los permisos que puede establecer para una base de datos y los objetos de la base de datos, y se describe el efecto o el resultado de usar cada configuración de permisos.
Permiso |
Se aplica a estos objetos |
Resultado |
Abrir o ejecutar |
Toda la base de datos, formularios, informes, macros |
Los usuarios pueden abrir o ejecutar el objeto, incluidos los procedimientos de los módulos de código. |
Abrir en modo exclusivo |
Toda la base de datos |
Los usuarios pueden abrir una base de datos y bloquear a otros usuarios. |
Leer Diseño |
Tablas, consultas, formularios, macros, módulos de código |
Los usuarios pueden abrir los objetos enumerados en la vista Diseño. Nota: Siempre que conceda acceso a los datos de una tabla o consulta asignando otro permiso, como Leer datos o Actualizar datos, también concede permisos de Diseño de lectura porque el diseño debe ser visible para presentar y ver correctamente los datos. |
Modificar diseño |
Tablas, consultas, formularios, macros, módulos de código |
Los usuarios pueden cambiar el diseño de los objetos enumerados. |
Administrar |
Toda la base de datos, tablas, consultas, formularios, macros, módulos de código |
Los usuarios pueden asignar permisos a los objetos enumerados, incluso cuando el usuario o grupo no son propietarios del objeto. |
Leer datos |
Tablas, consultas |
Los usuarios pueden leer los datos de una tabla o consulta. Para conceder a los usuarios permisos para leer consultas, también debe concederles permisos para leer las tablas o consultas principales. Esta configuración implica el permiso Leer diseño, lo que significa que los usuarios pueden leer la tabla o el diseño de consulta además de los datos. |
Actualizar datos |
Tablas, consultas |
Los usuarios pueden actualizar los datos de una tabla o consulta. Los usuarios deben tener permisos para actualizar la tabla o las consultas principales. Esta configuración implica los permisos Diseño de lectura y Leer datos. |
Insertar datos |
Tablas, consultas |
Los usuarios pueden insertar datos en una tabla o consulta. Para las consultas, los usuarios deben tener permisos para insertar datos en las tablas o consultas principales. Esta configuración implica los permisos Leer datos y Diseño de lectura. |
Eliminar datos |
Tablas, consultas |
Los usuarios pueden eliminar datos de una tabla o consulta. Para las consultas, los usuarios deben tener permisos para eliminar datos de las tablas o consultas principales. Esta configuración implica los permisos Leer datos y Diseño de lectura. |