Использование 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 клиентские приложения должны периодически обновлять этот токен, прежде чем срок его действия истечет. Затем приложения должны отправить команду AUTH
на сервер Redis, чтобы избежать нарушения подключений. Подробнее см. в разделе Настройка клиента Redis для использования Microsoft Entra.
Включение в кэше проверки подлинности Microsoft Entra
В портал Azure выберите экземпляр Кэш Azure для Redis, в котором требуется настроить проверку подлинности на основе маркера Microsoft Entra.
В меню Ресурсы выберите Проверка подлинности.
На рабочей панели перейдите на вкладку Проверка подлинности Microsoft Entra.
Выберите "Включить проверку подлинности 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. Дополнительные сведения см. в разделе Устойчивость подключения.
Использование конфигурации доступа к данным с кэшем
Если вы хотите использовать настраиваемую политику доступа вместо владельца данных Redis, перейдите в меню "Конфигурация доступа к данным". Дополнительные сведения см. в разделе "Настройка настраиваемой политики доступа к данным" для приложения.
В портал Azure выберите экземпляр Кэш Azure для Redis, в котором требуется добавить в конфигурацию доступа к данным.
В меню "Ресурс" выберите "Конфигурация доступа к данным".
Нажмите кнопку "Добавить " и выберите "Новый пользователь Redis".
На вкладке "Политики доступа" выберите одну из доступных политик в таблице: владелец данных, участник данных или средство чтения данных. Затем нажмите кнопку "Далее: пользователи Redis".
Выберите пользователя или субъект-службу или управляемое удостоверение, чтобы определить способ назначения доступа к экземпляру Кэш Azure для Redis. Если вы выберете пользователя или субъект-службу и хотите добавить пользователя, сначала необходимо включить проверку подлинности Microsoft Entra.
Затем выберите "Выбрать участников " и нажмите кнопку "Выбрать". Затем нажмите кнопку "Далее" и " Проверить и назначить".
Всплывающее диалоговое окно уведомляет вас о том, что обновление является постоянным и может вызвать краткое скольжение подключения. Выберите Да.
Внимание
После завершения операции включения узлы в экземпляре кэша перезагружается, чтобы загрузить новую конфигурацию. Мы рекомендуем выполнить эту операцию во время периода обслуживания или за пределами рабочих часов. Операция может занять до 30 минут.
Настройка использования Microsoft Entra в клиенте Redis
Так как большинство клиентов Кэш Azure для Redis предполагают, что для проверки подлинности используется пароль и ключ доступа, скорее всего, необходимо обновить рабочий процесс клиента для поддержки проверки подлинности с помощью Microsoft Entra. В этом разделе описано, как настроить клиентские приложения для подключения к Кэш Azure для Redis с помощью токена Microsoft Entra.
Рабочий процесс клиента 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
-
Убедитесь, что клиент автоматически выполняет команду AUTH для Redis, прежде чем истечет срок действия токена 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
.