Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управляемый Redis Azure предлагает механизм проверки подлинности без пароля, интегрируясь с идентификатором Microsoft Entra. Управляемые кеши Redis на Azure по умолчанию используют Microsoft Entra ID. При создании нового кэша включается управляемое удостоверение.
Хотя проверка подлинности ключа доступа по-прежнему доступна, она поставляется с набором проблем по управлению безопасностью и паролями. Для сравнения в этой статье приведена информация о том, как проверяется подлинность кэша с помощью токена Microsoft Entra.
Из этой статьи вы узнаете, как с помощью служебного принципала или управляемого удостоверения подключиться к экземпляру Redis.
Предварительные требования и ограничения
- Проверка подлинности Microsoft Entra поддерживается только для SSL-подключений.
- Группы Microsoft Entra не поддерживаются.
- Некоторые команды Redis блокируются. Полный список заблокированных команд см. в разделе Команды Redis, которые не поддерживает Redis под управлением Azure.
Important
После установки подключения с помощью токена Microsoft Entra клиентские приложения должны периодически обновлять этот токен, прежде чем срок его действия истечет. Затем приложения должны отправить команду AUTH на сервер Redis, чтобы избежать нарушения подключений. Подробнее см. в разделе Настройка клиента Redis для использования Microsoft Entra.
Настройка использования Microsoft Entra в клиенте Redis
Если вы использовали ключи доступа в прошлом для проверки подлинности, необходимо обновить рабочий процесс клиента для поддержки проверки подлинности с помощью идентификатора Microsoft Entra. В этом разделе описано, как подключиться к Управляемому Redis Azure с помощью идентификатора Microsoft Entra.
Добавление пользователей или системного субъекта в кэш
Подключитесь к кэшу на портале Azure.
В меню "Ресурс" выберите "Проверка подлинности".
На вкладке Проверки подлинности Microsoft Entra выберите "Пользователь" или "Субъект-служба ", а затем нажмите кнопку "Выбрать участника".
Введите имя пользователя, который вы хотите запустить программу. Выберите пользователя, который нужно добавить в список, и выберите его. Пользователь добавляется в список пользователей Redis.
Рабочий процесс клиента Microsoft Entra
Настройте клиентское приложение для получения токена Microsoft Entra для области
https://redis.azure.com/.defaultилиacca5fbb-b7e4-4009-81f1-37e38fd66d78/.defaultс помощью Библиотеки аутентификации Microsoft (MSAL).Обновите логику подключения Redis, чтобы использовать следующие
UserиPassword:-
User= идентификатор объекта управляемого удостоверения или служебного принципала -
Password= токен Microsoft Entra, полученный с помощью MSAL
-
Убедитесь, что клиент автоматически выполняет команду Redis
AUTHдо истечения срока действия маркера Microsoft Entra с помощью:-
User= идентификатор объекта управляемого удостоверения или служебного принципала -
Password= токен Microsoft Entra периодически обновляется
-
Рекомендации по проверке подлинности Microsoft Entra
- Настройте приватные каналы или правила брандмауэра, которые защитят ваш кэш от атаки типа "отказ в обслуживании".
- Убедитесь, что клиентское приложение отправляет новый токен Microsoft Entra минимум за три минуты до истечения срока действия предыдущего токена, чтобы избежать разрыва подключения.
- Если вы периодически направляете на сервер Redis команду
AUTH, рассмотрите возможность добавить джиттер, чтобы отрегулировать порядок выполнения командAUTH. Благодаря этому сервер Redis не будет одновременно получать слишком много командAUTH.
Устранение неполадок с идентификатором Microsoft Entra и кэшем
При возникновении проблем с аутентификацией с Microsoft Entra ID на экземпляре Управляемого Redis в Azure вы можете использовать Azure CLI для тестирования подключения или проверки ваших токенов с помощью скрипта PowerShell.
Проверка подключения с помощью Azure CLI
Azure CLI можно использовать для быстрого тестирования, если вы можете подключиться к кластеру Redis. Команда az redisenterprise test-connection полезна для отладки проблем с подключением и проверяет сквозное подключение, отправив ping команду.
Предварительные требования для использования Azure CLI с Azure Managed Redis см. в статье "Управление кэшем Azure Managed Redis с помощью Azure CLI".
Чтобы проверить подключение с проверкой подлинности Идентификатора Microsoft Entra (по умолчанию), выполните следующую команду:
az redisenterprise test-connection --name <cache-name> --resource-group <resource-group-name>
Или явно укажите аутентификацию Entra:
az redisenterprise test-connection --name <cache-name> --resource-group <resource-group-name> --auth entra
Замечание
Эта команда использует учетные данные, установленные с помощью az login, которые поддерживают учетные записи пользователей, управляемые удостоверения или принципы безопасности службы.
Проверка токенов Microsoft Entra
Если приложению не удается получить доступ к экземпляру Управляемого Redis Azure с помощью идентификатора Microsoft Entra, можно также использовать следующий скрипт PowerShell:
Этот скрипт PowerShell проверяет токены Microsoft Entra ID для управляемых ресурсов кэша Redis в Azure. Скрипт проверяет маркеры и проверяет политики доступа, помогающие диагностировать проблемы с проверкой подлинности.
Поддержка клиентских библиотек
Библиотека Microsoft.Azure.StackExchangeRedis является расширением StackExchange.Redis, которое позволяет использовать Microsoft Entra для аутентификации подключений от клиентского приложения Redis к управляемому Redis в Azure. Данное расширение управляет токеном аутентификации, в том числе его обновлением до истечения срока действия, чтобы в течение нескольких дней непрерывно поддерживать подключение к Redis.
В этом примере кода показано, как использовать пакет NuGet Microsoft.Azure.StackExchangeRedis для подключения к экземпляру Redis под управлением Azure с помощью Microsoft Entra.
В таблице ниже указаны ссылки на примеры кода. В них показано, как подключиться к экземпляру Redis под управлением Azure, используя токен Microsoft Entra. Включены различные клиентские библиотеки на разных языках.
| Клиентская библиотека | Language | Ссылка на пример кода |
|---|---|---|
| StackExchange.Redis | .NET | Пример кода StackExchange.Redis |
| redis-py | Python | Пример кода redis-py |
| Jedis | Java | Пример кода Jedis |
| Lettuce | Java | Пример кода Lettuce |
| node-redis | Node.js | Пример кода node-redis |
| go-redis | Go | Пример кода go |
Отключение аутентификации в кэше с помощью ключа доступа
Если у вас есть кэш с помощью ключей доступа, рекомендуется переключиться на идентификатор Microsoft Entra в качестве безопасного способа подключения кэша и отключения ключей доступа.
При отключении ключей доступа система завершает все существующие клиентские подключения независимо от того, используются ли ключи доступа или проверка подлинности идентификатора Microsoft Entra.
Прежде чем отключить ключи доступа в геореплицированных кэшах, необходимо:
- Отменить привязку кэшей.
- отключить ключи доступа;
- Повторно привязать кэши.
Чтобы отключить ключи доступа, выполните следующую процедуру:
В портале Azure выберите управляемый экземпляр Redis в Azure, где нужно отключить ключи доступа.
В меню "Ресурс" выберите "Проверка подлинности".
На рабочей панели выберите ключи доступа.
Выберите элемент управления проверки подлинности ключей доступа , чтобы отключить ключи доступа.
Убедитесь, что вы хотите обновить конфигурацию, нажав кнопку "Да".
Important
При изменении параметра проверки подлинности ключей доступа для кэша все существующие клиентские подключения с помощью ключей доступа или Microsoft Entra завершаются. Следуйте этим рекомендациям, чтобы реализовать правильные механизмы повторных попыток для повторного подключения на базе Microsoft Entra. Дополнительные сведения см. в разделе " Устойчивость подключений".