Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Cache for Redis offers two methods to authenticate to your cache instance: access keys and Microsoft Entra.
Выполнять проверку подлинности с помощью ключей доступа очень просто, однако она создает ряд проблемы с безопасностью и управлением паролями. Для сравнения в этой статье приведена информация о том, как проверяется подлинность кэша с помощью токена Microsoft Entra.
Azure Cache for Redis offers a password-free authentication mechanism by integrating with Microsoft Entra. Эта интеграция также включает функции управления доступом на основе ролей, предоставляемые с помощью списков управления доступом (ACL), которые поддерживает Redis с открытым исходным кодом.
Чтобы использовать интеграцию ACL, ваше клиентское приложение должно принять удостоверение сущности Microsoft Entra, например основной объект службы или управляемая идентификация, и подключиться к вашему кэшу. Из этой статьи вы узнаете, как использовать служебный принципал или управляемую учетную запись для подключения к вашему кэшу. Вы также узнаете, как предоставить предопределенные разрешения подключения на основе артефакта Microsoft Entra, используемого для подключения.
Область доступности
Tier | "Базовый", "Стандартный" и "Премиум" | Энтерпрайз, Энтерпрайз Флэш |
---|---|---|
Availability | Yes | No |
Предварительные требования и ограничения
- Проверка подлинности Microsoft Entra поддерживается для SSL-подключений и TLS 1.2 или более поздней версии.
- Проверка подлинности Microsoft Entra не поддерживается на уровнях корпоративных версий Azure Cache для Redis Enterprise.
- Группы Microsoft Entra не поддерживаются.
- Некоторые команды Redis блокируются. Полный список заблокированных команд см. в разделе "Команды Redis", которые не поддерживаются в Кэш Azure для Redis.
Important
После установки подключения с помощью токена Microsoft Entra клиентские приложения должны периодически обновлять этот токен, прежде чем срок его действия истечет. Затем приложения должны отправить команду AUTH
на сервер Redis, чтобы избежать нарушения подключений. Подробнее см. в разделе Настройка клиента Redis для использования Microsoft Entra.
Включите проверку подлинности Microsoft Entra в вашем кэше
На портале Azure выберите экземпляр Azure Cache для Redis, где вы хотите настроить аутентификацию на основе токена Microsoft Entra.
On the Resource menu, select Authentication.
На рабочей панели перейдите на вкладку Проверка подлинности Microsoft Entra.
Выберите "Включить проверку подлинности Microsoft Entra" и введите имя допустимого пользователя. По умолчанию, когда вы выбираете Сохранить, пользователю, которого вы вводите, автоматически назначается Политика доступа владельца данных. Вы также можете ввести управляемое удостоверение или служебный принципал, чтобы подключиться к экземпляру кэша.
Всплывающее диалоговое окно спрашивает, хотите ли вы обновить конфигурацию, и сообщает, что это займет несколько минут. Select Yes.
Important
После завершения операции включения узлы в экземпляре вашего кэша перезагружаются, чтобы загрузить новую конфигурацию. Мы рекомендуем выполнить эту операцию во время периода обслуживания или за пределами рабочих часов. Операция может занять до 30 минут.
Информацию об использовании Microsoft Entra с Azure CLI см. на страницах справки по удостоверениям.
Отключение аутентификации в кэше с помощью ключа доступа
Использование Microsoft Entra — это надежный способ подключения вашего кэша. Мы рекомендуем вам использовать именно Microsoft Entra, а ключи доступа отключить.
При отключении проверки подлинности ключа доступа для кэша все существующие клиентские подключения завершаются, используют ли они ключи доступа или проверку подлинности Microsoft Entra. Следуйте рекомендациям в отношении клиента Redis, чтобы внедрить надежные механизмы повторения попыток для восстановления подключений с использованием Microsoft Entra, при их наличии.
Перед отключением ключей доступа
- Убедитесь, что проверка подлинности Microsoft Entra включена, и вы настроили хотя бы одного пользователя Redis.
- Убедитесь, что все приложения, подключающиеся к экземпляру кэша, переходят на аутентификацию с использованием Microsoft Entra Authentication.
- Ensure that the metrics Connected Clients and Connected Clients Using Microsoft Entra Token have the same values. Если они разные, это означает, что в системе все еще присутствуют подключения, созданные с помощью ключей доступа, а не токена Microsoft Entra.
- Рассмотрите возможность отключения доступа на время запланированного технического обслуживания для экземпляра кэша.
- Отключение ключей доступа доступно только для кэшей уровня "Базовый", "Стандартный" и "Премиум".
В отношении геореплицированных кэшей необходимо сделать следующее:
- Отменить привязку кэшей.
- отключить ключи доступа;
- Повторно привязать кэши.
Если у вас есть кэш, в котором вы использовали ключи доступа, и вы хотите отключить ключи доступа, выполните следующую процедуру:
В портале Azure выберите экземпляр Azure Cache для Redis, в котором вы хотите отключить ключи доступа.
On the Resource menu, select Authentication.
On the working pane, select Access keys.
Выберите "Отключить проверку подлинности ключей доступа". Then, select Save.
Confirm that you want to update your configuration by selecting Yes.
Important
Если для кэша изменена настройка Отключить проверку подлинности по ключу доступа, все существующие клиентские соединения, использующие ключи доступа или Microsoft Entra, будут прерваны. Следуйте этим рекомендациям, чтобы реализовать правильные механизмы повторных попыток для повторного подключения на базе Microsoft Entra. For more information, see Connection resilience.
Используйте конфигурацию доступа к данным для вашего кэша
Если вы хотите использовать настраиваемую политику доступа вместо владельца данных Redis, перейдите в меню "Конфигурация доступа к данным". Дополнительные сведения см. в разделе "Настройка настраиваемой политики доступа к данным" для приложения.
В портале Azure выберите экземпляр Кэш Azure для Redis, в котором вы хотите добавить конфигурацию доступа к данным.
On the Resource menu, select Data Access Configuration.
Select Add and then select New Redis User.
On the Access Policies tab, select one of the available policies in the table: Data Owner, Data Contributor, or Data Reader. Затем выберите Далее: пользователи Redis.
Выберите пользователя или учётную запись службы или Управляемое удостоверение, чтобы определить, как назначить доступ к экземпляру Кэша в Azure для Redis. Если вы выберете пользователя или учетную запись службы и хотите добавить пользователя, сначала необходимо включить аутентификацию Microsoft Entra.
Then, choose Select members and choose Select. Затем выберите Далее: Проверить и назначить.
Всплывающее диалоговое окно уведомляет вас о том, что обновление необратимо и может вызвать краткий прерыв подключения. Select Yes.
Important
После завершения операции включения узлы в экземпляре вашего кэша перезагружаются, чтобы загрузить новую конфигурацию. Мы рекомендуем выполнить эту операцию во время периода обслуживания или за пределами рабочих часов. Операция может занять до 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
-
Ensure that your client executes a Redis AUTH command automatically before your Microsoft Entra token expires by using:
-
User
= идентификатор объекта управляемого удостоверения или служебного принципала -
Password
= токен Microsoft Entra периодически обновляется
-
Поддержка клиентских библиотек
Библиотека Microsoft.Azure.StackExchangeRedis
— это расширение StackExchange.Redis
, которое позволяет использовать Microsoft Entra для аутентификации подключений клиентского приложения Redis к Azure Cache для Redis. Данное расширение управляет токеном аутентификации, в том числе его обновлением до истечения срока действия, чтобы в течение нескольких дней непрерывно поддерживать подключение к Redis.
В этом примере кода показано, как использовать пакет NuGet для подключения к экземпляру Microsoft.Azure.StackExchangeRedis
Кэш Azure для Redis с помощью Microsoft Entra.
В таблице ниже указаны ссылки на примеры кода. Они демонстрируют, как подключиться к экземпляру кэша Azure для Redis, используя токен Microsoft Entra. Включены различные клиентские библиотеки на разных языках.
Client library | 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 минимум за три минуты до истечения срока действия предыдущего токена, чтобы избежать разрыва подключения.
- При периодическом вызове команды сервера Redis
AUTH
рекомендуется добавить случайную задержку, чтобыAUTH
команды были разнесены. Благодаря этому сервер Redis не будет одновременно получать слишком много командAUTH
.