Utiliser une plateforme de service d’identité complètement managée

Toute application cloud ou presque doit prendre en charge les identités utilisateur. L’identité est la base des pratiques de sécurité modernes telles que la confiance zéro, et l’identité utilisateur pour les applications est un élément essentiel de l’architecture de votre solution.

Pour la plupart des solutions, nous vous recommandons vivement d’utiliser une plateforme d’identité en tant que service (IDaaS), c’est-à-dire une solution d’identité complètement managée, au lieu de créer ou d’exploiter votre propre plateforme. Dans cet article, nous décrivons les défis liés à la création ou à l’exécution de votre propre système d’identité.

Recommandations

Important

En utilisant une plateforme IDaaS comme Microsoft Entra ID, Azure AD B2C ou un système similaire, vous pouvez atténuer un grand nombre des problèmes décrits dans cet article. Nous recommandons cette approche partout où cela est possible.

Les exigences de votre solution peuvent vous amener à utiliser un framework ou une solution d’identité prête à l’emploi que vous hébergez et exécutez vous-même. Bien que l’utilisation d’une plateforme d’identité prédéfinie atténue certains des problèmes décrits dans cet article, la gestion de bon nombre de ces problèmes relève toujours de votre responsabilité avec une telle solution.

Évitez d’utiliser un système d’identité entièrement créé par vos soins.

Éviter de stocker des informations d’identification

Quand vous exécutez votre propre système d’identité, vous devez stocker une base de données d’informations d’identification. Vous ne devez jamais stocker les informations d’identification en texte clair, ni même sous forme de données chiffrées.

Au lieu de cela, vous pouvez envisager de hacher et de saler par chiffrement les informations d’identification avant de les stocker afin de les rendre moins susceptibles aux attaques. Toutefois, même des informations d’identification hachées et salées sont vulnérables et peuvent subir différents types d’attaques.

Quelle que soit la façon dont vous protégez les informations d’identification individuelles, la gestion d’une base de données d’informations d’identification fait de vous la cible d’attaques. Ces dernières années, les bases de données d’informations d’identification de grandes et petites organisations ont fait l’objet d’attaques.

Considérez le stockage des informations d’identification comme un fardeau plutôt qu’un atout. En utilisant une solution IDaaS, vous confiez le problème du stockage des informations d’identification à des experts en externe qui disposent du temps et des ressources nécessaires pour gérer de manière sécurisée les informations d’identification.

Implémenter des protocoles d’identité et de fédération

Les protocoles d’identité modernes sont complexes. Les experts du secteur ont conçu OAuth 2, OpenID Connect et d’autres protocoles afin qu’ils atténuent les attaques et vulnérabilités du monde réel. Les protocoles évoluent également pour s’adapter aux changements dans les technologies, les stratégies d’attaque et les attentes des utilisateurs. Les spécialistes de l’identité, qui connaissent bien les protocoles et leur utilisation, sont les mieux placés pour implémenter et valider des systèmes qui respectent ces protocoles. Pour plus d’informations sur les protocoles et la plateforme, consultez OAuth 2.0 et OpenID Connect (OIDC) sur la plateforme d’identité Microsoft.

Il est également courant de fédérer des systèmes d’identité. Les protocoles de fédération d’identité sont complexes à établir, à gérer et à maintenir, et ils nécessitent des connaissances et une expérience spécialisées. Pour plus d’informations, consultez Modèle d’identité fédérée.

Adopter des fonctionnalités d’identité modernes

Les utilisateurs s’attendent à ce qu’un système d’identité propose une gamme de fonctionnalités avancées, notamment celles-ci :

  • Authentification sans mot de passe, qui utilise des approches sécurisées pour se connecter sans obliger les utilisateurs à entrer des informations d’identification.

  • Authentification unique (SSO), qui permet aux utilisateurs de se connecter en utilisant une identité de leur employeur, de leur établissement scolaire ou d’une autre organisation.

  • Authentification multifacteur (MFA), qui invite les utilisateurs à s’authentifier de plusieurs façons. Par exemple, un utilisateur peut se connecter en utilisant un mot de passe ainsi qu’une application d’authentification sur un appareil mobile ou un code envoyé par e-mail.

  • Audit, qui suit chaque événement se produisant dans la plateforme d’identité, notamment les tentatives de connexion réussies, échouées et abandonnées. L’analyse ultérieure d’une tentative de connexion à des fins judiciaires peut nécessiter un journal détaillé.

  • Accès conditionnel, qui crée un profil de risque autour d’une tentative de connexion en fonction de divers facteurs. Les facteurs peuvent inclure l’identité de l’utilisateur, l’emplacement de la tentative de connexion, l’activité de connexion précédente et la sensibilité des données ou de l’application.

  • Contrôle d’accès juste-à-temps, qui permet temporairement aux utilisateurs de se connecter en fonction d’un processus d’approbation, puis supprime automatiquement l’autorisation.

Si vous créez vous-même un composant d’identité dans le cadre de votre solution d’entreprise, il est peu probable que vous parveniez à justifier le travail associé à l’implémentation de ces fonctionnalités et leur maintenance. Certaines de ces fonctionnalités nécessitent également un surcroît de travail, comme l’intégration aux fournisseurs de messagerie pour envoyer des codes MFA, ainsi que le stockage et la conservation des journaux d’audit pendant une période suffisamment longue.

Les plateformes IDaaS peuvent également fournir un ensemble amélioré de fonctionnalités de sécurité basées sur le volume de demandes de connexion qu’elles reçoivent. Par exemple, les fonctionnalités suivantes fonctionnent mieux lorsqu’un grand nombre de clients utilisent une plateforme d’identité unique :

  • Détection des événements de connexion risquée, comme les tentatives de connexion à partir de botnets
  • Détection d’un voyage impossible entre les activités d’un utilisateur
  • Détection d’informations d’identification courantes, comme les mots de passe fréquemment utilisés par d’autres utilisateurs, qui présentent un risque accru de compromission
  • Utilisation de techniques de Machine Learning pour classifier les tentatives de connexion comme valides ou non
  • Monitoring du « dark web » pour détecter les fuites d’informations d’identification et empêcher leur exploitation
  • Monitoring continu du paysage des menaces et des vecteurs actuels utilisés par les attaquants

Si vous créez ou exécutez votre propre système d’identité, vous ne pouvez pas tirer parti de ces fonctionnalités.

Utiliser un système d’identité fiable et très performant

Les systèmes d’identité faisant partie intégrante des applications cloud modernes, ils doivent être fiables. Si votre système d’identité n’est pas disponible, le reste de votre solution peut être affecté et fonctionner de manière dégradée ou ne pas fonctionner du tout. En utilisant une solution IDaaS avec un contrat de niveau de service (SLA), vous pouvez avoir davantage confiance dans le fait que votre système d’identité sera opérationnel quand vous en aurez besoin. Par exemple, Microsoft Entra ID propose un SLA spécifiant la durée de bon fonctionnement pour les niveaux de service De base et Premium, qui couvre à la fois les processus de connexion et d’émission de jetons. Pour plus d’informations, consultez SLA pour Microsoft Entra ID.

De même, un système d’identité doit bien fonctionner et pouvoir s’adapter au niveau de croissance de votre système. Selon l’architecture de votre application, il est possible que chaque demande nécessite une interaction avec votre système d’identité. Dans ce cas, tout problème de performances sera apparent pour vos utilisateurs. Les systèmes IDaaS sont incités à s’adapter à de grandes charges d’utilisateurs. Ils sont conçus pour absorber de gros volumes de trafic, notamment celui généré par différentes formes d’attaques.

Tester votre sécurité et appliquer des contrôles stricts

Si vous exécutez un système d’identité, il vous incombe de le sécuriser. Voici quelques exemples de contrôles que vous devez envisager d’implémenter :

  • Tests d’intrusion périodiques nécessitant des connaissances spécialisées.
  • Vérification des employés et de toute autre personne ayant accès au système.
  • Contrôle rigoureux de toutes les modifications apportées à votre solution et examen par des experts de chaque modification.

Ces contrôles sont souvent coûteux et difficiles à implémenter.

Utiliser des contrôles de sécurité natifs cloud

Quand vous utilisez Microsoft Entra ID comme fournisseur d’identité de votre solution, vous pouvez tirer parti des fonctionnalités de sécurité natives cloud comme les identités managées pour ressources Azure.

Si vous choisissez d’utiliser une plateforme d’identité distincte, vous devez prendre en compte la façon dont votre application peut tirer parti des identités managées et d’autres fonctionnalités Microsoft Entra tout en s’intégrant simultanément à votre propre plateforme d’identités.

Se concentrer sur la valeur de base

Maintenir une plateforme d’identité sécurisée, fiable et réactive est une activité coûteuse et complexe. Dans la plupart des cas, un système d’identité n’est pas un composant qui permet d’ajouter de la valeur à votre solution ou de vous différencier de vos concurrents. Il est conseillé de faire appel à un système créé par des experts pour gérer vos exigences en matière d’identité. De cette façon, vous pouvez vous concentrer sur la conception et la création des composants de votre solution qui créent de la valeur métier pour vos clients.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

  • John Downs | Ingénieur client senior, FastTrack for Azure

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes