La sécurité des données dans Salesforce partie 3 : accès aux enregistrements, rôles et partage

Troisième et dernière partie de notre série sur la sécurité des données dans Salesforce. Dans un premier temps, nous avons tenté de vous fournir les principaux outils pour protéger votre plate-forme d’un accès externe malveillant (lire). Ensuite, il s’agissait de contrôler l’accès en interne aux objets et aux champs (lire). Dans cet article, nous nous attarderons sur le dernier maillon de sécurité : l’enregistrement.

1) Les différents niveaux de contrôle d’accès à l’enregistrement

D’abord, débutons par une petite définition de l’enregistrement. Il correspond à un ensemble unique de données stockées dans un objet. Typiquement, un enregistrement de l’objet Contact stocke les détails d’une personne physique. Exemple pour M. Martin : Jean, Martin, 45 ans, CEO, 0600000, martin@ragoutoutou.com… Il peut donc exister n enregistrements pour un seul objet. Chaque enregistrement possède par conséquent un ID qui lui est propre et que vous pouvez facilement identifier dans l’URL de votre navigateur.

Autre chose à savoir : chaque enregistrement possède un propriétaire. C’est généralement le créateur. Ce propriétaire a un accès très étendu par défaut sur ses enregistrements.

La question est donc de savoir, une fois l’accès aux objets et champs déterminé, si l’utilisateur ou un groupe d’utilisateur peut avoir accès à tous les enregistrements ou à un sous-ensemble d’enregistrements. Si oui, suivant quels critères ?

Pour tenter de répondre à ces questions, vous disposez de 4 niveaux différents pour contrôler l’accès à un enregistrement. On peut le schématiser sous la forme d’un entonnoir :

Prenons un exemple qui nous servira de fil rouge. Admettons que vous ayez découpé la France en 4 zones : Grand Ouest, Ile de France, Sud Est, Nord Est. A chaque zone correspond un commercial sauf l’IDF où ils sont deux à se partager le territoire. Les assistants des ventes se partagent le territoire sans distinction. Enfin, pour compléter, un alternant assiste les ADV. Bien entendu, tout cela est chapeauté par un Directeur commercial et un Responsable ADV.

2) Le contrôle d’accès au niveau de l’organisation

L’accès aux enregistrements dont un utilisateur n’est pas propriétaire est défini en premier par les valeurs par défaut à l’échelle de l’organisation. Elles spécifient le niveau d’accès de base que l’utilisateur le plus restreint doit avoir. C’est donc le plus petit des dénominateurs communs. Et cette valeur doit être spécifiée pour chaque objet.

Pour cela, dirigez-vous vers Configuration>sécurité>Paramètres de partage>modifier

Pour chaque objet, vous devez définir le type d’accès interne par défaut :
  • Privé : seul le propriétaire a accès en lecture/modification/création de rapports à ses enregistrements. Si la hiérarchie de rôle est activée, alors ses supérieurs ont également les mêmes droits
  • Accès public en lecture seule : tous les utilisateurs ont accès en lecture/création de rapports aux enregistrements de l’objet. Seul le propriétaire peut modifier les siens. Si la hiérarchie de rôle est activée, alors ses supérieurs ont également les mêmes droits
  • Accès public en lecture/écriture : tous les utilisateurs ont accès en lecture/modification/création de rapports aux enregistrements de l’objet
  • Accès public en lecture/écriture/transfert : tous les utilisateurs ont accès en lecture/modification/création de rapports/changement de propriétaire aux enregistrements de l’objet (disponible que pour Piste et Requête)
  • Contrôlé par le parent : ne concerne que les objets enfants, un utilisateur peut afficher, modifier ou supprimer un enregistrement s’il peut effectuer la même action sur l’enregistrement parent. Typiquement, un utilisateur ne pourra modifier un contact que s’il a ce droit sur le compte auquel le contact est rattaché.

Si l’ option “Accorder l’accès à l’aide des hiérarchies” est désactivée (pour un objet personnalisé uniquement), seuls le propriétaire de l’enregistrement et les utilisateurs autorisés à accéder par les valeurs par défaut à l’échelle de l’organisation reçoivent l’accès aux enregistrements de l’objet.

Reprenons notre exemple et posons nous les bonnes questions pour les objets comptes/opportunités/commandes :

Comptes :

  • quel est l’utilisateur devant avoir un accès le plus restreint ? l’ADV (l’alternant n’a pas accès à l’objet compte)
  • existe-t-il des enregistrements qu’il ne doit pas voir ? non, l’ADV a accès à tous les comptes
  • existe-t-il des enregistrements qu’il ne devra pas modifier ? oui, tous les comptes
  • Conclusion : Accès interne par défaut de Compte : Accès public en lecture seule

Opportunités :

  • quel est l’utilisateur devant avoir un accès le plus restreint ? le chef de zone (les ADV et l’alternant n’ont pas accès à l’objet opportunité)
  • existe-t-il des enregistrements qu’il ne doit pas voir ? oui, le chef de zone n’a pas accès aux opportunités de ses collègues
  • Conclusion : Accès interne par défaut de Opportunité : Privé

Commandes :

  • quel est l’utilisateur devant avoir un accès le plus restreint ? l’alternant
  • existe-t-il des enregistrements qu’il ne doit pas voir ? non
  • existe-t-il des enregistrements qu’il ne devra pas modifier ? oui, les commandes d’une autre zone
  • Conclusion : Accès interne par défaut de Commande : Accès public en lecture seule

3) La hiérarchie des rôles

Si les valeurs par défaut à l’échelle de l’organisation sont inférieures à Accès public en lecture / écriture (soit Accès public en lecture seule ou Privé), vous pouvez ouvrir la sauvegarde de l’accès pour certains rôles à l’aide de la hiérarchie des rôles.

Même si elle est souvent proche de l’organigramme, la hiérarchie de rôle doit avant tout refléter les niveaux d’accès aux données dans Salesforce. En effet, la hiérarchie donne accès à toute personne de niveau supérieur aux enregistrements des utilisateurs de niveaux inférieurs. Ces derniers pourront être regroupés dans des groupes publics s’ils possèdent un même niveau d’accès (point suivant).

Comment activer la hiérarchie des rôles ?

Dirigez-vous dans Configuration > Utilisateurs > Rôles > Définir des Rôles

Nous vous conseillons de conserver la vue arborescente : elle vous facilitera la tâche. Ensuite, la définition des rôles est assez intuitive : vous avez la possibilité de renommer les intitulés, de supprimer des niveaux, de rattacher à un autre niveau supérieur et bien sûr d’attribuer directement les utilisateurs à un groupe.

Voici la hiérarchie pour notre exemple :

Le CEO a accès en lecture et modification à tous les enregistrements. Le Directeur commercial n’a accès qu’aux enregistrements de ses équipes commerciales. Idem pour le responsable ADV et son équipe d’ADV qui, elle, a accès en lecture et modification aux enregistrements de l’alternant. On a attribué deux personnes à l’IDF.

4) Les règles de partage

Vous pouvez utiliser des règles de partage pour étendre l’accès à des groupes d’utilisateurs supplémentaires : cela vous permet d’autoriser des exceptions automatiques.

Pour cela, il est préférable de créer des groupes publics qui faciliteront les partages. Dans notre cas, les deux commerciaux travaillent en binôme sur l’IDF : ils ont besoin de modifier les comptes et d’accéder en lecture aux opportunités de l’un et de l’autre.

Dirigez-vous dans l’onglet Groupes publics puis Nouveau. Vous avez la possibilité de constituer votre groupe via les rôles, d’autres groupes publics ou directement les utilisateurs. C’est notre cas ici :

Définissons une règle de partage : retournons dans les paramètres de partage (voir 2) et choisissons l’objet opportunité. Dans Règles de partage, cliquons sur Nouveau.
Toute opportunité appartenant à un membre du rôle Ile de France (voir hiérarchie) est consultable par un membre du groupe public CZ IDF. Mais pourquoi avoir créé un groupe spécifique alors qu’on aurait pu simplement se contenter d’indiquer le rôle Ile de France en étapes 3 et 4. Tout simplement pour anticiper : admettons que vous recrutiez un 3ème commercial sur l’Ile de France. Dans un premier temps;, vous ne souhaitez pas qu’il ait accès aux opportunités des 2 autres commerciaux. Avec ce modèle, il n’aura aucun accès dès le départ.

Faisons de même pour Comptes mais avec un accès Lecture/Ecriture.

Nous aurions pu définir également cette règle via un critère de type “tous les comptes appartenant aux département d’IDF”. Voilà ce que cela aurait donné :

A noter que vous pouvez définir une règle de partage de l’opportunité au niveau du compte et ainsi éviter d’en créer une spécifique à l’objet opportunité. (voir impression écran précédent)

5) Le partage manuel

Chaque propriétaire d’enregistrement peut partager manuellement des enregistrements individuels avec d’autres utilisateurs en utilisant le bouton Partager directement dans l’enregistrement.


Pour activer ou désactiver cette fonctionnalité, rendez-vous de nouveau dans les règles de partage et scrollez jusqu’en bas de la page. Vous accéderez alors à la checkbox “Partage d’enregistrement utilisateur manuel”.

Conclusion

Voici donc une première approche de la sécurité des données dans Saleforce. Vous l’avez vu : l’arsenal est assez complet et il est parfois difficile de s’y retrouver ! Il est donc vivement conseillé de commencer par schématiser les droits d’accès de chaque individu et/ou service pour chaque objet/champs/enregistrements. C’est certes un travail fastidieux mais nécessaire pour gagner du temps par la suite dans la mise en place des règles de contrôle.

Leave a Reply