Un utilisateur ne voit pas un enregistrement qu'il devrait voir
Pourquoi un utilisateur Salesforce ne voit pas un enregistrement attendu : checklist des permissions d'objet, FLS, partage et règles de restriction.
L’image miroir de « pourquoi cet utilisateur voit-il cet enregistrement » est tout aussi fréquente : quelqu’un devrait pouvoir voir un enregistrement et n’y arrive pas. La bonne nouvelle, c’est que l’accès dans Salesforce passe par une séquence fixe de contrôles : vous pouvez donc isoler la défaillance méthodiquement plutôt qu’au hasard.
Les deux contrôles que tout accès à un enregistrement doit franchir
Salesforce accorde l’accès uniquement si les deux réussissent :
- Niveau de l’objet — l’utilisateur dispose-t-il du CRUD sur l’objet et de la sécurité au niveau des champs concernés ? (Issus des profils et des ensembles d’autorisations.)
- Niveau de l’enregistrement — le modèle de partage accorde-t-il cet enregistrement précis ?
L’échec de l’un ou l’autre masque l’enregistrement. La première tâche consiste donc à déterminer quel contrôle échoue — et le symptôme vous le dit.
Lisez d’abord le symptôme
| Symptôme | Contrôle en échec | Aller à |
|---|---|---|
| Ne trouve pas du tout l’objet/l’onglet | Permission d’objet ou visibilité de l’application/onglet | Étape 1 |
| Voit l’objet, mais pas un enregistrement | Partage au niveau de l’enregistrement (ou règle de restriction) | Étape 3 |
| Ouvre l’enregistrement, mais les champs sont vides | Sécurité au niveau des champs | Étape 2 |
| Le voyait hier, plus aujourd’hui | Un changement récent / un recalcul | Étape 4 |
Étape 1 — Permissions d’objet et visibilité
Si l’utilisateur ne peut pas atteindre l’objet ou son onglet :
- Vérifiez la permission Read sur l’objet dans son profil ou un ensemble d’autorisations.
- Vérifiez que l’application et l’onglet lui sont visibles.
Pas d’accès à l’objet signifie aucun enregistrement, quel que soit le partage. Corrigez cela en premier. (Si la défaillance porte sur l’enregistrement d’un enregistrement plutôt que sur sa consultation, la cause est généralement un enregistrement lié que l’utilisateur ne peut pas atteindre — voir insufficient access rights on cross-reference id.)
Étape 2 — Sécurité au niveau des champs
Si l’enregistrement s’ouvre mais que certains champs sont vides, l’accès au niveau de l’enregistrement est bon — c’est la sécurité au niveau des champs qui masque les champs. Accordez la FLS pour ces champs sur le profil de l’utilisateur ou un ensemble d’autorisations. (C’est un réglage de profil/ensemble d’autorisations, pas du partage — voir profils vs ensembles d’autorisations vs partage.)
Étape 3 — Partage au niveau de l’enregistrement
Si l’utilisateur a accès à l’objet mais ne peut pas atteindre un enregistrement, parcourez le modèle de partage :
- Valeur par défaut à l’échelle de l’organisation — si elle est Private, l’utilisateur ne voit que les enregistrements qu’il possède, ceux détenus par une personne située sous lui dans la hiérarchie des rôles, ou ceux accordés par une règle/équipe/partage manuel. Si rien ne s’applique, vous avez votre réponse — ajoutez une règle de partage, une appartenance à une équipe ou un partage manuel.
- Hiérarchie des rôles — l’utilisateur se situe-t-il réellement au-dessus du propriétaire ? Sinon, pas de remontée.
- Une règle de restriction les exclut — les règles de restriction réduisent l’accès par-dessus le partage. L’utilisateur peut avoir un accès via le partage tout en étant exclu par les critères d’une règle de restriction. Vérifiez les règles de restriction sur l’objet pour l’ensemble d’autorisations de l’utilisateur.
Étape 4 — Changements récents et recalcul
Si l’accès a disparu :
- Cherchez des changements de propriétaire, de hiérarchie des rôles, de règles de partage, d’une règle de restriction, ou des attributions d’ensembles d’autorisations de l’utilisateur — chacun peut retirer l’accès.
- Vérifiez qu’un recalcul du partage est terminé. Après un changement de propriétaire/rôle/règle, Salesforce retraite les partages de façon asynchrone et l’accès peut être en retard pendant cette fenêtre.
Une checklist de diagnostic
- Peut-il atteindre l’objet/l’onglet ? → permission d’objet + visibilité de l’application/onglet.
- Les champs s’affichent-ils ? → sécurité au niveau des champs.
- La OWD est-elle Private sans partage applicable ? → ajoutez du partage.
- Est-il au-dessus du propriétaire dans la hiérarchie ? → si nécessaire.
- Une règle de restriction l’exclut-elle ? → ajustez les critères.
- Un changement récent ou un recalcul en cours ? → attendez / annulez.
Le premier contrôle en échec est votre correctif. Et notez le problème inverse — trop d’accès — dans un utilisateur voit un enregistrement qu’il ne devrait pas voir.
Passez directement à la couche défaillante
La partie lente, c’est de tester chaque couche tour à tour, souvent en se connectant en tant que l’utilisateur. AgentForceAccess condense tout cela : demandez pourquoi un utilisateur ne peut pas voir un enregistrement et il indique quel contrôle le bloque — permission d’objet, sécurité au niveau des champs, partage manquant ou règle de restriction — pour que vous corrigiez la bonne couche du premier coup.
Questions fréquentes
L'utilisateur voit l'objet mais pas un enregistrement précis. Pourquoi ?
C'est un problème au niveau de l'enregistrement. Avec une valeur par défaut à l'échelle de l'organisation définie sur Private, un utilisateur ne voit que les enregistrements qu'il possède, ceux détenus par une personne située sous lui dans la hiérarchie des rôles, ou ceux qu'une règle de partage, une équipe ou un partage manuel lui accorde. Si rien ne s'applique, l'enregistrement reste masqué. Une règle de restriction peut aussi le filtrer.
L'utilisateur peut ouvrir l'enregistrement mais des champs clés sont vides. Pourquoi ?
C'est la sécurité au niveau des champs (FLS), pas le partage d'enregistrement. L'utilisateur a accès à l'enregistrement mais son profil ou ses ensembles d'autorisations masquent ces champs. Accordez la sécurité au niveau des champs sur l'ensemble d'autorisations concerné.
L'utilisateur ne voit ni l'objet ni l'onglet. Quel est le problème ?
Il lui manque probablement la permission Read sur l'objet, ou l'application/onglet est masquée pour son profil. Les permissions d'objet et la visibilité des onglets/applications proviennent des profils et des ensembles d'autorisations : corrigez cela avant de regarder le modèle de partage.
L'accès fonctionnait hier et a cessé. Qu'est-ce qui a changé ?
Cherchez un changement récent de propriétaire, de hiérarchie des rôles, de règles de partage, d'une règle de restriction ou des ensembles d'autorisations de l'utilisateur : chacun peut retirer l'accès. Vérifiez aussi qu'un recalcul du partage est terminé, car l'accès peut être en retard pendant le retraitement.
Voyez-le sur votre propre org
AgentForceAccess explique, en langage clair, pourquoi n'importe quel utilisateur peut voir n'importe quel enregistrement ou fichier — à travers chaque mécanisme de partage Salesforce.
Demander un accès anticipé