Использование Microsoft Entra для проверки подлинности кэша с помощью Управляемого Redis Azure (предварительная версия)
Управляемый Redis (предварительная версия) Azure предлагает два метода проверки подлинности в экземпляре кэша: ключи доступа и Microsoft Entra.
Несмотря на то, что проверка подлинности ключа доступа является простой, она поставляется с набором проблем по обеспечению безопасности и управлению паролями. Для сравнения, в этой статье вы узнаете, как использовать токен Microsoft Entra для проверки подлинности кэша.
Управляемый Redis Azure предлагает механизм проверки подлинности без пароля, интегрируясь с Microsoft Entra. Идентификатор записи, настроенный для подключения к Управляемому Redis в Azure, присваивается те же разрешения, что и при использовании ключей доступа.
Из этой статьи вы узнаете, как использовать субъект-службу или управляемое удостоверение для подключения к экземпляру Redis.
Предварительные требования и ограничения
- Проверка подлинности Microsoft Entra поддерживается только для SSL-подключений.
- Некоторые команды Redis блокируются. Полный список заблокированных команд см. в разделе "Команды Redis", которые не поддерживаются в Управляемом Redis Azure.
Внимание
После установки подключения с помощью маркера Microsoft Entra клиентские приложения должны периодически обновлять маркер Microsoft Entra до истечения срока действия. Затем приложения должны отправить AUTH
команду на сервер Redis, чтобы избежать нарушения подключений. Дополнительные сведения см. в разделе "Настройка клиента Redis для использования Microsoft Entra".
Включение проверки подлинности Microsoft Entra в кэше
В портал Azure выберите экземпляр Управляемого Redis в Azure, где требуется настроить проверку подлинности на основе маркера Microsoft Entra.
В меню "Ресурс" выберите "Проверка подлинности".
На рабочей панели выберите вкладку проверки подлинности Microsoft Entra Authentication .
Выберите "Включить проверку подлинности Microsoft Entra" и нажмите кнопки "Пользователь или субъект-служба" или "Управляемое удостоверение". Пользователь, в который вы вводите, автоматически назначается тем же разрешениям, что и при использовании ключей доступа при выборе. Вы также можете ввести управляемое удостоверение или субъект-службу для подключения к экземпляру AMR.
Сведения об использовании Microsoft Entra с Azure CLI см. на справочных страницах для удостоверения.
Отключение проверки подлинности ключа доступа в кэше
Использование Microsoft Entra — это безопасный способ подключения кэша. Рекомендуется использовать Microsoft Entra и отключить ключи доступа.
При отключении проверки подлинности ключа доступа для экземпляра Redis все существующие клиентские подключения завершаются, используют ли они ключи доступа или проверку подлинности Microsoft Entra. Следуйте рекомендациям клиента Redis, чтобы реализовать надлежащие механизмы повторных попыток для повторного подключения подключений на основе Microsoft Entra, если таковые есть.
Перед отключением ключей доступа:
Проверка подлинности Microsoft Entra должна быть включена.
Для геореплицированных кэшей необходимо:
- Отмена связи кэшей.
- отключить ключи доступа;
- Повторное связывание кэшей.
Если у вас есть кэш, в котором используются ключи доступа, и вы хотите отключить ключи доступа, выполните следующую процедуру:
В портал Azure выберите экземпляр Управляемого Redis в Azure, где требуется отключить ключи доступа.
В меню "Ресурс" выберите "Проверка подлинности".
На рабочей панели выберите ключи доступа.
Настройте проверку подлинности ключей доступа для отключения.
Убедитесь, что вы хотите обновить конфигурацию, нажав кнопку "Да".
Внимание
При изменении параметра проверки подлинности ключей доступа для кэша все существующие клиентские подключения с помощью ключей доступа или Microsoft Entra завершаются. Следуйте рекомендациям по реализации надлежащих механизмов повторных попыток для повторного подключения подключений на основе Microsoft Entra. Дополнительные сведения см. в разделе Устойчивость подключения.
Настройка клиента Redis для использования Microsoft Entra
Так как большинство клиентов Управляемого Redis в Azure предполагают, что для проверки подлинности используется пароль и ключ доступа, скорее всего, необходимо обновить рабочий процесс клиента для поддержки проверки подлинности с помощью Microsoft Entra. В этом разделе описано, как настроить клиентские приложения для подключения к Управляемому Redis Azure с помощью токена Microsoft Entra.
Рабочий процесс клиента Microsoft Entra
Настройте клиентское приложение для получения маркера Microsoft Entra для области
https://redis.azure.com/.default
илиacca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
с помощью библиотеки проверки подлинности Майкрософт (MSAL).Обновите логику подключения Redis, чтобы использовать следующие
User
иPassword
:User
= идентификатор объекта управляемого удостоверения или субъекта-службыPassword
= токен Microsoft Entra, полученный с помощью MSAL
Убедитесь, что клиент выполняет команду Redis AUTH автоматически до истечения срока действия маркера Microsoft Entra с помощью:
User
= идентификатор объекта управляемого удостоверения или субъекта-службыPassword
= токен Microsoft Entra периодически обновляется
Поддержка клиентских библиотек
Microsoft.Azure.StackExchangeRedis
Библиотека — это расширениеStackExchange.Redis
, которое позволяет использовать Microsoft Entra для проверки подлинности подключений из клиентского приложения Redis к Управляемому Redis Azure. Расширение управляет маркером проверки подлинности, включая упреждающее обновление маркеров до истечения срока их действия для поддержания постоянных подключений Redis в течение нескольких дней.
В этом примере кода показано, как использовать Microsoft.Azure.StackExchangeRedis
пакет NuGet для подключения к экземпляру Azure Managed Redis с помощью Microsoft Entra.
В следующей таблице приведены ссылки на примеры кода. Они демонстрируют, как подключиться к экземпляру Управляемого Redis в Azure с помощью токена Microsoft Entra. Различные клиентские библиотеки включены в несколько языков.
Клиентская библиотека | Язык | Ссылка на пример кода |
---|---|---|
StackExchange.Redis | .NET | Пример кода StackExchange.Redis |
redis-py | Python | Пример кода redis-py |
Jedis | Java | Пример кода Jedis |
Lettuce | Java | Пример кода Lettuce |
Redisson | Java | Пример кода Redisson |
ioredis. | Node.js | Пример кода ioredis |
node-redis | Node.js | Пример кода node-redis |
Рекомендации по проверке подлинности Microsoft Entra
- Настройте частные ссылки или правила брандмауэра для защиты кэша от атаки типа "отказ в обслуживании".
- Убедитесь, что клиентское приложение отправляет новый маркер Microsoft Entra по крайней мере через три минуты до истечения срока действия маркера, чтобы избежать нарушений подключения.
- При периодическом вызове команды сервера
AUTH
Redis рекомендуется добавить jitter, чтобыAUTH
команды были ошеломлены. Таким образом, сервер Redis не получает слишком многоAUTH
команд одновременно.