Управление пользователями
Реализация правильной аутентификации и контроля доступа является важнейшей задачей для обеспечения безопасности вашей среды 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 кластера.