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

Ролевая модель в TCF

В TCF роли нужны для управления доступом и обеспечения безопасности данных, передаваемых и обрабатываемых между кластерами. Для безопасного взаимодействия с данными, а также для управления репликацией данных между кластерами, используется несколько типов ролей с различными правами. В этом разделе описано, какие роли существуют в TCF, какие права у этих ролей и как их настроить.

Типы ролей в TCF

Роль admin

Роль admin предоставляет пользователю полный доступ ко всем функциям кластера, включая управление ролями пользователей, настройку параметров и репликацию. Он может создавать другие роли, управлять состоянием кластера и настраивать взаимодействие с другими компонентами.

Примечание

Набор привилегий и область действия роли admin являются фиксированными и не подлежат изменению. Роль admin всегда обладает полным доступом ко всем функциям и объектам кластера, независимо от конфигурации других ролей или параметров доступа.

Роль dml_users

Роль dml_users предоставляет любые права, заданные заказчиком. Может быть несколько пользователей с такой ролью.

Примечание

Когда кластер переводится в пассивное состояние, доступ к нему должен быть ограничен для всех пользователей, имеющих права на изменение данных. Например, пользователи блокируются, чтобы на пассивном кластере не происходило изменений данных.

Служебная роль replication_user

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

Внимание

Роль replication_user является служебной, она заблокирована для изменений. Пользователь не может вносить изменения в её настройки.

Служебная роль peer

Роль peer используется для репликации внутри кластера. Эта роль используется для репликации данных, и в контексте репликации она имеет минимальные права, достаточные только для выполнения необходимых операций.

Внимание

Роль peer является служебной, она заблокирована для изменений. Пользователь не может вносить изменения в её настройки.

Служебная роль storage

Роль для работы с шардированием и распределением данных в кластере с использованием vshard. Эта роль используется для управления данными в распределенной системе, обеспечивая работу с данными, которые шардируются между различными узлами в кластере. Роль storage необходима для правильного функционирования системы шардирования, и такие роли часто используются для настройки или масштабирования данных между шардированными спейсами.

Внимание

Роль storage является служебной, она заблокирована для изменений. Пользователь не может вносить изменения в её настройки.

Таблица сравнения пользователей и ролей

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

Роль

Описание

Права и действия

admin

Роль с полными правами на управление кластером и его конфигурацией

- управление ролями пользователей
- управление состоянием кластера
- создание и удаление объектов в кластере

dml_users

Роль для работы с данными (чтение, запись, изменение) в кластере. Создаются заказчиком. Может быть несколько таких пользователей

- чтение данных
- запись, обновление и удаление данных
важно: эти пользователи отключаются на пассивном кластере и включаются на активном

Служебная роль replication-user

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

- права read, write, execute на все объекты в кластере
- права на репликацию данных между кластерами

Служебная роль peer

Роль используется для репликации внутри кластера

- репликация данных
- выполнение операций записи данных

Служебная роль storage

Роль используется для работы с модулем шардирования (vshard)

- управление шардированием данных
- выполнение операций чтения и записи для распределенных данных

Конфигурация ролей пользователя

Пример создания пользователей TCF в YAML-конфигурации для кластера Tarantool 3.х EE:

credentials:
  users:
    admin:
      password: 'secret'
      roles: [super]
      privileges:
        - permissions: ['read', 'write', 'execute', 'create', 'alter', 'drop']
          universe: true
    dml_user:
      password: 'dml_password'
      roles: [dml]
      privileges:
        - permissions: ['read', 'write', 'create', 'alter']
          space: 'space_name'
        - permissions: ['execute']
          object_type: 'function'
    replication_user:
      password: 'replication_password'
      roles: [replication]
      privileges:
        - permissions: ['read', 'write', 'execute']
          universe: true
    peer:
      password: 'peering_password'
      roles: [replication]
      privileges:
        - permissions: ['execute']
          object_type: 'function'
    storage:
      password: 'secret'
      roles: [sharding]

Здесь:

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

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

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

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

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

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

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

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