Роли и пользователи¶
В данном разделе рассматриваются типы ролей и пользователей, которые нужны для корректной работы TCF.
Прежде чем перейти к пользователям и ролям, ознакомьтесь с компонентами TCF в соответствующей схеме.
Пользователи и их роли, которые могут быть назначены человеку или внешним сервисам:
- 
- admin
- DML-пользователь 
 
Служебные пользователи для корректной работы TCF:
- Служебные пользователи для репликации данных внутри кластера и шардирования - Служебный пользователь репликации данных 
- peer
- storage
 
Пример создания пользователей в TCF см. в Пример конфигурации.
Пользователи Tarantool¶
Пользователи Tarantool – это учетные записи для управления кластером Tarantool (или продуктов на его основе). Для работы с кластером необходимы пользователи с ролями: Администратор БД и Пользователь БД.
| Роль | Пользователь | Описание | 
|---|---|---|
| Администратор БД | 
 | Создает пользователей БД и сущности для работы с данными, назначает права пользователям БД для работы с БД. | 
| Пользователь БД | DML-пользователь | Выполняет DML-операции (чтение, запись, обновление, удаление данных). | 
Подробнее читайте в разделе Пользователи Tarantool.
Служебные пользователи¶
Служебные пользователи – это специальные учетные записи, предназначенные для выполнения системных задач. Подробнее см. таблицу ниже. Не назначаются человеку или внешним сервисам.
| Пользователь | Описание | 
|---|---|
| Служебный пользователь репликации данных | Пользователь для репликации данных между кластерами в TCF. | 
| 
 | Пользователь для репликации внутри кластера. Имеет минимальные права, достаточные для выполнения операций репликации. Набор параметров и значений в конфигурации этого пользователя должен быть фиксированным (за исключением параметра  | 
| 
 | Пользователь для работы с модулем шардирования. Обеспечивает управление данными, которые шардируются между узлами в кластере. Набор параметров и значений в конфигурации этого пользователя должен быть фиксированным (за исключением параметра  | 
Пример настройки служебных пользователей см. в разделе Пример конфигурации.
Подробнее о служебных пользователях читайте в разделе Служебные пользователи.
Пример конфигурации¶
Пример создания пользователей в 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.