Le WordPress d'aujourd'hui, décodé pour les développeurs

Sécurité

Sécuriser une intégration Brevo par mot de passe d’application

Plutôt que de partager les identifiants du compte principal, un accès dédié et révocable protège une intégration d'emailing Brevo. La recette pour la mettre en place proprement.

Par Clément Hadrot • 12 octobre 2025 • 5 min de lecture • Aucun commentaire
Sécuriser une intégration Brevo par mot de passe d'application

Combien d’intégrations d’emailing WordPress fonctionnent encore aujourd’hui avec la clé API principale du compte Brevo, celle qui donne accès à la facturation, à la gestion des utilisateurs et à l’ensemble des listes de contacts ? Cette pratique, héritée d’une époque où l’on configurait une intégration en cinq minutes sans se poser de questions, expose l’intégralité du compte à la moindre fuite d’un simple identifiant utilisé pour synchroniser un formulaire de contact.

Cette recette détaille comment sécuriser une intégration WordPress-Brevo avec un accès dédié, restreint et révocable, à la place du partage direct des identifiants du compte principal. La question de la délivrabilité des campagnes envoyées via cette intégration ne fait pas l’objet de cette recette ; l’accent porte uniquement sur la sécurisation de l’accès lui-même.

Problème : une clé API unique et surdimensionnée

Beaucoup d’installations utilisent une seule clé API Brevo, créée au moment de l’inscription au service, pour l’ensemble des intégrations connectées : formulaire de contact WordPress, extension de gestion des newsletters, éventuel script de synchronisation avec un CRM tiers. Cette clé unique donne accès à la totalité des fonctionnalités du compte, bien au-delà du strict besoin d’un formulaire qui se contente d’ajouter un contact à une liste précise.

En cas de fuite de cette clé, par exemple via un fichier de configuration exposé par erreur ou un journal d’erreurs mal filtré, l’attaquant obtient un accès complet au compte Brevo : envoi de campagnes au nom de l’organisation, export de l’ensemble des contacts, modification des paramètres d’expéditeur.

Snippet : créer une clé API restreinte dédiée à l’intégration

Brevo permet de créer plusieurs clés API distinctes depuis les paramètres du compte, chacune pouvant être nommée explicitement pour identifier son usage. Pour une intégration de formulaire WordPress, une clé dédiée nommée « Formulaire contact site vitrine » limite l’exposition en cas de fuite à ce seul usage :

L'essentiel à retenir : Créer un accès dédié plutôt que partager le compte principal ; Restreindre la clé API Brevo aux permissions strictement nécessaires ; Prévoir une procédure de révocation documentée
define( 'BREVO_API_KEY_FORMULAIRE', getenv( 'BREVO_KEY_FORM' ) );

function envoyer_contact_brevo( $email, $prenom ) {
    $reponse = wp_remote_post( 'https://api.brevo.com/v3/contacts', array(
        'headers' => array(
            'api-key'      => BREVO_API_KEY_FORMULAIRE,
            'Content-Type' => 'application/json',
        ),
        'body' => wp_json_encode( array(
            'email'      => $email,
            'attributes' => array( 'PRENOM' => $prenom ),
            'listIds'    => array( 12 ),
        ) ),
    ) );

    return ! is_wp_error( $reponse );
}

Cette clé dédiée peut être révoquée individuellement en cas de doute, sans affecter les autres intégrations connectées au même compte Brevo, comme l’envoi des newsletters mensuelles gérées par ailleurs.

Variante : restreindre les permissions de la clé au strict nécessaire

Selon le plan Brevo souscrit, les clés API peuvent être restreintes à des permissions précises plutôt que de couvrir l’ensemble des fonctionnalités du compte. Pour une intégration qui se contente d’ajouter des contacts à une liste, la permission d’envoi de campagnes ou de gestion des modèles n’a aucune raison d’être accordée à cette clé spécifique.

  • Limiter la clé à la permission de gestion des contacts, sans accès à l’envoi de campagnes.
  • Restreindre, si l’option est disponible, la clé à une ou plusieurs listes précises plutôt qu’à l’ensemble du compte.
  • Documenter, pour chaque clé créée, l’intégration exacte qui l’utilise et sa date de création.

Variante : prévoir une procédure de révocation testée à l’avance

Une clé restreinte perd une partie de son intérêt si sa révocation, en cas d’incident, prend un temps précieux faute de procédure connue à l’avance. La révocation d’une clé API Brevo se réalise en un instant depuis les paramètres du compte, mais encore faut-il savoir immédiatement laquelle révoquer et quelle intégration en dépend, sans devoir interrompre par erreur l’envoi des newsletters en cours.

  1. Tester une révocation en environnement de recette pour confirmer que seule l’intégration ciblée cesse de fonctionner.
  2. Conserver un tableau à jour associant chaque clé active à son usage précis et à son responsable technique.
  3. Prévoir la régénération rapide d’une nouvelle clé dédiée en remplacement, sans attendre la résolution complète de l’incident.

Une clé API nommée explicitement et restreinte à son usage réel se révoque en trente secondes sans stress ; une clé principale partagée entre dix intégrations se révoque dans l’angoisse de tout casser en même temps.

En résumé

Sécuriser une intégration Brevo par un accès dédié, restreint et documenté demande une dizaine de minutes de configuration supplémentaire par rapport à l’usage de la clé principale du compte. Ce temps investi une seule fois évite qu’une fuite isolée, sur une intégration mineure comme un formulaire de contact, ne se transforme en compromission complète du compte d’emailing de l’organisation.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi