通过


使用 Spring Cloud Azure 进行无密码身份验证

本文介绍 Azure 标识扩展 ,并介绍如何实现无密码身份验证,以安全地将 Spring Cloud Azure 应用程序连接到 Azure 服务。 通过消除在应用程序代码、配置文件或环境变量中存储凭据的需要,可以增强安全性和简化配置。

核心功能

Azure 标识扩展

Azure 标识扩展基于 Azure 标识库构建,简化了Microsoft Entra ID 和其他 Azure 服务的身份验证。 它为用户使用各种凭据类型从 Microsoft Entra ID 获取令牌提供了一个通用模板框架,包括:

  • ClientSecretCredential
  • ClientCertificateCredential
  • ManagedIdentityCredential
  • DefaultAzureCredential

获取令牌后,它将用作传统密码的替代方法。 这些扩展还包括以下插件,以使用 Microsoft Entra ID 促进数据库身份验证:

  • AzureMysqlAuthenticationPlugin
  • AzurePostgresqlAuthenticationPlugin

Spring Boot 集成

Spring Cloud Azure 基于 Azure 标识扩展构建,提供更高级别、更方便的实现,使开发人员能够专注于业务逻辑,而不是手动身份验证设置。 以下自动配置的 bean 简化了集成:

实现指南

连接到 MySQL

Spring Cloud Azure 使用 AzureMysqlAuthenticationPlugin 将 Microsoft Entra 令牌转换为与 MySQL 兼容的密码。 有关详细信息,请参阅 Spring Cloud Azure MySQL 支持示例存储库

连接到 PostgreSQL

对于 PostgreSQL,Spring Cloud Azure 使用 AzurePostgresqlAuthenticationPlugin 将 Microsoft Entra 令牌转换为 PostgreSQL 识别的密码。 有关详细信息,请参阅 Spring Cloud Azure PostgreSQL 支持示例存储库

连接到 Redis

若要为 Redis 启用无密码身份验证,Spring Cloud Azure 使用 AzureAuthenticationTemplate 将 Microsoft Entra 令牌转换为有效的 Redis 凭据。 有关详细信息,请参阅 Spring Cloud Azure Redis 支持示例存储库

连接到 Azure 服务总线 JMS

对于 Azure 服务总线 JMS,Spring Cloud Azure 使用 TokenCredentialProviderOptions 将 Microsoft Entra 令牌传输到 Azure 服务总线 JMS 凭据。 有关详细信息,请参阅 将 Azure 服务总线与 JMS示例存储库配合使用。