Пользователи кластера Redis

Правила для пользователей

Для управления пользователями в Redis используется механизм ACL (Access Control List), который позволяет назначать правила для пользователя. Они определяют, какие команды и ключи доступны пользователю.

Правила для пользователей назначаются:

  • вручную при добавлении и настройке пользователей;
  • автоматически при создании кластера Redis Sentinel для администратора Sentinel (sentinel_user).

    -@all +auth +client|getname +client|id +client|setname +command +hello +ping +role +sentinel|get-master-addr-by-name +sentinel|master +sentinel|myid +sentinel|replicas +sentinel|sentinels +sentinel|masters

    где:

    • -@all — все команды и категории команд запрещены для пользователя по умолчанию;

    • +auth — разрешает команду AUTH, которая используется для аутентификации пользователя;

    • +client|getname — разрешает команду CLIENT GETNAME, которая возвращает имя текущего соединения;

    • +client|id — разрешает команду CLIENT ID, которая возвращает уникальный идентификатор текущего соединения;

    • +client|setname — разрешает команду CLIENT SETNAME, которая устанавливает имя для текущего соединения;

    • +command — разрешает команду COMMAND, которая возвращает информацию о всех командах, поддерживаемых сервером;

    • +hello — разрешает команду HELLO, которая используется для переговоров о версии протокола;

    • +ping — разрешает команду PING, которая проверяет доступность сервера;

    • +role — разрешает команду ROLE, которая возвращает роль текущего сервера в кластере (мастер, реплика);

    • +sentinel|get-master-addr-by-name — разрешает команду SENTINEL GET-MASTER-ADDR-BY-NAME, которая возвращает адрес мастера по имени;

    • +sentinel|master — разрешает команду SENTINEL MASTER, которая возвращает информацию о мастере;

    • +sentinel|myid — разрешает команду SENTINEL MYID, которая возвращает идентификатор текущего Sentinel;

    • +sentinel|replicas — разрешает команду SENTINEL REPLICAS, которая возвращает информацию о репликах;

    • +sentinel|sentinels — разрешает команду SENTINEL SENTINELS, которая возвращает информацию о других Sentinel;

    • +sentinel|masters — разрешает команду SENTINEL MASTERS, которая возвращает информацию о всех мастерах, известных Sentinel.

Список всех правил см. в документации Redis. 

Добавление пользователя

Чтобы добавить пользователя:

  1. Перейдите в раздел Ресурсы → Базы данных → Managed Service for Redis.
  2. Выберите кластер, в котором нужно создать пользователя, и перейдите на вкладку Пользователи.
  3. Нажмите на кнопку и заполните поля:

    • Имя пользователя *логин пользователя для авторизации в Redis

      1. Длина имени — от 1 до 63 символов. 

      2. Может содержать прописные и строчные буквы латинского алфавита и цифры.

    • Пароль *пароль пользователя для авторизации в Redis

      1. Длина пароля — от 1 до 128 символов. 

      2. Может содержать любые символы.

    •   Правила для пользователя *правила, определяющие, какие команды и ключи доступны пользователю. По умолчанию указано правило +@all — пользователю доступны все команды. Подробную информацию о правилах см. в документации Redis.

      Например, чтобы пользователь получал информацию о всех ключах и каналах, в поле Правила для пользователя * укажите:

      +config|get allkeys allchannels

      где:

      • +config|get:
        • +config — пользователю разрешено использовать команду CONFIG;
        • |get — разрешение на команду CONFIG ограничено только подкомандой GET;
      • allkeys — у пользователя есть доступ ко всем ключам в базе данных;
      • allchannels — у пользователя есть доступ ко всем каналам в системе публикации и подписки (Pub/Sub). Это означает, что пользователь может подписываться на любые каналы и публиковать сообщения в любые каналы.
  4. Нажмите на кнопку Добавить.

Настройка пользователя

Чтобы изменить правила для пользователя:

  1. Перейдите в раздел Ресурсы → Базы данных → Managed Service for Redis.
  2. Выберите кластер, в котором нужно изменить правила для пользователя, и перейдите на вкладку Пользователи.
  3. В строке с нужным пользователем нажмите на кнопку и выберите пункт Настроить пользователя.
  4. Введите новые правила и нажмите на кнопку Сохранить.

Изменение пароля пользователя

Чтобы изменить пароль пользователя:

  1. Перейдите в раздел Ресурсы → Базы данных → Managed Service for Redis.
  2. Выберите кластер, в котором нужно изменить пароль пользователя, и перейдите на вкладку Пользователи.
  3. В строке с нужным пользователем нажмите на кнопку и выберите пункт Изменить пароль.
  4. Введите Новый пароль * и Подтверждение пароля * и нажмите на кнопку Сохранить.
  5. Сообщите пользователю новый пароль.

Изменение пароля администратора Sentinel

Чтобы изменить пароль администратора Sentinel (sentinel_user):

  1. Перейдите в раздел Ресурсы → Базы данных → Managed Service for Redis.
  2. Выберите кластер, в котором нужно изменить пароль администратора Sentinel.
  3. Перейдите на вкладку Пользователь Sentinel и нажмите на кнопку .
  4. Введите Новый пароль * и Подтверждение нового пароля * и нажмите на кнопку Изменить пароль.

Удаление пользователя

Примечание

Удалить можно только пользователей Redis, добавленных на вкладке Пользователи.

Администратора Sentinel (sentinel_user) удалить невозможно.

Чтобы удалить пользователя кластера Redis:

  1. Перейдите в раздел Ресурсы → Базы данных → Managed Service for Redis.
  2. Выберите кластер, в котором нужно удалить пользователя, и перейдите на вкладку Пользователи.
  3. В строке с нужным пользователем нажмите на кнопку и выберите пункт Удалить пользователя.
  4. Нажмите на кнопку Удалить.