Proteger bases de datos > Crear y gestionar conjuntos de privilegios > Editar privilegios de acceso a registros
 
Editar privilegios de acceso a registros
Los conjuntos de privilegios pueden limitar el acceso a los registros de un archivo. En un archivo, puede configurar:
Privilegios para todas las tablas: puede limitar si un conjunto de privilegios permite crear, editar y eliminar registros en todas las tablas del archivo.
Privilegios personalizados para tablas individuales: puede configurar límites de acceso a registros individuales para cada tabla. Por ejemplo, el conjunto de privilegios puede limitar la posibilidad de:
Ver, editar, crear o eliminar todos los registros en cada tabla.
Ver, editar y eliminar determinados registros en cada tabla. Los privilegios se limitan por medio de un cálculo que devuelve un resultado booleano para cada registro. Cuando el cálculo se evalúa como True, se permite el acceso a esa actividad en concreto (como ver el registro). Cuando el cálculo se evalúa como False, se prohíbe el acceso a esa actividad.
Acceder o modificar determinados campos en cada tabla. Cuando se restringe el acceso a uno o más campos de una tabla que, por lo demás, está visible, el usuario verá <Sin acceso> en lugar de los datos del campo.
Sólo puede configurar los privilegios de acceso a registros para las tablas definidas en el archivo actual. Si el archivo contiene relaciones con tablas de otros archivos que desea proteger, debe crear cuentas y conjuntos de privilegios en los demás archivos para proteger esas tablas. Consulte Cuentas, conjuntos de privilegios y privilegios ampliados.
Para editar privilegios de acceso a registros para todas las tablas:
1. Modifique primero un conjunto de privilegios nuevo o existente en el cuadro de diálogo Editar conjunto de privilegios.
Consulte Crear y gestionar conjuntos de privilegios.
2. En la sección Registros del área Acceso a datos y diseño, seleccione una opción.
 
Editar el conjunto de privilegios para
Seleccione
Permitir la creación, la modificación y la eliminación de registros en todas las tablas
Crear, editar y eliminar en todas las tablas
Permitir sólo la creación y edición de registros (prohibir la eliminación de registros) en todas las tablas
Crear y editar en todas las tablas
Permitir sólo la vista de registros (prohibir la creación, edición y eliminación de registros) en todas las tablas
Ver solo en todas las tablas
Prohibir el acceso a los registros en todas las tablas
Todo sin acceso
3. Haga clic en Aceptar y, a continuación, de nuevo en Aceptar en el cuadro de diálogo Gestionar seguridad.
Para asignar el conjunto de privilegios a una o más cuentas, consulte Crear y editar cuentas.
Para editar privilegios de acceso a registros para tablas individuales:
1. Modifique primero un conjunto de privilegios nuevo o existente en el cuadro de diálogo Editar conjunto de privilegios.
Consulte Crear y gestionar conjuntos de privilegios.
2. En la sección Registros del área Acceso a datos y diseño, seleccione Privilegios personalizados.
3. En el cuadro de diálogo Privilegios de registro personalizados, seleccione las tablas cuyos privilegios personalizados desee editar. (O bien seleccione Cualquier tabla nueva para configurar los privilegios de cualquier tabla creada posteriormente.)
4. Para establecer privilegios personalizados para ver, editar, crear y eliminar registros, seleccione una de las opciones siguientes en las listas Vista, Edición, Crear y Eliminar del área Establecer privilegios:
 
Seleccione
Para
Permitir el privilegio (ver, editar, crear o eliminar registros).
Limitado (disponible cuando sólo se selecciona una tabla)
Permitir o prohibir el privilegio (ver, editar y eliminar registros) para determinados registros dentro de la tabla.
En el cuadro de diálogo Especificar cálculo, introduzca un cálculo y haga clic en Aceptar. Consulte Introducir una fórmula para limitar el acceso registro a registro a continuación.
No
Prohibir el privilegio (ver, editar, crear o eliminar registros).
Nota  Impide la creación de combinaciones inconsistentes para ver, editar, crear o eliminar privilegios. Por ejemplo, es muy probable que no quiera que los usuarios eliminen registros que no pueden ver.
5. Para limitar el acceso o la modificación de ciertos campos dentro de una tabla, continúe en el paso siguiente. De lo contrario, haga clic en Aceptar y vaya al paso 9.
6. Seleccione la tabla que contiene los campos cuyo acceso quiere limitar. Después, en Acceso a campos, seleccione Limitado.
7. En el cuadro de diálogo Privilegios de campo personalizados, seleccione los campos cuyo acceso quiere limitar (o seleccione Cualquier campo nuevo para establecer privilegios personalizados para cualquier campo creado posteriormente). A continuación, seleccione una de las opciones siguientes:
 
Seleccione
Para
Modificable
Permitir la vista y edición de los datos del campo.
Solo vista
Permitir la vista de los datos del campo. (No se permite la edición de los datos del campo.)
Sin acceso
Se prohíbe el acceso al campo.
Nota  Cuando se prohíbe el acceso a uno o más campos de una tabla que, por lo demás, está visible, el usuario verá <Sin acceso> en lugar de los datos del campo.
8. Haga clic dos veces en Aceptar.
Aparece el cuadro de diálogo Editar conjunto de privilegios.
9. Haga clic en Aceptar y, a continuación, de nuevo en Aceptar en el cuadro de diálogo Gestionar seguridad.
Notas 
Los usuarios que no pueden ver ciertos registros pueden navegar por ellos, pero verán <Sin acceso> en lugar de los datos del campo dentro de cada registro.
Muchas funciones de FileMaker Pro se ven afectadas cuando limita el acceso a los registros, los campos y las tablas dentro de un archivo. La tabla siguiente resume los efectos en algunas funciones.
 
Función
Efecto de limitar el acceso a los datos
Actualizaciones y reactualizaciones
Las búsquedas y las nuevas búsquedas están definidas por tres componentes, que se ven afectados todos ellos por los privilegios de acceso a los datos:
Como mínimo, los campos coincidentes usados en la relación deben tener privilegios de visualización. Además, no se producirá ninguna búsqueda en ningún registro que no se pueda ver en las tablas de origen y de destino, porque no puede producirse ninguna coincidencia en estas circunstancias. Esto incluye el primer registro coincidente relacionado, así como cualquier registro empleado para copiar el siguiente valor inferior o superior.
Como mínimo, el campo de origen de la búsqueda debe tener privilegios de visualización.
El campo de destino de la búsqueda debe tener privilegios de edición.
FileMaker Pro no muestra ningún mensaje de error si una operación de búsqueda omite ciertos registros debido a las restricciones del privilegio de acceso.
Acceso a datos relacionados
Como mínimo, los dos campos coincidentes en una relación deben tener privilegios de visualización para que funcione la relación. Cualquier campo relacionado que desee mostrar basándose en los campos coincidentes también debe tener, como mínimo, privilegios de visualización.
Búsquedas
El conjunto encontrado siempre se filtra para mostrar sólo aquellos registros que tengan, como mínimo, privilegios de visualización. Los resultados de la función Get (FoundCount) también se ven afectados si se limita el acceso.
Cuando una lista de valores se basa en el contenido de un campo y se prohíben los privilegios de visualización en el campo, la lista de valores no muestra ningún valor. De esta forma, los usuarios no pueden acceder por descuido a información confidencial. Los resultados de la función ValueListItems también se ocultan cuando el acceso es limitado.
Los resultados mostrados en los campos de sumario y en los campos calculados que resumen varios registros excluirán los datos de los registros cuyos privilegios de visualización se hayan prohibido.
Buscar/Reemplazar, Reemplazar contenido y comprobación ortográfica
Un usuario sólo puede cambiar datos con estas funciones en:
los registros que tengan privilegios de edición.
los campos que sean modificables.
Guiones
Puede configurar una opción para que un guión se ejecute con privilegios de acceso total, lo que permite al guión ejecutar operaciones que normalmente no podría hacer un usuario con privilegios limitados. Si no activa esta opción, cualquier paso de guión que intente acceder a los datos restringidos o modificarlos presentará errores. Consulte Crear y editar guiones.
Eventos de Apple
Los privilegios de acceso a los datos pueden afectar a la capacidad del usuario de obtener, establecer y eliminar datos mediante eventos de Apple. Algunos comandos de los eventos de Apple pueden fallar si el usuario no dispone de los privilegios de acceso apropiados.
Introducir una fórmula para limitar el acceso registro a registro
Para permitir o prohibir los privilegios de visualización, edición y eliminación para determinados registros de una tabla, debe especificar un cálculo booleano que determine cuándo se permite el privilegio. Para cada registro de la base de datos, se permite el acceso cuando el cálculo se evalúa como True o un resultado distinto de cero y se prohíbe el acceso cuando el cálculo se evalúa como False o cero. A continuación se muestran dos ejemplos:
Para limitar el acceso a sólo aquellos registros creados por la cuenta actual: defina un campo de texto llamado Registro_creado_por y configure la opción de introducción automática para que el campo introduzca automáticamente el nombre de cuenta al crear el registro. (Consulte Definir la entrada de datos automática). Después utilice el cálculo siguiente al definir privilegios de acceso personalizados para el registro:
Registro_creado_por = Get ( AccountName )
El usuario sólo tendrá acceso de visualización a aquellos registros cuyo cálculo anterior se evalúe como True.
Para limitar el acceso a sólo aquellos registros creados en la fecha actual: defina un campo de fecha llamado Fecha_creación_registro y configure la opción de introducción automática para que el campo introduzca la fecha de creación cuando se cree el registro. (Consulte Definir la entrada de datos automática). Después utilice el cálculo siguiente al definir privilegios de acceso personalizados para el registro:
Fecha_creación_registro= Get ( CurrentDate )
El usuario sólo tendrá acceso de visualización a aquellos registros cuyo cálculo anterior se evalúe como True.
Consejo  Si especifica un cálculo para prohibir la vista de ciertos registros dentro de una tabla, en la mayoría de los casos debería usar el mismo cálculo para prohibir la edición y la eliminación de los mismos tipos de registros. En caso contrario, los usuarios podrían editar o eliminar por descuido registros que no pueden ver.
Notas 
El cálculo booleano que determina los privilegios de acceso a los registros puede tener resultados inesperados, en particular si está basado en un campo editable por el usuario. Por ejemplo, es posible que un usuario con privilegios de acceso únicamente para ciertos registros deniegue por equivocación el acceso a un registro después de editarlo. El usuario podría realizar un cambio en el contenido de un registro que modifique el resultado del cálculo booleano de acceso al registro para que se evalúe como "false", por lo que el usuario ya no podría ver, editar ni eliminar el registro una vez que salga de él.
Como los cambios se consignan tan pronto como el usuario sale del registro, el usuario que realice cambios de este tipo no podrá volver al registro. (En la mayoría de los casos, debería basar los cálculos de acceso a los registros en campos que no sean directamente editables por los usuarios, como campos de introducción automática que contengan nombres de cuenta, fechas de creación y fechas de modificación.)
Además, si se comparte el archivo y el cálculo booleano que determina los privilegios de acceso a registros contiene uno o varios campos globales, se puede mejorar el rendimiento de la red transfiriendo algunos campos globales a una tabla independiente. Consulte la sección Notas en Definir campos globales (campos con almacenamiento global).
Para poder ofrecer una compatibilidad total con varias ventanas que contienen sus propios conjuntos encontrados, los valores de sumario forman parte del conjunto encontrado. Un registro puede aparecer en varias ventanas y cada una de ellas tiene su propio conjunto encontrado y tipo de ordenación. Estos son los motivos por los que no debe basar los cálculos de privilegios en funciones de sumario ni en funciones Obtener basadas en valores que empleen un conjunto encontrado determinado.