Использование Microsoft Entra для проверки подлинности кэша
Кэш Azure для Redis предлагает два метода проверки подлинности в экземпляре кэша: ключи доступа и Microsoft Entra.
Несмотря на то, что проверка подлинности ключа доступа является простой, она поставляется с набором проблем по обеспечению безопасности и управлению паролями. Для сравнения, в этой статье вы узнаете, как использовать токен Microsoft Entra для проверки подлинности кэша.
Кэш Azure для Redis предлагает механизм проверки подлинности без пароля путем интеграции с Microsoft Entra. Эта интеграция также включает функции управления доступом на основе ролей, предоставляемые с помощью списков управления доступом (ACL), поддерживаемых в Redis с открытым кодом.
Чтобы использовать интеграцию ACL, клиентское приложение должно принять удостоверение сущности Microsoft Entra, например субъект-служба или управляемое удостоверение, и подключиться к кэшу. Из этой статьи вы узнаете, как использовать субъект-службу или управляемое удостоверение для подключения к кэшу. Вы также узнаете, как предоставить предопределенные разрешения подключения на основе артефакта Microsoft Entra, используемого для подключения.
Область доступности
Уровень | "Базовый", "Стандартный" и "Премиум" | Enterprise, Enterprise Flash |
---|---|---|
Availability | Да | Нет |
Предварительные требования и ограничения
- Проверка подлинности Microsoft Entra поддерживается для SSL-подключений и TLS 1.2 или более поздней версии.
- Проверка подлинности Microsoft Entra не поддерживается на корпоративных уровнях Кэш Azure для Redis Enterprise.
- Некоторые команды Redis блокируются. Полный список заблокированных команд см. в разделе "Команды Redis", которые не поддерживаются в Кэш Azure для Redis.
Внимание
После установки подключения с помощью маркера Microsoft Entra клиентские приложения должны периодически обновлять маркер Microsoft Entra до истечения срока действия. Затем приложения должны отправить AUTH
команду на сервер Redis, чтобы избежать нарушения подключений. Дополнительные сведения см. в разделе "Настройка клиента Redis для использования Microsoft Entra".
Включение проверки подлинности Microsoft Entra в кэше
В портал Azure выберите экземпляр Кэш Azure для Redis, в котором требуется настроить проверку подлинности на основе маркера Microsoft Entra.
В меню "Ресурс" выберите "Проверка подлинности".
На рабочей панели выберите вкладку проверки подлинности Microsoft Entra Authentication .
Выберите "Включить проверку подлинности Microsoft Entra" и введите имя допустимого пользователя. По умолчанию при нажатии кнопки "Сохранить" пользователь, который вы вводите, автоматически назначается политика доступа владельца данных. Вы также можете ввести управляемое удостоверение или субъект-службу для подключения к экземпляру кэша.
Всплывающее диалоговое окно спрашивает, хотите ли вы обновить конфигурацию и сообщите, что это займет несколько минут. Выберите Да.
Внимание
После завершения операции включения узлы в экземпляре кэша перезагружается, чтобы загрузить новую конфигурацию. Мы рекомендуем выполнить эту операцию во время периода обслуживания или за пределами рабочих часов. Операция может занять до 30 минут.
Сведения об использовании Microsoft Entra с Azure CLI см. на справочных страницах для удостоверения.
Отключение проверки подлинности ключа доступа в кэше
Использование Microsoft Entra — это безопасный способ подключения кэша. Рекомендуется использовать Microsoft Entra и отключить ключи доступа.
При отключении проверки подлинности ключа доступа для кэша все существующие клиентские подключения завершаются, используют ли они ключи доступа или проверку подлинности Microsoft Entra. Следуйте рекомендациям клиента Redis, чтобы реализовать надлежащие механизмы повторных попыток для повторного подключения подключений на основе Microsoft Entra, если таковые есть.
Перед отключением ключей доступа
- Убедитесь, что проверка подлинности Microsoft Entra включена, и вы настроили хотя бы одного пользователя Redis.
- Убедитесь, что все приложения, подключающиеся к экземпляру кэша, переключаются на использование проверки подлинности Microsoft Entra Authentication.
- Убедитесь, что метрики подключенных клиентов и подключенных клиентов с помощью токена Microsoft Entra имеют одинаковые значения. Если значения этих двух метрик не совпадают, это означает, что все еще есть некоторые подключения, созданные с помощью ключей доступа, а не токена Microsoft Entra.
- Рекомендуется отключить доступ во время запланированного периода обслуживания для экземпляра кэша.
- Отключение ключей доступа доступно только для кэшей уровня "Базовый", "Стандартный" и "Премиум".
Для геореплицированных кэшей необходимо:
- Отмена связи кэшей.
- отключить ключи доступа;
- Повторное связывание кэшей.
Если у вас есть кэш, в котором вы использовали ключи доступа, и вы хотите отключить ключи доступа, выполните следующую процедуру:
В портал Azure выберите экземпляр Кэш Azure для Redis, в котором требуется отключить ключи доступа.
В меню "Ресурс" выберите "Проверка подлинности".
На рабочей панели выберите ключи доступа.
Выберите "Отключить проверку подлинности ключей доступа". Затем нажмите кнопку Сохранить.
Убедитесь, что вы хотите обновить конфигурацию, нажав кнопку "Да".
Внимание
При изменении параметра проверки подлинности ключей доступа для кэша все существующие клиентские подключения с помощью ключей доступа или Microsoft Entra завершаются. Следуйте рекомендациям по реализации надлежащих механизмов повторных попыток для повторного подключения подключений на основе Microsoft Entra. Дополнительные сведения см. в разделе Устойчивость подключения.
Использование конфигурации доступа к данным с кэшем
Если вы хотите использовать настраиваемую политику доступа вместо владельца данных Redis, перейдите в меню "Конфигурация доступа к данным". Дополнительные сведения см. в разделе "Настройка настраиваемой политики доступа к данным" для приложения.
В портал Azure выберите экземпляр Кэш Azure для Redis, в котором требуется добавить в конфигурацию доступа к данным.
В меню "Ресурс" выберите "Конфигурация доступа к данным".
Нажмите кнопку "Добавить " и выберите "Новый пользователь Redis".
На вкладке "Политики доступа" выберите одну из доступных политик в таблице: владелец данных, участник данных или средство чтения данных. Затем нажмите кнопку "Далее: пользователи Redis".
Выберите пользователя или субъект-службу или управляемое удостоверение, чтобы определить способ назначения доступа к экземпляру Кэш Azure для Redis. Если вы выберете пользователя или субъект-службу и хотите добавить пользователя, сначала необходимо включить проверку подлинности Microsoft Entra.
Затем выберите "Выбрать участников " и нажмите кнопку "Выбрать". Затем нажмите кнопку "Далее" и " Проверить и назначить".
Всплывающее диалоговое окно уведомляет вас о том, что обновление является постоянным и может вызвать краткое скольжение подключения. Выберите Да.
Внимание
После завершения операции включения узлы в экземпляре кэша перезагружается, чтобы загрузить новую конфигурацию. Мы рекомендуем выполнить эту операцию во время периода обслуживания или за пределами рабочих часов. Операция может занять до 30 минут.
Настройка клиента Redis для использования Microsoft Entra
Так как большинство клиентов Кэш Azure для Redis предполагают, что для проверки подлинности используется пароль и ключ доступа, скорее всего, необходимо обновить рабочий процесс клиента для поддержки проверки подлинности с помощью Microsoft Entra. В этом разделе описано, как настроить клиентские приложения для подключения к Кэш Azure для Redis с помощью токена 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 к Кэш Azure для Redis. Расширение управляет маркером проверки подлинности, включая упреждающее обновление маркеров до истечения срока их действия для поддержания постоянных подключений Redis в течение нескольких дней.
В этом примере кода показано, как использовать пакет NuGet для подключения к экземпляру Microsoft.Azure.StackExchangeRedis
Кэш Azure для Redis с помощью Microsoft Entra.
В следующей таблице приведены ссылки на примеры кода. Они демонстрируют, как подключиться к экземпляру Кэш Azure для Redis с помощью токена Microsoft Entra. Различные клиентские библиотеки включены в несколько языков.
Клиентская библиотека | Язык | Ссылка на пример кода |
---|---|---|
StackExchange.Redis | .NET | Пример кода StackExchange.Redis |
go-redis | Go | Пример кода go-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 рекомендуется добавить случайную задержку, чтобыAUTH
команды были ошеломлены. Таким образом, сервер Redis не получает слишком многоAUTH
команд одновременно.