ANS-1416 · DéVELOPPEMENT SUITESCRIPT
Comment stocker et utiliser en toute sécurité les clés secrètes pour le chiffrement dans les API NetSuite ?
NetSuite fournit des mécanismes permettant de gérer et d’utiliser en toute sécurité les clés secrètes sensibles pour le chiffrement HMAC dans les appels d’API, garantissant ainsi l’intégrité des données et l’authentification.
Solution courte
Pour gérer en toute sécurité les clés secrètes destinées au chiffrement HMAC dans NetSuite, évitez de les stocker en texte clair. Utilisez plutôt les options de stockage sécurisé de NetSuite, telles que les secrets API ou les champs d’identifiants (GUID), afin de récupérer et d’utiliser ces clés avec le module N/crypto pour le chiffrement.
Scénario
Les organisations ont souvent besoin d’utiliser une clé secrète pour chiffrer une chaîne de caractères à l’aide de l’algorithme HMAC, laquelle est ensuite transmise sous forme d’en-tête dans un appel d’API à des fins de sécurité ou d’authentification. Le défi consiste à stocker et à récupérer cette clé sensible en toute sécurité au sein de NetSuite.
Solution
NetSuite ne stocke pas les secrets en texte clair sur ses serveurs. Pour gérer et récupérer en toute sécurité les secrets sensibles des clients, les administrateurs peuvent utiliser la fonctionnalité « API Secrets » de NetSuite ou créer un GUID dans un champ d’identifiants. La fonctionnalité « API Secrets » fournit un coffre-fort sécurisé dédié, tandis que les GUID issus des champs d’identifiants permettent également à NetSuite de récupérer le secret en toute sécurité. Le processus comporte deux étapes principales :
Stockage sécurisé de la clé secrète :
NetSuite recommande d’utiliser les « API Secrets » (Configuration > Société > Préférences > API Secrets) pour un stockage sécurisé dédié, en référençant les secrets par leur identifiant de script. Il est également possible de générer un GUID et de le stocker dans un champ d’identifiants, souvent géré via un Suitelet. En cas d’utilisation d’un GUID, le paramètre
restrictToScriptIdsdoit inclure les identifiants de tous les scripts autorisés à l’utiliser. Bien que les exemples externes spécifiques ou les noms de référentiels internes puissent varier, le principe fondamental consiste à générer et à stocker en toute sécurité une référence à la clé secrète.Effectuer le chiffrement :
Une fois la clé secrète stockée en toute sécurité et accessible, le module N/crypto peut être utilisé pour le chiffrement. Les étapes générales du chiffrement sont les suivantes :
Récupérez la clé secrète à l’aide de sa référence sécurisée (par exemple, l’identifiant du script API Secret ou un GUID).
Créez l’objet de chiffrement, HMAC ou de hachage souhaité et sélectionnez l’algorithme approprié.
Transmettez la chaîne d’entrée à la fonction de chiffrement, HMAC ou de hachage.
Générez la chaîne chiffrée. Il est essentiel de sélectionner le bon encodage à chaque étape du processus. Reportez-vous à la documentation du module N/crypto pour obtenir des exemples détaillés et connaître les fonctions disponibles.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
