Authentification sans mot de passe avec Spring Cloud Azure

Cet article présente les extensions d’identité Azure et explique comment implémenter l’authentification sans mot de passe pour connecter en toute sécurité vos applications Azure Spring Cloud aux services Azure. En éliminant la nécessité de stocker les informations d’identification dans votre code d’application, les fichiers de configuration ou les variables d’environnement, vous pouvez améliorer la sécurité et simplifier la configuration.

Fonctionnalités de base

Extensions d’identité Azure

Les extensions d’identité Azure reposent sur la bibliothèque d’identités Azure et simplifient l’authentification auprès de Microsoft Entra ID et d’autres services Azure. Il fournit un cadre de modèle commun permettant aux utilisateurs d’obtenir un jeton depuis Microsoft Entra ID à l’aide de différents types d’informations d’identification, notamment :

  • ClientSecretCredential
  • ClientCertificateCredential
  • ManagedIdentityCredential
  • DefaultAzureCredential

Après avoir acquis le jeton, il sert de substitut à un mot de passe traditionnel. Les extensions incluent également les plug-ins suivants pour faciliter l’authentification de base de données à l’aide de l’ID Microsoft Entra :

  • AzureMysqlAuthenticationPlugin
  • AzurePostgresqlAuthenticationPlugin

Intégration de Spring Boot

Spring Cloud Azure s’appuie sur les extensions d’identité Azure pour offrir une implémentation de niveau supérieur et plus pratique qui permet aux développeurs de se concentrer sur la logique métier plutôt que sur les configurations manuelles d’authentification. Les beans auto-configurés suivants simplifient l’intégration :

Guides d’implémentation

Se connecter à MySQL

Spring Cloud Azure utilise AzureMysqlAuthenticationPlugin pour convertir un jeton Microsoft Entra en mot de passe compatible MySQL. Pour plus d’informations, consultez la prise en charge de MySQL par Spring Cloud Azure et le référentiel d’exemples.

Se connecter à PostgreSQL

Pour PostgreSQL, Spring Cloud Azure utilise AzurePostgresqlAuthenticationPlugin pour traduire un jeton Microsoft Entra en mot de passe reconnu par PostgreSQL. Pour plus d’informations, consultez la prise en charge de PostgreSQL par Spring Cloud Azure et le dépôt d’exemple.

Se connecter à Redis

Pour activer l’authentification sans mot de passe pour Redis, Spring Cloud Azure utilise AzureAuthenticationTemplate pour convertir un jeton Microsoft Entra en informations d’identification Redis valides. Pour plus d’informations, consultez la prise en charge de Redis pour Spring Cloud Azure et le dépôt d’exemples.

Se connecter à Azure Service Bus JMS

Pour Azure Service Bus JMS, Spring Cloud Azure utilise TokenCredentialProviderOptions pour convertir un jeton Microsoft Entra en informations d’identification JMS pour Azure Service Bus. Pour plus d’informations, consultez Utiliser Azure Service Bus avec JMS et l’exemple de référentiel.