Управление пользователями
Реализация корректной аутентификации и контроля доступа является необходимой для обеспечения безопасности вашей среды Redis. В этом разделе рассматривается управление паролями и настройка контроля доступа на основе ролей для экземпляров Redis.
Redis 5.0 поддерживает только базовую аутентификацию по паролю с одним набором учетных данных, тогда как Redis 6.0 и более поздние версии реализуют полноценную систему Access Control List (ACL), поддерживающую нескольких пользователей с детализированными разрешениями. Redis 6.0+ сохраняет пользователя по умолчанию для обратной совместимости с устаревшими клиентами.
Содержание
Просмотр пользователей
Следующие методы позволяют просмотреть всех пользователей, связанных с экземпляром Redis.
Экземпляры Redis (версии 6.0+) используют Custom Resource (CR) RedisUser для управления учетными записями пользователей. Чтобы вывести список всех пользователей, связанных с конкретным экземпляром:
Например, чтобы вывести всех пользователей для экземпляра с именем s6:
Поля вывода содержат следующую информацию:
Каждый экземпляр Redis включает встроенного пользователя operator, который автоматически создается при создании экземпляра. Эта системная учетная запись обладает полными правами (включая управление пользователями) и защищена сложным паролем длиной 64 символа.
Эта учетная запись предназначена исключительно для системных операций и не должна использоваться для доступа приложений. Любые изменения в конфигурации этой учетной записи могут привести к серьезной нестабильности экземпляра и потенциально к необратимым сбоям.
Обновление пароля
Следующие процедуры позволяют обновить пароли пользователей для повышения безопасности. Рекомендуется регулярно менять пароли в рамках лучших практик безопасности.
Процедура
Следующие операции применимы только к Redis 6.0 и более поздним версиям. Для Redis 5.0 смотрите вкладку "Redis 5.0 CLI".
-
Определите целевого пользователя из списка RedisUser.
В этом примере обновим пароль пользователя
defaultэкземпляраs6. -
Получите ресурс RedisUser, чтобы определить связанный Secret с паролем:
Из поля
spec.passwordSecrets[0]видно, что пароль хранится в Secret с именемredis-s6-2hqxb. -
Просмотрите текущий Secret с паролем:
Примечание: Ключ
password— это зарезервированное имя поля, используемое Redis Operator. Его значение хранится в виде строки, закодированной в base64. -
Обновите Secret с новым паролем:
-
Проверьте обновление пароля:
После обновления пароля ресурс RedisUser временно перейдет в состояние
Pending, пока изменение не распространится на все узлы Redis. После синхронизации статус вернется вSuccess.
Обновление разрешений
Redis 6.0+ поддерживает детализированный контроль доступа через систему ACL. Платформа предоставляет предопределённые профили разрешений для распространённых сценариев:
Для продвинутых сценариев поддерживаются пользовательские ACL правила. Подробности о синтаксисе и возможностях смотрите в Redis ACL Documentation.
Примечание: Все профили разрешений, включая пользовательские, явно отзывают права на управление ACL. Изменения пользователей должны выполняться через интерфейсы управления пользователями платформы.
Процедура
После успешного создания пользователь случайным образом переходит в состояние Pending. Дождитесь изменения статуса на Success, что означает успешное обновление.
Создание пользователя
Процедура
Создание для экземпляра Redis кластера.