Доступ — UniBPM
  • Ru

Доступ (Permission)

Доступ — механизм предоставления пользователям, группам и сервисным аккаунтам прав на пространство (Workflow).

При создании пространства доступ к нему имеют владелец пространства и администратор системы. Чтобы подключить к работе других участников, владелец или пользователь с правом управления доступом добавляет их в настройках пространства.

Доступ через Permission действует на всё пространство. Модель доступа на уровне отдельных типов заявок больше не используется.

Где применяется

Permission определяет, что пользователь может делать внутри пространства:

  • видеть пространство и заявки;
  • создавать заявки в доступном пространстве;
  • читать, комментировать или изменять заявки в зависимости от уровня доступа;
  • управлять настройками и участниками пространства, если выдан максимальный уровень.

Если нужен доступ только к одной конкретной заявке, используется отдельная модель Доступ к заявке (TicketPermission).

Субъекты доступа

Доступ может быть назначен одному из типов субъектов:

  • USER — пользователь;
  • GROUP — группа пользователей;
  • SERVICE_ACCOUNT — сервисная учётная запись для интеграций и системных клиентов.

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

Уровни доступа

RO

Доступ только на чтение.

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

COMMENT

Доступ на чтение и комментирование.

Пользователь может просматривать заявки и участвовать в обсуждении, но не может изменять поля заявки.

RW

Доступ на чтение и изменение заявок.

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

OWNER

Полный доступ к пространству.

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

Атрибуты

Пространство (workflow)

Workflow

Пространство, к которому предоставляется доступ.

Пользователь (user)

User

Пользователь, которому предоставляется доступ. Используется вместе с типом субъекта USER.

Группа пользователей (group)

Group

Группа, участники которой получают доступ. Используется вместе с типом субъекта GROUP.

Сервисный аккаунт (serviceAccountId)

String

Идентификатор сервисного аккаунта. Используется вместе с типом субъекта SERVICE_ACCOUNT.

Для клиента Keycloak, у которого включён параметр Service Accounts Roles, обычно используется значение:

service-account-<client-id>

Например, если создан клиент:

credit

то в доступе указывается:

service-account-credit

Отличие от доступа к заявке

Permission работает на уровне пространства и влияет на все заявки этого пространства.

TicketPermission работает только на уровне одной конкретной заявки. Он не открывает всё пространство, не даёт доступ к настройкам и не применяется к другим заявкам того же пространства.

Примеры

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

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

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

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

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

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

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

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