Trop de projets Salesforce contiennent encore des appels HTTP en Apex avec une clé API codée en dur dans une Custom Setting ou pire, directement dans le code source. Les Named Credentials existent précisément pour éliminer ce risque : elles centralisent l'URL du point de terminaison et les identifiants d'authentification d'un service externe, séparément du code qui les consomme.
Sans Named Credential, un développeur doit gérer manuellement dans son code Apex l'ajout des en-têtes d'authentification, le stockage du secret, et son renouvellement (rafraîchissement de token OAuth). Avec une Named Credential (Configuration > Sécurité > Named Credentials), Salesforce :
HttpRequest pointant vers cet endpoint.Depuis les releases récentes, Salesforce recommande le modèle en deux parties :
Cette séparation permet de réutiliser un même External Credential pour plusieurs endpoints, et surtout de choisir un mode d'authentification "par utilisateur" quand le système cible doit appliquer ses propres droits d'accès individuels (traçabilité fine côté système tiers).
Un Named Principal (identifiant partagé) simplifie la configuration mais casse la traçabilité individuelle côté système externe : tous les appels Salesforce apparaîtront comme provenant d'un seul compte technique. Pour des intégrations à fort enjeu d'audit, privilégiez les Per-User Principals malgré la complexité de configuration supplémentaire (chaque utilisateur doit s'authentifier une fois).
L'accès à une Named Credential se distribue comme une permission classique via Profils ou Permission Sets (case "Named Credentials" accessibles). Un utilisateur ou un morceau de code Apex sans cette permission explicite ne peut pas l'invoquer, même s'il connaît le nom de la Named Credential dans le code. C'est un point de contrôle supplémentaire à auditer : vérifiez régulièrement quels profils ont accès aux Named Credentials sensibles (systèmes de paiement, RH, ERP).
Une fois la Named Credential en place, External Services (Configuration > Intégrations > Services externes) permet d'importer une spécification OpenAPI/Swagger d'une API REST externe, et de générer automatiquement des classes Apex invocables et des actions utilisables directement dans Flow Builder. Cela permet à un admin/analyste de construire une intégration sortante depuis un Flow sans écrire de code, tout en réutilisant la couche de sécurité déjà posée par la Named Credential sous-jacente.
callout:MaNamedCredential dans l'endpoint de la requête.Notre équipe DevToSpace accompagne vos projets Salesforce, de la sécurité à l'intégration Data Cloud / Marketing Cloud Next.
Parler à un expert