Important
Cette fonctionnalité est actuellement disponible pour ceux qui utilisent les méthodes d'installation par copier/coller ou par navigateur NPM. UI Il configuration n'y a actuellement aucune option ou de NerdGraph disponible. Nous continuons à travailler à l’amélioration de l’accès à ces options de configuration et à d’autres.
Bien que la recommandation de New Relic soit d'éviter d'utiliser des informations sensibles dans la structure publique de votre application, nous comprenons également que cela n'est pas toujours possible. Vous pouvez configurer l'agent du navigateur pour masquer de manière sélective les données dans chaque charge utile qu'il envoie. Cela peut être utile si votre application utilise des données sensibles dans des endroits capturés par l'agent, tels que les chemins de navigation, les messages d'erreur, etc.
Comment ça marche
À partir de la version 1216 de l'agent de navigateur et des versions supérieures, la règle d'obfuscation peut être appliquée aux frais de récolte sortants.
Pour configurer ces règles, vous devez configurer la propriété d'agent de navigateur suivante :
- La propriété
init.obfuscate
contient un éventail de sélecteurs et de remplacements qui seront utilisés pour modifier chaque récolte avant l'envoi.- Étant donné que obfuscation nécessite actuellement l'utilisation des méthodes de copier/coller ou d'installation NPM, vous devrez modifier manuellement votre section configuration JavaScript et définir l'éventail
obfuscate
pour contenir vos conditions obfuscation .
- Étant donné que obfuscation nécessite actuellement l'utilisation des méthodes de copier/coller ou d'installation NPM, vous devrez modifier manuellement votre section configuration JavaScript et définir l'éventail
Recommandations
Lors de la configuration de cette propriété, nous recommandons ce qui suit :
- Utilisez des modèles d'expressions régulières intentionnels pour masquer uniquement ce qui doit être obfuscation.
- Une obscurcissement inutile peut avoir des effets secondaires tels qu’une granularité moindre lors du regroupement des données et une capacité moindre à digérer ce que l’agent a capturé.
- Remplacez vos données sensibles par des termes neutres et génériques qui indiquent également quelles données ont été expurgées.
- Exemple :
/account-id/g
-->ACCOUNT_ID
- Exemple :
Installation par copier/coller
Si vous utilisez la méthode d'installation copier/coller, ajoutez la configuration suivante à la configuration JavaScript de votre navigateur avant le chargeur d'agent :
window.NREUM.init = { ...<other init properties>..., obfuscate: [ { regex: <RegExp | string> replacement: <string> }, ...<other obfuscation rules>... ]}
Installation de NPM
Si vous utilisez la méthode d'installation du navigateur NPM, ajoutez la configuration suivante lors de l'initialisation de l'agent du navigateur :
new BrowserAgent({ init: { ...<other init properties>..., obfuscate: [ { regex: <RegExp | string> replacement: <string> }, ...<other obfuscation rules>... ] }})
Exemples
window.NREUM.init = { ...<other init properties>..., obfuscate: [ { regex: /user-id/g, replacement: 'USER_ID' }, ]}
new BrowserAgent({ init: { ...<other init properties>..., obfuscate: [ { regex: /account-id/g, replacement: 'ACCOUNT_ID' }, ] }})