La sécurité des données dans Salesforce partie 2 : le contrôle de l’accès aux objets et champs

Si, dans une première partie, nous avons tenté de vous donner quelques outils pour protéger l’accès de extérieur à votre organisation, nous nous focaliserons dans les prochains articles sur la protection des données en interne. Objets, champs, enregistrements : voici les trois niveaux sur lesquels Salesforce permet de placer le curseur de contrôle. Nous nous attarderons ici sur les deux premiers.

Objets, champs, enregistrements… comprendre le lexique de Salesforce

1) Profil Vs ensemble d’autorisations

Pour définir le niveau d’accès à un objet et/ou un champ, deux possibilités s’offrent à vous : le profil et/ou l’ensemble d’autorisations. Ces options sont complémentaires. Le profil regroupe des utilisateurs ayant un ensemble de paramètres et d’autorisations identiques. Il s’agit bien souvent de personnes d’un même service. Un ensemble d’autorisation, quant à lui, est applicable à n’importe quel utilisateur. Il permet donc d’étendre des autorisations quel que soit le profil.

En résumé, l‘utilisateur ne peut avoir qu’un seul profil, mais il peut avoir plusieurs ensembles d’autorisations.

Par ailleurs, le profil est utilisé pour restreindre l’accès là où l’ ensemble d’autorisations permet à l’utilisateur d’obtenir des autorisations supplémentaires.

Exemple typique : vos utilisateurs comptent des assistants en administration des ventes. Ces salariés ont donc un profil identique. Ce profil, appelé “Service ADV”, permet d’accéder aux objets commandes/factures/comptes/contacts. Mais parmi ces salariés, on a confié une mission commerciale temporaire à une personne. Or le profil “Service commercial” donne accès quant à lui à pistes/opportunités/devis/comptes/contacts. La solution : créer un ensemble d’autorisations sur les objets pistes/opportunités/devis et l’appliquer à la personne en question le temps de sa mission. Cet ensemble pourra également donner un accès plus limité aux champs de ces objets.

2) Définir le contrôle d’accès du profil…

… pour un objet

Rendez vous dans Configuration>Utilisateurs>profils. Choisissez le profil et cliquez sur modifier. Scrollez jusqu’à la partie “Autorisations de l’objet standard” puis “Autorisations de l’objet personnalisé”. Vous arrivez sur un tableau récapitulant tous les objets de votre org :

Vous aurez 4 niveaux d’accès aux données :

  • Lire : l’utilisateur ne peut qu’accéder aux enregistrements existants de l’objet
  • Créer : l’utilisateur peut créer un nouvel enregistrement de l’objet (et “Lire” de facto)
  • Modifier : l’utilisateur peut modifier les enregistrements existants de l’objet (et “Lire” de facto mais pas forcément “Créer”)
  • Supprimer : l’utilisateur peut supprimer les enregistrements existants de l’objet (donc “Lire” et “Modifier” de facto mais pas forcément “Créer”)

Les cases “Afficher tout” et “modifier tout” remplacent tous les autres paramètres de partage (que l’on abordera dans un troisième article). Soyez donc prudent lorsque vous les attribuez. 

A savoir : certains profils comme “Profil standard” sont préconfigurés par Salesforce et la partie “autorisations d’objet” n’est donc pas modifiable. Si vous attribuez ces profils, il vous faudra par conséquent créer des ensembles d’autorisations à leur appliquer.

… pour un champ

Restez sur le profil souhaité. Scrollez jusqu’à Sécurité au niveau du champ et cliquez sur “afficher” l’objet pour lequel vous souhaitez mettre à jour les paramètres de champ.

Cliquez sur Modifier .

Pour chaque champ, spécifiez le type d’accès souhaité pour les utilisateurs disposant de ce profil. 3 possibilités :

  • ils n’ont aucun accès (tout décocher)
  • ils peuvent lire les informations contenues dans ce champ
  • ils peuvent modifier les informations contenues dans ce champ (et donc les lire de facto)

Nous sommes donc là à un niveau de détail très poussé.

A noter : vous pouvez passer par Gestionnaire d’objet>[nom_objet]>champs et relations>[champs]>Afficher l’accessibilité du champs> [champs]. Vous retrouverez les 3 possibilités décrites précédemment : tout décocher pour ne donner aucun accès (le champs passe en “masqué”), “Visible” pour le passer en modifiable et “Lecture seule” (et de facto “Visible”) pour être seulement lu. Cet accès est pratique lorsque vous venez de créer un champ et souhaitez définir des accès spécifiques. En dehors de ce cas de figure, nous le déconseillons car le lexique employé par Salesforce prête à confusion.

Quant à la présentation de page, nous y reviendrons dans un prochain article de cette série.

3) Définir le contrôle d’accès via un ensemble d’autorisations…

… pour un objet

De la rubrique Utilisateurs, attardez-vous à l’onglet “Ensemble d’autorisations”. Là encore des sets ont déjà été pré paramétrés. Clonez-en un ou, ce que nous vous conseillons, créez-en un via le bouton “nouveau”.

Une fois définis l’étiquette et le nom d’API, vous avez la possibilité d’activer une session requise. Qu’est-ce donc ? Il s’agit d’activer l’ensemble d’autorisations seulement si certaines règles sont respectées. Le bon exemple donné par Salesforce est celui de la salle de conférence. Vous avez créé un objet dédié afin de gérer l’équipement de la salle. Mais celui-ci ne doit être accessible que quand l’utilisateur est présent physiquement dans la salle, donc sur une plage IP donnée. Pour cela, il vous “suffira” de cocher cette case et de créer un flux. Cela fera certainement l’objet d’un futur tutoriel : abonnez-vous à la chaîne pour ne pas le rater (https://bit.ly/3lUvlDV)

Vous pouvez rendre le set applicable automatiquement pour une licence ou une licence d’ensemble d’autorisations. Pour information, une licence d’ensemble d’autorisation permet aux utilisateurs d’accéder à des fonctionnalités qui ne sont pas incluses dans leur licence utilisateur de base.

Dirigez-vous ensuite vers Paramètres d’objet et choisissez les objets sur lesquels appliquer des autorisations spécifiques :

Vous le voyez, les autorisations sont les mêmes que décrites plus haut : Lire, Créer, Modifier, Supprimer. Une fois les autorisations de l’objet définies, cliquez sur “Gérer les attributions” pour attribuer votre ensemble à un ou plusieurs utilisateurs.

… pour un champ

Le chemin est le même que précédemment décrit. Il suffit juste de descendre jusqu’à Autorisations de champ et vous retrouvez les autorisations identiques : visibilité/lecture/modification

N’oubliez pas d’attribuer ensuite cet ensemble d’autorisation.

4) Quelques conseils pour conclure

Voici une liste non exhaustive en guise de conclusion :

  • les profils doivent être liés au service et les ensembles d’autorisations aux fonctions ou aux niveaux hiérarchiques
  • Utilisez les ensembles d’autorisations pour gérer les exceptions. Si tous les utilisateurs d’un même profil possède un même ensemble d’autorisation, c’est que leur profil est mal paramétré.
  • Utilisez un minimum de profil. Quant aux ensembles d’autorisations, essayez de les créer de manière à pouvoir les réutiliser sur plusieurs profils.
  • Préférez toujours ouvrir que fermer : partez toujours d’un accès limité à vos utilisateurs et faites-le évoluer suivant les pratiques. En faisant l’inverse, outre le danger, vous risquez de créer des frustrations chez votre utilisateur.
  • Si vous avez à gérer un grand parc d’utilisateurs et donc un nombre important d’ensemble d’autorisations, vous pouvez utiliser la fonctionnalité Groupe d’ensemble d’autorisations. Cette fonctionnalité créée en 2020 par Salesforce permet de regrouper des ensembles d’autorisations en fonction des tâches que les utilisateurs doivent accomplir. Plus d’infos ici

Nous évoquerons dans les prochains articles l’accès aux enregistrements et l’importance des rôles et des règles de partage dans votre org.

One thought on “La sécurité des données dans Salesforce partie 2 : le contrôle de l’accès aux objets et champs

Leave a Reply