Fichiers et utilisateurs guest / Experience Cloud : risques
Comment les fichiers deviennent visibles pour les utilisateurs guest et Experience Cloud, le champ Visibility et les erreurs qui exposent les données.
L’accès aux fichiers est déjà assez compliqué en interne. Ajoutez les utilisateurs Experience Cloud (communauté) et guest, et la difficulté s’accentue dans les deux sens : les fichiers que vous voulez montrer aux utilisateurs externes n’apparaissent parfois pas, et ceux que vous ne voulez pas montrer fuient parfois vers le public. Tout cela se ramène au même petit ensemble de réglages. Voici comment bien les configurer.
Les utilisateurs externes utilisent le même modèle — avec une barrière supplémentaire
Les utilisateurs de la communauté et guest voient les fichiers via le même modèle ContentDocumentLink que tout le monde. Mais il existe une barrière supplémentaire que les utilisateurs internes rencontrent rarement : le champ Visibility du lien.
| Visibility | Qui est inclus |
|---|---|
AllUsers | Utilisateurs internes et externes/communauté |
InternalUsers | Utilisateurs internes uniquement |
SharedUsers | Uniquement les utilisateurs avec lesquels le partage est explicite |
Pour qu’un utilisateur Experience Cloud voie un fichier attaché à un enregistrement, deux conditions doivent être réunies : il peut accéder à l’enregistrement, et la Visibility du lien du fichier inclut les utilisateurs externes (typiquement
AllUsers).
C’est pourquoi « l’utilisateur de la communauté voit l’enregistrement mais pas son fichier » est un ticket si fréquent : l’accès à l’enregistrement est correct, mais la Visibility est InternalUsers.
Mode de défaillance 1 : des fichiers qui devraient s’afficher, mais ne le font pas
La version bénigne. Un utilisateur de la communauté peut ouvrir une requête, mais ses pièces jointes sont absentes. Le correctif passe presque toujours par la Visibility du ContentDocumentLink du fichier, et par le fait de s’assurer que les fichiers téléversés dans la communauté héritent de la bonne visibilité. Vérifiez le lien, pas le partage de l’enregistrement.
Mode de défaillance 2 : des fichiers qui ne devraient pas s’afficher, mais le font
La version dangereuse — et la raison pour laquelle ce sujet compte pour la sécurité.
Les utilisateurs guest ne sont pas authentifiés. Ce sont des visiteurs anonymes de votre site public. Donc tout ce que la configuration d’un utilisateur guest expose est de fait accessible à Internet tout entier :
- Un lien public (sans connexion, par conception) sur un fichier sensible.
- Des fichiers attachés à des enregistrements que le profil de l’utilisateur guest peut atteindre, avec une visibilité
AllUsers. - Des sharing sets / sharing rules trop larges qui accordent à l’audience guest ou externe plus d’enregistrements que prévu — et donc plus de fichiers.
Un accès guest trop permissif fait partie des problèmes d’exposition de données les plus souvent signalés dans Salesforce. Les fichiers suivent les enregistrements que vous avez exposés par accident.
Les deux barrières à auditer, ensemble
Comme l’accès externe aux fichiers dépend de l’accès à l’enregistrement ET de la Visibility du fichier, vous devez vérifier les deux comme une paire :
- Quels enregistrements les utilisateurs guest et externes peuvent-ils atteindre ? (Modèle de partage de la communauté, sharing sets, sharing rules.)
- Quelle est la Visibility des fichiers attachés à ces enregistrements ?
- Y a-t-il des liens publics sur des fichiers sensibles ?
L’état final visé : exactement les fichiers que vous vouliez publier sont accessibles à l’audience externe — et rien d’autre. Y parvenir relève de la même question centrale que le reste du modèle d’accès aux enregistrements, mais avec l’audience la plus risquée qui soit.
Savoir ce que le public peut réellement atteindre
La combinaison — accès externe aux enregistrements multiplié par la Visibility des fichiers plus d’éventuels liens publics — est exactement ce qui rend l’exposition des utilisateurs guest difficile à évaluer et pénible à vérifier à la main. AgentForceAccess l’évalue comme il évalue l’accès interne : demandez ce qu’un utilisateur guest ou de la communauté peut voir, et l’outil trace les enregistrements qu’il atteint et les fichiers que ces enregistrements exposent, de sorte que « quelque chose fuit-il vers le public » devient une question à laquelle vous pouvez réellement répondre.
Questions fréquentes
Pourquoi mon utilisateur de la communauté ne voit-il pas un fichier sur un enregistrement auquel il a accès ?
Le plus souvent, la Visibility du ContentDocumentLink est définie sur InternalUsers, ce qui exclut les utilisateurs externes même quand l'accès à l'enregistrement est correct. Pour exposer le fichier aux utilisateurs de la communauté, il faut généralement Visibility = AllUsers. L'accès à l'enregistrement seul ne suffit pas si la Visibility exclut cette audience.
Quel est le risque avec les utilisateurs guest et les fichiers ?
Les utilisateurs guest sont des visiteurs non authentifiés. Tout fichier exposé par leur configuration de partage ou par un lien public est de fait accessible à l'ensemble d'Internet. Un accès guest trop large — ou un lien public oublié — fait partie des constats d'exposition de données les plus fréquents dans Salesforce.
Quel est le lien entre la visibilité des fichiers et le partage des enregistrements dans une communauté ?
Ce sont deux barrières distinctes. L'utilisateur doit avoir accès à l'enregistrement (via le modèle de partage de la communauté, les sharing sets ou les sharing rules) ET la Visibility du lien du fichier doit inclure les utilisateurs externes. Les deux doivent s'aligner, ce qui explique pourquoi l'accès aux fichiers en communauté est un sujet récurrent de support et de sécurité.
Que dois-je vérifier avant d'exposer des fichiers dans une communauté ?
Identifiez les enregistrements que les utilisateurs guest et externes peuvent atteindre, puis vérifiez la Visibility des fichiers attachés à ces enregistrements. Auditez tous les liens publics. L'objectif : que ce soient exactement les fichiers prévus — et aucun autre — qui soient accessibles à l'audience externe.
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é