Modification des privilèges d'accès aux enregistrementsLes jeux de privilèges permettent de limiter l'accès aux enregistrements d'un fichier. Pour un fichier, vous pouvez définir :
• Des privilèges pour toutes les tables : vous pouvez déterminer si un jeu de privilèges autorise la création, la modification et la suppression d'enregistrements dans toutes les tables d'un fichier.
• Des privilèges personnalisés pour des tables individuelles : vous pouvez définir les droits d'accès d'enregistrements individuels pour chaque table. Par exemple, le jeu de privilèges vous permet de limiter la possibilité de :
• Visualiser, modifier et supprimer certains enregistrements de chaque table. Les privilèges sont limités au moyen d'un calcul renvoyant un résultat booléen pour chaque enregistrement. Lorsque le calcul renvoie la valeur Vrai, l'accès est autorisé pour l'opération correspondante (telle que la visualisation de l'enregistrement). Lorsque la valeur renvoyée par le calcul est Faux, l'accès est refusé pour cette opération.
• La consultation ou la modification de certaines rubriques dans chaque table. Lorsque l'accès à une ou à plusieurs rubriques est interdit dans une table visible, l'utilisateur voit s'afficher la mention <Accès refusé> à la place des données de rubrique.Les privilèges liés aux enregistrements ne peuvent être configurés que pour les tables définies dans le fichier actif. Si le fichier contient des liens vers des tables d'autres fichiers que vous souhaitez protéger, vous devez créer des comptes et des jeux de privilèges dans les autres fichiers pour protéger ces tables. Pour plus d'informations, consultez la rubrique Protection des bases de données.Pour plus d'informations, consultez la rubrique Création de jeux de privilèges ou Modification de jeux de privilèges existants.
2. Dans la boîte de dialogue Modifier le jeu de privilèges, sélectionnez l'une des options suivantes dans la liste Enregistrements :
Autorise la création, la modification et la suppression des enregistrements dans toutes les tables Créer, modif. et suppr. dans toutes les tables, puis passez à l'étape 10. Autorise uniquement la création et la modification des enregistrements (et non leur suppression) dans toutes les tables Créer et modif. dans toutes les tables, puis passez à l'étape 10. Autorise uniquement la visualisation des enregistrements (et non leur création, modification ou suppression) dans toutes les tables Lecture seule dans toutes les tables, puis passez à l'étape 10. Interdise l'accès aux enregistrements dans toutes les tables Accès refusé pour tous, puis passez à l'étape 10. Crée des privilèges d'accès personnalisés aux enregistrements pour des tables individuelles Privilèges personnalisés, puis passez à l'étape ci-dessous.
3. Dans la boîte de dialogue Privilèges personnalisés d'accès aux enregistrements, sélectionnez une ou plusieurs tables dont vous souhaitez modifier les privilèges personnalisés. Vous avez également la possibilité de sélectionner Toute nouvelle table afin de définir les privilèges pour toutes les tables que vous créerez par la suite.La boîte de dialogue Privilèges personnalisés d'accès aux enregistrements présente les tables du fichier ainsi que les privilèges personnalisés pour chacune des tables. Pour modifier les privilèges, commencez par sélectionner les tables à modifier, puis choisissez les privilèges dans la zone Privilèges située dans la partie inférieure de la boîte de dialogue.
• Pour sélectionner plusieurs tables, cliquez sur chaque nom avec la touche Ctrl (Windows) ou Command (Mac OS) enfoncée.
• Pour sélectionner une série de tables contiguës, cliquez sur le premier nom de table, puis maintenez la touche Maj enfoncée tout en cliquant sur le dernier nom de la série.
• Pour sélectionner toutes les tables, cliquez sur le bouton Sélectionner tout.
4. Pour configurer des privilèges personnalisés pour la visualisation, la modification, la création et la suppression d'enregistrements, sélectionnez l'une des options ci-dessous dans les zones de liste Affichage, Edition, Création et Suppression de la zone Privilèges :
Accorder le privilège (affichage, modification, création ou suppression d'enregistrements). Limité (option disponible lorsqu'une seule table est sélectionnée) Accorder ou refuser le privilège (affichage, modification et suppression d'enregistrements) pour certains enregistrements de la table.Dans la boîte de dialogue Calcul, entrez un calcul, puis cliquez sur OK. Pour plus de détails sur la définition du calcul, consultez la rubrique Saisie d'une formule pour les restrictions d'accès à des enregistrements individuels ci-dessous. Refuser le privilège (affichage, modification, création ou suppression d'enregistrements).Remarque Evitez de créer des combinaisons incohérentes de privilèges d'affichage, de modification, de création et de suppression. Par exemple, il est inutile d'autoriser des utilisateurs à supprimer des enregistrements qu'ils ne peuvent pas visualiser.
5. Pour limiter la consultation ou la modification de certaines rubriques dans une table, passez à l'étape ci-dessous. Dans le cas contraire, passez à l'étape 9.
6. Sélectionnez la table contenant les rubriques dont vous souhaitez limiter l'accès. Dans la zone Rubriques, sélectionnez l'option limité.
7. Dans la boîte de dialogue Privilèges personnalisés d'accès aux rubriques, sélectionnez chaque rubrique dont vous souhaitez limiter l'accès. Vous avez également la possibilité de sélectionner Toute nouvelle rubrique afin de définir les privilèges personnalisés pour toutes les rubriques que vous créez par la suite). Puis sélectionnez l'une des options suivantes :
Lecture seule Accès refusé Remarque Lorsque l'accès à une ou plusieurs rubriques est interdit dans une table visible, l'utilisateur voit s'afficher la mention <Accès refusé> à la place des données de rubrique.
8. Cliquez sur OK.
9. Cliquez sur OK.Pour plus de détails sur les différents privilèges que vous pouvez définir, consultez les rubriques :
• Si vous avez terminé de configurer les comptes et les privilèges, cliquez sur OK. Dans la boîte de dialogue qui s'affiche, entrez un nom de compte et un mot de passe bénéficiant du jeu de privilèges Accès intégral, puis cliquez sur OK.
•
• Dans les boîtes de dialogue Privilèges personnalisés d'accès aux enregistrements et Privilèges personnalisés d'accès aux rubriques, vous pouvez modifier l'ordre des tables ou des rubriques dans la liste en cliquant sur l'en-tête de l'une des colonnes. Pour permuter entre l'ordre croissant et décroissant, cliquez de nouveau sur l'en-tête.
• Si vous interdisez la création d'enregistrements dans un fichier ou dans une table, la duplication d'enregistrements est également interdite.
• Les utilisateurs non autorisés à visualiser certains enregistrements peuvent malgré tout parcourir ces derniers, mais voient s'afficher la mention <Accès refusé> à la place des données de rubrique dans chaque enregistrement.
• La limitation de l'accès aux enregistrements, rubriques et tables d'un fichier affecte de nombreuses fonctionnalités de FileMaker Pro. Le tableau ci-après récapitule les effets de cette limitation sur certaines de ces fonctions.
Références externes et mise à jour des références Les références externes et les mises à jour des références sont définies par trois composants qui sont tous susceptibles d'être affectés par les privilèges d'accès aux données :
• Les rubriques sources utilisées dans le lien doivent disposer au minimum de privilèges d'affichage. En outre, aucune référence externe n'est effectuée pour les enregistrements non affichables à la fois dans les tables source et cible car aucune correspondance n'est possible dans ce cas. Ceci concerne le premier enregistrement correspondant lié, ainsi que tous les enregistrements utilisés pour copier la valeur supérieure ou inférieure suivante.
• La rubrique source de la référence externe doit bénéficier au minimum de privilèges d'affichage.FileMaker Pro n'affiche aucun message d'erreur si une opération de référence externe ignore certains enregistrements en raison de limitations des jeux d'accès. Accès aux données liées Les deux rubriques correspondantes d'un lien doivent au moins disposer de privilèges d'affichage pour que le lien fonctionne. Les rubriques liées que vous souhaitez afficher en fonction des rubriques correspondantes doivent également bénéficier de privilèges d'affichage au minimum. Le jeu d'enregistrements trouvés est toujours filtré de façon à ne présenter que les enregistrements disposant au moins de privilèges d'affichage. Les résultats de la fonction Obtenir ( NombreEnregTrouvés ) sont également affectés si l'accès est limité. Lorsqu'une liste de valeurs est basée sur le contenu d'une rubrique, et que les privilèges d'affichage sont refusés pour la rubrique, la liste n'affiche aucune valeur. Ceci permet d'éviter que des utilisateurs n'accèdent accidentellement à des informations confidentielles. Les résultats de la fonction ElémentsListeValeurs sont également masqués lorsque l'accès est limité. Les résultats affichés dans les rubriques Statistique et Calcul qui effectuent un récapitulatif sur plusieurs enregistrements excluent les données des enregistrements ne disposant pas de privilèges d'affichage. Fonctions Rechercher et remplacer, Remplacer le contenu et Orthographe Vous pouvez définir une option d'exécution d'un script avec des privilèges en accès intégral, permettant à un script d'effectuer des opérations qui seraient normalement interdites à un utilisateur doté de privilèges limités. Si vous n'activez pas cette option, toutes les actions de script qui tenteront d'afficher ou de modifier des données à accès restreint échoueront. Pour plus d'informations, consultez la rubrique Création et modification de scripts. Les privilèges d'accès aux données peuvent affecter la capacité d'un utilisateur à récupérer, définir et supprimer des données à l'aide d'Apple Event. Certaines commandes Apple Event risquent d'échouer si l'utilisateur ne dispose pas des privilèges d'accès appropriés.Pour accorder ou refuser les privilèges d'affichage, de modification et de suppression pour certains enregistrements d'ne table, vous devez définir un calcul booléen déterminant si le privilège est ou non accordé. L'accès à chaque enregistrement de la base de données est accordé lorsque le calcul renvoie la valeur Vrai ou une valeur différente de zéro. Il est en revanche refusé si le calcul renvoie la valeur Faux ou zéro. En voici deux exemples :
• Pour limiter l'accès aux seuls enregistrements créés par le compte en cours : définissez une rubrique Texte intitulée Enregistrement_Créé_Par, puis configurez l'option de saisie automatique de cette rubrique pour que le nom de compte soit automatiquement entré lors de la création de l'enregistrement. Pour plus de détails, consultez la rubrique Définition de l'entrée automatique de données. Puis utilisez le calcul ci-après lors de la définition des privilèges d'accès personnalisés pour les enregistrements :L'utilisateur sera doté de privilèges de consultation uniquement pour les enregistrements pour lesquels le calcul ci-dessus renvoie la valeur Vrai.
• Pour limiter l'accès aux seuls enregistrements créés à la date du jour : définissez une rubrique Date intitulée Date_création_enregistrement, puis configurez l'option de saisie automatique de cette rubrique pour que la date de création soit automatiquement entrée lors de la création de l'enregistrement. Pour plus de détails, consultez la rubrique Définition de l'entrée automatique de données. Puis utilisez le calcul ci-après lors de la définition des privilèges d'accès personnalisés pour les enregistrements :L'utilisateur sera doté de privilèges de consultation uniquement pour les enregistrements pour lesquels le calcul ci-dessus renvoie la valeur Vrai.Conseil Si vous définissez un calcul pour qu'il interdise l'affichage de certains enregistrements d'une table, vous devez généralement utiliser le même calcul pour interdire la modification et la suppression des mêmes types d'enregistrements. Dans le cas contraire, vous risquez par mégarde d'autoriser des utilisateurs à modifier ou supprimer des enregistrements qu'ils ne peuvent pas visualiser.
• Le calcul booléen déterminant les privilèges d'accès aux enregistrements peut produire des résultats inattendus, notamment s'il repose sur une rubrique modifiable par les utilisateurs. Par exemple, il est possible qu'un utilisateur doté de privilèges d'accès pour certains enregistrements uniquement se refuse accidentellement l'accès à un enregistrement après avoir modifié ce dernier. En effet, l'utilisateur pourrait modifier le contenu d'un enregistrement de façon telle que le calcul booléen pour l'accès aux enregistrements renvoie la valeur Faux ; en conséquence, l'utilisateur ne serait plus en mesure de visualiser, modifier ou supprimer l'enregistrement après en être sorti. Les modifications étant validées dès qu'un utilisateur quitte un enregistrement, l'utilisateur ne pourra plus rouvrir l'enregistrement après avoir effectué ce type de changement. Dans la majorité des cas, vous devez baser les calculs d'accès aux enregistrements sur des rubriques non modifiables par les utilisateurs, telles que les rubriques à saisie automatique contenant des noms de compte, des dates de création ainsi que des dates de modification.En outre, si le fichier est partagé et que le calcul booléen déterminant les privilèges d'accès aux enregistrements contient une ou plusieurs rubriques de type Global, vous pouvez améliorer les performances réseau en déplaçant certaines rubriques Global dans une table distincte. Pour plus d'informations, consultez la section Remarques de la rubrique Définition de rubriques Global (rubriques avec stockage global).
• Afin de prendre en charge intégralement les fenêtres multiples possédant leurs propres jeux d'enregistrements trouvés, les valeurs récapitulatives font partie des jeux d'enregistrements trouvés. Il n'existe pas de valeur récapitulative unique pour un fichier unique comme dans FileMaker Pro 6 et dans les versions antérieures. Un même enregistrement peut apparaître dans plusieurs fenêtres et chaque fenêtre possède son propre jeu d'enregistrements trouvés et son propre ordre de tri. Pour ces raisons, ne faites pas reposer les calculs de privilèges sur des fonctions récapitulatives ni sur des fonctions d'obtention qui font appel à des valeurs employant un jeu d'enregistrements trouvés précis.