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