Поделиться через


Использование Microsoft Entra для проверки подлинности кэша с помощью Управляемого Redis Azure (предварительная версия)

Управляемый Redis (предварительная версия) Azure предлагает два метода проверки подлинности в экземпляре кэша: ключи доступа и Microsoft Entra.

Несмотря на то, что проверка подлинности ключа доступа является простой, она поставляется с набором проблем по обеспечению безопасности и управлению паролями. Для сравнения, в этой статье вы узнаете, как использовать токен Microsoft Entra для проверки подлинности кэша.

Управляемый Redis Azure предлагает механизм проверки подлинности без пароля, интегрируясь с Microsoft Entra. Идентификатор записи, настроенный для подключения к Управляемому Redis в Azure, присваивается те же разрешения, что и при использовании ключей доступа.

Из этой статьи вы узнаете, как использовать субъект-службу или управляемое удостоверение для подключения к экземпляру Redis.

Предварительные требования и ограничения

Внимание

После установки подключения с помощью маркера Microsoft Entra клиентские приложения должны периодически обновлять маркер Microsoft Entra до истечения срока действия. Затем приложения должны отправить AUTH команду на сервер Redis, чтобы избежать нарушения подключений. Дополнительные сведения см. в разделе "Настройка клиента Redis для использования Microsoft Entra".

Включение проверки подлинности Microsoft Entra в кэше

  1. В портал Azure выберите экземпляр Управляемого Redis в Azure, где требуется настроить проверку подлинности на основе маркера Microsoft Entra.

  2. В меню "Ресурс" выберите "Проверка подлинности".

  3. На рабочей панели выберите вкладку проверки подлинности Microsoft Entra Authentication .

  4. Выберите "Включить проверку подлинности Microsoft Entra" и нажмите кнопки "Пользователь или субъект-служба" или "Управляемое удостоверение". Пользователь, в который вы вводите, автоматически назначается тем же разрешениям, что и при использовании ключей доступа при выборе. Вы также можете ввести управляемое удостоверение или субъект-службу для подключения к экземпляру AMR.

    Снимок экрана: проверка подлинности, выбранная в меню ресурсов, и флажок

Сведения об использовании Microsoft Entra с Azure CLI см. на справочных страницах для удостоверения.

Отключение проверки подлинности ключа доступа в кэше

Использование Microsoft Entra — это безопасный способ подключения кэша. Рекомендуется использовать Microsoft Entra и отключить ключи доступа.

При отключении проверки подлинности ключа доступа для экземпляра Redis все существующие клиентские подключения завершаются, используют ли они ключи доступа или проверку подлинности Microsoft Entra. Следуйте рекомендациям клиента Redis, чтобы реализовать надлежащие механизмы повторных попыток для повторного подключения подключений на основе Microsoft Entra, если таковые есть.

Перед отключением ключей доступа:

  • Проверка подлинности Microsoft Entra должна быть включена.

  • Для геореплицированных кэшей необходимо:

    1. Отмена связи кэшей.
    2. отключить ключи доступа;
    3. Повторное связывание кэшей.

Если у вас есть кэш, в котором используются ключи доступа, и вы хотите отключить ключи доступа, выполните следующую процедуру:

  1. В портал Azure выберите экземпляр Управляемого Redis в Azure, где требуется отключить ключи доступа.

  2. В меню "Ресурс" выберите "Проверка подлинности".

  3. На рабочей панели выберите ключи доступа.

  4. Настройте проверку подлинности ключей доступа для отключения.

    Снимок экрана: ключи доступа в рабочей области с флажком

  5. Убедитесь, что вы хотите обновить конфигурацию, нажав кнопку "Да".

Внимание

При изменении параметра проверки подлинности ключей доступа для кэша все существующие клиентские подключения с помощью ключей доступа или Microsoft Entra завершаются. Следуйте рекомендациям по реализации надлежащих механизмов повторных попыток для повторного подключения подключений на основе Microsoft Entra. Дополнительные сведения см. в разделе Устойчивость подключения.

Настройка клиента Redis для использования Microsoft Entra

Так как большинство клиентов Управляемого Redis в Azure предполагают, что для проверки подлинности используется пароль и ключ доступа, скорее всего, необходимо обновить рабочий процесс клиента для поддержки проверки подлинности с помощью Microsoft Entra. В этом разделе описано, как настроить клиентские приложения для подключения к Управляемому Redis Azure с помощью токена Microsoft Entra.

Рабочий процесс клиента Microsoft Entra

  1. Настройте клиентское приложение для получения маркера Microsoft Entra для области https://redis.azure.com/.default или acca5fbb-b7e4-4009-81f1-37e38fd66d78/.defaultс помощью библиотеки проверки подлинности Майкрософт (MSAL).

  2. Обновите логику подключения Redis, чтобы использовать следующие User и Password:

    • User = идентификатор объекта управляемого удостоверения или субъекта-службы
    • Password = токен Microsoft Entra, полученный с помощью MSAL
  3. Убедитесь, что клиент выполняет команду 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 команд одновременно.