Проверка подлинности без пароля с помощью Spring Cloud Azure

В этой статье представлены расширения удостоверений Azure и объясняется, как реализовать проверку подлинности без пароля для безопасного подключения приложений Azure Spring Cloud к службам Azure. Устраняя необходимость хранения учетных данных в коде приложения, файлах конфигурации или переменных среды, можно повысить безопасность и упростить настройку.

Основные возможности

Расширения идентификации Azure

Azure Identity Extensions построено на основе библиотеки Azure Identity и упрощает аутентификацию в Microsoft Entra ID и других службах Azure. Он предоставляет пользователям единый шаблон, с помощью которого можно получить токен из Microsoft Entra ID с использованием различных типов учетных данных, включая:

  • ClientSecretCredential
  • ClientCertificateCredential
  • ManagedIdentityCredential
  • DefaultAzureCredential

После получения токен заменяет обычный пароль. Расширения также включают следующие подключаемые модули для упрощения проверки подлинности базы данных с помощью идентификатора Microsoft Entra:

  • AzureMysqlAuthenticationPlugin
  • AzurePostgresqlAuthenticationPlugin

Интеграция Spring Boot

Spring Cloud Azure использует расширения Azure Identity, чтобы предоставить более высокоуровневую и удобную реализацию, позволяющую разработчикам сосредоточиться на бизнес-логике, а не на настройке аутентификации вручную. Следующие автоконфигурируемые компоненты упрощают интеграцию:

Руководства по реализации

Подключение к MySQL

Spring Cloud Azure использует AzureMysqlAuthenticationPlugin для преобразования маркера Microsoft Entra в пароль, совместимый с MySQL. Дополнительные сведения см. в статье Поддержка Spring Cloud Azure для MySQL и в репозитории с примерами.

Подключение к PostgreSQL

Для PostgreSQL Azure Spring Cloud использует AzurePostgresqlAuthenticationPlugin для перевода токена Microsoft Entra в пароль, распознанный PostgreSQL. Дополнительные сведения см. в разделе Поддержка PostgreSQL в Spring Cloud Azure и в репозитории с примерами.

Подключение к Redis

Чтобы включить аутентификацию без пароля для Redis, Spring Cloud Azure использует AzureAuthenticationTemplate для преобразования токена Microsoft Entra в действительные учетные данные Redis. Дополнительные сведения см. в разделе поддержки Redis в Spring Cloud Azure и примере репозитория.

Подключение к Служебная шина Azure JMS

Для Служебная шина Azure JMS Spring Cloud Azure использует TokenCredentialProviderOptions для преобразования токена Microsoft Entra в учетные данные Служебная шина Azure JMS. Дополнительные сведения см. в разделе "Использование служебной шины Azure" с JMS и примером репозитория.