Перейти к содержимому
РуководствоАдминистратор

Управлять доступом команды

Доступ складывается из двух вещей: что можно делать (роль — набор прав) и кому и где (назначение роли человеку на исследование, центр или всю организацию). Здесь — как выдать, сузить, отозвать и проверить доступ.

Администратор — администратор доступа. Права:

  • назначать и отзывать роли, выдавать и отзывать отдельные права — access.grant;
  • создавать и править роли — role.manage;
  • заводить и деактивировать учётные записи — principal.manage;
  • просматривать выданные гранты и роли — access.read.

Задача возникает, когда в команду приходит новый человек, когда кто-то присылает запрос на доступ («Нет доступа»), когда меняются обязанности и когда человек уходит из исследования.

  • У вас самого есть право выдавать доступ там, где вы собираетесь его выдать: выдать доступ шире собственного нельзя.
  • Решите, где человеку нужен доступ. Право распространяется вниз по иерархии: назначение на исследование даёт доступ ко всем его центрам и субъектам. Нужен один центр — назначайте на центр.
  • Нужная роль уже есть в каталоге Роли — или создайте её из шаблона (ниже).
  1. Откройте Администрирование → Пользователи и карточку человека. Новый человек? Нажмите Пригласить пользователя — приглашение сразу предлагает роль; если пропустили, кнопка Назначить роль сейчас в итоге приглашения откроет его карточку.

  2. Нажмите Назначить роль.

  3. Выберите роль и где она действует: вся организация, исследование или его центр. Путь строится по порядку исследование → центр → субъект без пропусков.

  4. При необходимости задайте срок — Действует до. Пусто — бессрочно. Все метки времени хранятся в UTC.

  5. Нажмите Назначить. Появится «Роль назначена».

0:000:00
Администратор выдаёт право — оно действует немедленно

Когда человеку не хватает прав, вместо экрана он видит Нет доступа с одной фразой — какое право нужно и где, например: «Нужно право «Чтение аудиторского следа» в «X7-DEMO-001». Его выдаёт администратор доступа». Кнопка Скопировать запрос администратору кладёт в буфер готовый текст (кто, какое право, где, идентификатор запроса); технические подробности — под ссылкой Подробности для администратора. Получив такой запрос, откройте карточку человека и назначьте роль или выдайте право ровно там, где оно нужно.

  1. В Администрирование → Роли нажмите Создать из шаблона.

  2. Выберите шаблон (дизайнер исследования, координатор центра, врач-исследователь, монитор, дата-менеджер, медицинский монитор, медицинский кодировщик, инспектор, администратор). Имя можно оставить пустым — тогда возьмётся имя шаблона.

  3. Роль создастся с набором прав шаблона. Откройте её страницу, чтобы уточнить набор: права сгруппированы по объектам, права модулей — под своим модулем.

  4. Сохраните изменения.

Для исключений человеку можно выдать отдельное право напрямую: кнопка Выдать право в его карточке.

  • Разрешить — конкретное право в конкретном месте.
  • Запретить — точечный запрет, который всегда побеждает любое разрешение на пути: исключение, которое не перекроет ни одна роль.
  1. Дизайнер помечает форму меткой ограничения ввода (свойство формы в конструкторе, например lab).

  2. Платформа автоматически добавляет в каталог право «Ввод в формы с меткой “lab”» (form.entry.lab).

  3. Соберите роль выделенного вводчика — например, «Вводчик от лаборатории»: обычные права ввода плюс form.entry.lab — и назначьте её нужным людям там, где нужно.

В карточке человека нажмите Отозвать у назначения роли или у отдельного права (держателей роли можно отозвать и на странице роли) и подтвердите. Назначение закрывается с этой минуты.

Проверить, почему у человека есть или нет доступа

Заголовок раздела «Проверить, почему у человека есть или нет доступа»
  1. Откройте карточку человека в Пользователях, раздел Проверить доступ.

  2. Укажите, где проверить: организация, исследование или центр, и нажмите Проверить.

  3. Система покажет по каждому применимому праву итог разрешено или запрещено и источник решения: какая роль («роль «…» в «…»») или какое право, выданное напрямую («личное право в «…»», «запрет в «…»»).

  • Новый доступ действует немедленно: рабочие списки и очереди строятся из прав, а не из закешированных ролей. Отзыв и истечение срока тоже действуют сразу.
  • Каждое назначение, выдача, запрет и отзыв записываются в аудиторский след.
  • Отзыв не удаляет запись: назначение закрывается, история сохраняется.
  • Если на основании отзываемого права кто-то получил делегированный доступ, он отзывается вместе с ним — система предупреждает и показывает, сколько делегированных прав закрыто. «Висячего» доступа без основания не бывает.
  • Проверка доступа ничего не меняет — только объясняет решение.
  • Нет кнопок «Назначить роль», «Выдать право», «Отозвать» — нет права access.grant в этой области.
  • Нельзя создать или изменить роль — нет права role.manage.
  • Назначение или выдача отклонены — вы пытаетесь выдать доступ шире собственного. Попытка отклоняется и фиксируется в аудите (защита от самоэскалации).
  • Предупреждение о совмещении обязанностей (SoD) — опасное сочетание прав у одного лица: правило block не даст назначить, warn разрешит, но факт попадёт в аудит. См. SoD и делегирование.
  • Человек всё равно не видит нужного — запустите Проверить доступ: возможно, на пути стоит запрет, срок назначения истёк или учётная запись деактивирована.
  • Валидатор дизайна предупреждает «заполнить форму будет некому» — у формы стоит метка ограничения ввода, а право form.entry.<метка> не держит никто.
Где Что там
Администрирование → Роли каталог ролей организации; на странице роли — её права и все держатели
Администрирование → Пользователи карточка человека: его роли, права, выданные напрямую, проверка доступа

Управлять одним человеком можно только из его карточки — других мест для этого нет. Состав команды конкретного исследования удобно смотреть и пополнять на его странице Команда.

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

Роль — это данные организации: шаблон копируется и дальше свободно редактируется. В каталоге видно, сколько у роли прав и активных назначений. Назначение связывает человека × роль × место × срок — именно здесь роль превращается в реальный доступ.

Частый регламент: лабораторные результаты заполняет только вводчик от лаборатории, фарм-учёт — только расслеплённый фармацевт, а остальные видят эти формы «только чтение». Метка ограничения ввода — часть дизайна: версионируется и попадает в дифф поправок. Запись в помеченную форму требует обоих прав: у координатора без form.entry.lab форма открывается «только чтение» с поясняющим баннером (запросы, SDV и обзор продолжают работать), а вводчик лаборатории заполняет её штатно.

Проверка доступа воспроизводит ту же логику, что и весь движок доступа: собираются все применимые права сверху вниз по пути, любой запрет побеждает, а при отсутствии применимых прав действует запрет по умолчанию. Если учётная запись деактивирована — доступ закрыт полностью, какие бы права ни были выданы. Администратор действует только там, где право выдавать доступ есть у него самого.