Premiers pas avec la protection des secrets
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Expliquer ce que sont les secrets d’applications
- Expliquer contre qui vous devez protéger les secrets d’applications
- Citer trois risques de divulgation des secrets de vos applications aux administrateurs Salesforce.
Qu’est-ce qu’un secret ?
Pratiquement toutes les applications traitent des données sensibles sous une forme ou sous une autre, qu’il s’agisse du mot de passe saisi par un utilisateur pour s’authentifier auprès de l’application ou d’une clé de chiffrement qui protège les données au repos. C’est ce qu’on appelle les secrets d’applications. Si des pirates ou des utilisateurs malveillants découvrent le secret, ils peuvent l’utiliser pour accéder à des informations ou à des systèmes confidentiels.
La façon de protéger les secrets est un enjeu essentiel que les développeurs doivent prendre en compte sur toutes les plates-formes, y compris sur Salesforce. Dans ce module, vous apprenez comment identifier les secrets dans vos applications et déterminez la méthode la plus efficace pour les stocker et les protéger.
Voici quelques exemples courants de secrets, c’est-à-dire des données qui peuvent être utilisées pour vérifier les privilèges d’un utilisateur dans une situation donnée.
- Mots de passe et phrases secrètes
- Clés de chiffrement et d’API
- Jetons OAuth
En plus de ces exemples, votre entreprise peut considérer d’autres formes de données comme secrètes et les soumettre à une protection supplémentaire. Par exemple, vous pouvez être soumis à une obligation réglementaire de chiffrement de certains types de données utilisateur.
Contre qui protégez-vous les secrets ?
Maintenant que vous connaissez les données qui doivent être protégées, réfléchissez aux personnes qui souhaiteraient y accéder. Vous imaginez peut-être un pirate. Vous voulez que les données sensibles soient protégées des attaques externes de personnes tentant de forcer l’accès à votre instance Salesforce. Mais nous devons également envisager le risque de révéler des secrets à d’autres utilisateurs, notamment aux administrateurs Salesforce, aux développeurs AppExchange et aux clients.
Considérons les scénarios suivants.
- Un utilisateur télécharge accidentellement un logiciel malveillant et sa session Salesforce est compromise.
- Un employé mécontent a été récemment licencié, mais il a toujours accès aux systèmes de son entreprise.
- Un utilisateur de Communities CRM découvre qu’il dispose d’un privilège d’accès à l’API.
Dans chaque scénario, un secret mal protégé peut devenir visible par quelqu’un qui ne devrait pas y avoir accès. Pour ces raisons, il est judicieux de protéger les secrets de différents types d’utilisateurs, notamment des :
-
Utilisateurs standard : utilisateurs disposant de licences Salesforce normales et de permissions moyennes.
-
Utilisateurs externes : utilisateurs ayant des permissions réduites, utilisant par exemple une licence Communities ou consultant les données depuis un site Force.com.
-
Utilisateurs administrateurs avec un accès administratif : utilisateurs ayant des licences Salesforce normales, mais des permissions supérieures à la moyenne, jusqu’à Modifier toutes les données.
Souvenez-vous que tous les secrets n’ont pas à être protégés de tous les types d’utilisateurs. Ce module vise à vous donner les outils qui vous permettront de protéger les secrets d’applications, afin que même les données les plus sensibles puissent être enregistrées dans Salesforce en toute sécurité.
Pourquoi protéger des secrets contre les administrateurs ?
Les administrateurs sont dans une position de confiance supérieure à celle des autres utilisateurs, car ils disposent d’un accès plus élevé au système. Appliquez le principe du moindre privilège : n’accordez que le strict minimum de privilèges nécessaires à un utilisateur, à un programme ou à un processus pour exécuter la fonction qui lui est attribuée. Il peut sembler inoffensif d’accorder aux administrateurs l’accès à des éléments supplémentaires tels que les clés de chiffrement. Cependant, voici quelques éléments à prendre en compte.
- Si le secret enregistré est le mot de passe d’un service externe, l’administrateur Salesforce n’est peut-être pas autorisé à accéder directement à ce service. Pour protéger ce service, vous devez ainsi vous assurer que ce dernier n’a pas accès au mot de passe.
- Le secret enregistré peut être une clé de cryptage à laquelle aucun utilisateur, administrateur compris, n’a le droit d’accéder. De la même manière, vous devez vous assurer qu’un administrateur ne peut pas y accéder.
- Si un administrateur a accès au secret, une personne malveillante peut essayer de l’obtenir en compromettant le compte de l’administrateur.
Ce n’est pas parce que quelqu’un peut accéder à quelque chose qu’il devrait le faire !
À présent que vous connaissez l’importance de la sécurisation des secrets, vous pouvez déterminer la méthode la plus efficace pour les stocker et les protéger lorsque vous développez votre application. Vous découvrirez ensuite comment utiliser les fonctionnalités de sécurité de Salesforce Platform.