Роли и пользователи | Clusters_Federation
Руководство администратора Роли и пользователи

Роли и пользователи

В данном разделе рассматриваются типы ролей и пользователей, которые нужны для корректной работы TCF.

Прежде чем перейти к пользователям и ролям, ознакомьтесь с компонентами TCF в соответствующей схеме.

Пользователи и их роли, которые могут быть назначены человеку или внешним сервисам:

Служебные пользователи для корректной работы TCF:

Пример создания пользователей в TCF см. в Пример конфигурации.

Пользователи Tarantool

Пользователи Tarantool – это учетные записи для управления кластером Tarantool (или продуктов на его основе). Для работы с кластером необходимы пользователи с ролями: Администратор БД и Пользователь БД.

Роль

Пользователь

Описание

Администратор БД

admin

Создает пользователей БД и сущности для работы с данными, назначает права пользователям БД для работы с БД.

Пользователь БД

DML-пользователь

Выполняет DML-операции (чтение, запись, обновление, удаление данных).
Когда кластер переводится в пассивное состояние, TCF блокирует доступ для всех DML-пользователей данного кластера. Таким образом организуется запрет изменения данных на пассивном кластере.
Может быть создано несколько пользователей с такой ролью.

Подробнее читайте в разделе Пользователи Tarantool.

Служебные пользователи

Служебные пользователи – это специальные учетные записи, предназначенные для выполнения системных задач. Подробнее см. таблицу ниже. Не назначаются человеку или внешним сервисам.

Пользователь

Описание

Служебный пользователь репликации данных

Пользователь для репликации данных между кластерами в TCF.

peer

Пользователь для репликации внутри кластера. Имеет минимальные права, достаточные для выполнения операций репликации. Набор параметров и значений в конфигурации этого пользователя должен быть фиксированным (за исключением параметра password). См. пример.

storage

Пользователь для работы с модулем шардирования. Обеспечивает управление данными, которые шардируются между узлами в кластере. Набор параметров и значений в конфигурации этого пользователя должен быть фиксированным (за исключением параметра password). См. пример.

Пример настройки служебных пользователей см. в разделе Пример конфигурации.

Подробнее о служебных пользователях читайте в разделе Служебные пользователи.

Пример конфигурации

Пример создания пользователей в YAML-конфигурации для работы TCF:

credentials:
  users:
    admin:
      password: 'secret'
      roles: [super]
      privileges:
        - permissions: ['read', 'write', 'execute', 'create', 'alter', 'drop']
          universe: true
    dml_users:
      password: 'dml_password'
      roles: [dml]
      privileges:
        - permissions: ['read', 'write', 'create', 'alter']
          spaces: ['space_name']
    replication_user:
      password: 'replication_password'
      roles: [replication]
      privileges:
        - permissions: ['read', 'write', 'execute']
          universe: true
    peer:
      password: 'peering_password'
      roles: [replication]
      privileges:
        - permissions: ['execute']
          functions: ['box.info']
    storage:
      password: 'secret'
      roles: [sharding]

Пользователи:

  • admin: администратор БД, предоставляет полный доступ ко всем функциям кластера;

  • replication_user: служебный пользователь репликации данных. На стороне Gateway требует прав на чтение (roles: [replication]), на стороне Destination — прав на выполнение кода и запись данных. Обычно назначаются права super (без прав на управление пользователями);

  • dml_users: DML-пользователь;

  • peer: пользователь для репликации внутри кластера;

  • storage: пользователь для работы с модулем шардирования.

Параметры пользователей:

  • password: пароль пользователя, необходимый для аутентификации;

  • roles: роли, назначенные пользователю. Роль определяет разрешенные действия для пользователя в кластере;

  • privileges: операции, разрешенные пользователю. Может включать различные виды разрешений, такие как чтение, запись, выполнение и другие;

    • permissions: разрешения, которые могут быть предоставлены пользователю (например, read, write, execute, create, alter, drop);

    • universe: если задано значение true, разрешения действуют на все объекты в кластере;

    • space: спейс данных, для которого предоставляются права;

    • functions: тип объекта, для которого назначены права. В примере это functions.

Нашли ответ на свой вопрос?
Обратная связь