Meilleures pratiques en matière de développement de la gestion des identités et des accès Confiance Zéro

Cet article vous aide, en tant que développeur, à comprendre les meilleures pratiques de gestion des identités et des accès pour votre cycle de vie de développement d’applications. Vous commencez à développer des applications sécurisées, Confiance Zéro conformes avec la gestion des identités et des accès (IAM).

Les principes de sécurité Confiance zéro incluent la vérification explicite, l’utilisation de l’accès selon le droit d'accès minimal et la présomption de violation. Sécurisez les utilisateurs et les données tout en autorisant des scénarios courants tels que l’accès aux applications en dehors du périmètre du réseau. Réduisez la dépendance à l’approbation implicite des interactions derrière un périmètre réseau sécurisé qui peut devenir vulnérable aux attaques de sécurité.

Bien que Confiance Zéro implémentation continue d’évoluer, le parcours de chaque organisation est unique et commence souvent par l’identité de l’utilisateur et de l’application. Voici des stratégies et des contrôles que de nombreuses organisations hiérarchisent à mesure qu’elles déploient Confiance Zéro :

  1. Implémentez des stratégies d’hygiène et de rotation des informations d’identification pour les applications et les services. Les attaquants WWhen compromissent des secrets tels que des certificats ou des mots de passe, ils peuvent obtenir une profondeur d’accès système pour acquérir des jetons sous la forme de l’identité d’une application. Ils accèdent ensuite aux données sensibles, se déplacent ultérieurement et établissent une persistance.
  2. Déployer une authentification forte. Les administrateurs informatiques configurent des stratégies qui nécessitent une authentification multifacteur et des appareils FIDO2 sans mot de passe.
  3. Limitez le consentement de l’utilisateur aux applications avec des autorisations à faible risque pour les applications de publication vérifiées. L’accès aux données dans des API telles que Microsoft Graph vous permet de créer des applications enrichies. Les organisations et les clients évaluent les demandes d’autorisation et la fiabilité de votre application avant d’accorder le consentement. Les administrateurs informatiques adoptent le principe de vérification explicitement en exigeant la vérification de l’éditeur. Ils appliquent le principe du privilège minimum en autorisant uniquement le consentement de l’utilisateur pour les autorisations à faible risque.
  4. Blocage des protocoles et des API existants. Les administrateurs informatiques bloquent les anciens protocoles d'authentification tels que « l'authentification de base » et exigent des protocoles modernes tels que OpenID Connect et OAuth2.

Utiliser des bibliothèques d'authentification fiables, basées sur des normes

Développez votre application avec des normes et des bibliothèques connues et acceptées pour augmenter la portabilité et la sécurité des applications. Les bibliothèques d’authentification basées sur des normes approuvées restent à jour afin que vos applications soient réactives aux dernières technologies et menaces. L’utilisation de méthodologies de développement basées sur des normes fournit une vue d’ensemble des normes prises en charge (OAuth 2.0, OpenID Connect, SAML, WS-Federation et SCIM) et les avantages de les utiliser avec MSAL et la Plateforme d’identités Microsoft.

Au lieu d’utiliser des protocoles qui peuvent avoir des vulnérabilités connues et une documentation complète, développez votre application avec des bibliothèques telles que microsoft Authentication Library (MSAL), microsoft Identity Web authentication library et Azure SDK pour les identités managées. MSAL et SDK vous permettent d’utiliser ces fonctionnalités sans avoir à écrire de code supplémentaire :

  • Accès conditionnel
  • Gestion et inscription des appareils
  • Authentification sans mot de passe et FIDO2

MSAL et Microsoft Graph sont vos meilleurs choix pour le développement d’applications Microsoft Entra . Les développeurs MSAL ont effectué le travail pour vous assurer la conformité avec les protocoles. Microsoft optimise MSAL pour une efficacité lors de l’utilisation directe de Microsoft Entra ID.

Inscrire votre application dans Microsoft Entra ID

Suivez les meilleures pratiques de sécurité pour les propriétés d’application dans Microsoft Entra ID. L’inscription d’application dans Microsoft Entra ID est essentielle, car la configuration incorrecte ou l’expiration de l’hygiène de votre application peut entraîner un temps d’arrêt ou une compromission.

Les propriétés d’application qui améliorent la sécurité incluent l’URI de redirection, les jetons d’accès (jamais utilisés avec des flux implicites), les certificats et les secrets, l’URI d’ID d’application et la propriété de l’application. Procéder à des évaluations périodiques de la sécurité et de l'état de santé, semblables aux évaluations du modèle de menace de sécurité pour le code.

Déléguer la gestion des identités et des accès

Développez votre application pour utiliser des jetons pour la vérification d’identité explicite et le contrôle d’accès que vos clients définissent et gèrent. Microsoft recommande de développer vos propres systèmes de gestion de nom d’utilisateur et de mot de passe.

Conservez les informations d’identification hors de votre code afin que les administrateurs informatiques puissent faire pivoter les informations d’identification sans descendre ou redéployer votre application. Vous pouvez utiliser un service tel qu’Azure Key Vault ou des identités managées Azure pour déléguer l'IAM.

Planifier et concevoir pour un droit d'accès minimal

Un principe clé de Confiance Zéro est l’accès au privilège minimum. Développez et documentez suffisamment votre application afin que vos clients puissent configurer correctement des stratégies de privilège minimum. Lors de la prise en charge des jetons et des API, fournissez à vos clients une bonne documentation des ressources que votre application appelle.

Fournissez toujours le privilège minimum requis pour que votre utilisateur effectue des tâches spécifiques. Par exemple, utilisez le consentement incrémentiel pour demander uniquement des autorisations lorsqu’elles sont nécessaires et utiliser des étendues granulaires dans Microsoft Graph.

Explorer les étendues en utilisant Graph Explorer pour appeler une API et examiner les autorisations requises. Elles sont affichées dans l’ordre, du plus faible au plus élevé des privilèges. En choisissant le privilège le plus bas possible, vous vous assurez que votre application est moins vulnérable aux attaques.

Suivez les instructions de l’amélioration de la sécurité avec le principe du privilège minimum pour réduire les surfaces d’attaque de vos applications et le rayon d’explosion des violations de sécurité doivent compromettre.

Gérer en toute sécurité les jetons

Lorsque votre application demande des jetons à partir de Microsoft Entra ID, gérez-les en toute sécurité :

  • Vérifiez qu’elles sont correctement étendues à votre application.
  • Mettez-les en cache correctement.
  • Utilisez-les comme prévu.
  • Gérez les problèmes de jeton en case activée pour les classes d’erreurs et en codez les réponses appropriées.
  • Au lieu de lire directement les jetons d’accès, affichez leurs étendues et détails dans les réponses de jeton.

Support Évaluation continue de l'accès (CAE)

CAE permet à Microsoft Graph de révoquer rapidement une session active en réponse à un événement de sécurité. Voici quelques exemples d’activités d’administrateur client :

  • Suppression ou désactivation d’un compte d’utilisateur.
  • Activation de l'authentification multifactorielle (MFA) pour un utilisateur.
  • Révocation explicite des jetons émis par un utilisateur.
  • Détection d’un utilisateur qui passe à un état à haut risque.

Lorsque vous prenez en charge CAE, les jetons que Microsoft Entra ID émet pour appeler Microsoft Graph sont valides pendant 24 heures au lieu des 60 à 90 minutes standard. CAE ajoute la résilience à votre application en exigeant une actualisation horaire du jeton et en permettant à MSAL d’actualiser de manière proactive le jeton bien avant l’expiration du jeton.

Définissez des rôles d’application que le service informatique peut attribuer aux utilisateurs et aux groupes.

Les rôles d’application vous aident à implémenter le contrôle d’accès en fonction du rôle dans vos applications. Les exemples courants de rôles d’application incluent Administration istrateur, Lecteur et Contributeur. Le contrôle d’accès en fonction du rôle permet à votre application de restreindre les actions sensibles aux utilisateurs ou aux groupes en fonction de leurs rôles définis.

Devenez éditeur vérifié

En tant qu’éditeur vérifié, vous avez vérifié votre identité avec votre compte Microsoft Partner Network et terminé le processus de vérification établi. Pour les développeurs d'applications multi-locataires, le fait d'être un éditeur vérifié permet d'instaurer la confiance avec les administrateurs informatiques des locataires clients.

Étapes suivantes