Права доступа
Эта инструкция объясняет, кто что может делать в Portal: открывать разделы, добавлять записи, править и удалять.
Читайте сверху вниз. Права выдаются пользователю или группе доступа на конкретный ресурс (узел, страницу, список, файл и т.д.).
RBAC (разграничение по ролям) в Portal — это как раз такие назначения на ресурсы. Словарь: glossary.md.
0. Что вы получите в итоге
Заголовок раздела «0. Что вы получите в итоге»- Поймёте четыре уровня прав и что входит в каждый.
- Сможете открыть панель прав и добавить группу или пользователя.
- Будете знать, где наследование работает, а где его можно отключить.
1. Уровни прав
Заголовок раздела «1. Уровни прав»Четыре уровня — каждый следующий включает предыдущие:
| В интерфейсе | В API | Что можно делать |
|---|---|---|
| Просмотр | view | Открывать ресурс, читать содержимое |
| Добавление | add | Просмотр + создавать новое (записи, файлы, страницы — зависит от ресурса) |
| Редактирование | edit | Просмотр + добавление + изменять объекты и настройки |
| Полный доступ | delete | Всё выше + удаление. Максимальный уровень |
Пример: «Редактирование» позволяет править, но не удалять. «Полный доступ» включает удаление.
В форме назначения рядом с уровнем есть иконка ? — краткая справка (в API верхний уровень по-прежнему называется delete).
2. Наследование — простыми словами
Заголовок раздела «2. Наследование — простыми словами»Права наследуются сверху вниз:
узел → страницаузел → список → элемент спискаузел → библиотека → папка → файлузел → опросПри проверке Portal смотрит всю цепочку (от объекта до корня) и берёт максимальный уровень среди назначений.
Явные права на дочернем объекте дополняют унаследованные.
Исключение: у элемента списка, файла или папки можно отключить наследование — тогда объект становится границей, и права списка / библиотеки / узла выше не применяются.
3. На что назначают права
Заголовок раздела «3. На что назначают права»| Ресурс | Что это | Типичный случай |
|---|---|---|
| Узел | Раздел портала | Доступ ко всему подразделу |
| Страница | HTML-страница узла | Отдельная новость или регламент |
| Список | Таблица данных | Заявки, реестры |
| Элемент списка | Одна строка | Конфиденциальная заявка |
| Библиотека | Хранилище файлов | Документы отдела |
| Файл | Документ в библиотеке | Договор с узким доступом |
| Опрос | Анкета узла | Опрос отдела; по умолчанию права узла |
| Вложение | Файл у элемента списка | Скан к заявке |
4. Где открыть панель прав
Заголовок раздела «4. Где открыть панель прав»| Ресурс | Куда нажать | Кто может назначать |
|---|---|---|
| Узел | Настройки сайта → вкладка Права доступа | Право «Редактирование» на узел |
| Страница | Кнопка Права (щит) в шапке | Право «Редактирование» на страницу |
| Список | Настройки списка → вкладка Права | Только администратор портала |
| Библиотека | Настройки библиотеки → вкладка Права | Только администратор портала |
| Опрос | Конструктор опроса → блок Права доступа | Только администратор портала |
| Файл / папка | Права (щит) в строке библиотеки | Только администратор портала |
| Элемент списка | Права в меню ⋮, на карточке или в форме | Только администратор портала |
5. Добавить права — по шагам
Заголовок раздела «5. Добавить права — по шагам»- Откройте панель прав для нужного ресурса (таблица выше).
- В форме Добавить права найдите и выберите одну или несколько групп и/или пользователей (можно смешивать).
- Выберите уровень: Просмотр / Добавление / Редактирование / Полный доступ (при необходимости откройте ? рядом с селектом).
- Нажмите Добавить права — выбранным участникам будет назначен один и тот же уровень.
- В таблице назначений появится новая строка.
Чтобы снять права: нажмите Удалить права в строке таблицы.
6. Администратор портала
Заголовок раздела «6. Администратор портала»Пользователь с флагом администратор портала (is_portal_admin) имеет эффективный Полный доступ на все ресурсы и может:
- назначать права на списки, библиотеки, опросы и элементы;
- управлять группами доступа;
- устанавливать пакеты WebPart в админке.
Назначить администратора — по шагам
Заголовок раздела «Назначить администратора — по шагам»- Откройте Админка → Пользователи.
- Откройте карточку учётки.
- Отметьте флаг Администратор.
- Фильтр Админы показывает только таких пользователей.
Нельзя снять роль с последнего администратора и с системной учётки (SEED_ADMIN_LOGIN, по умолчанию admin).
Обычные владельцы контента работают с правами на узлы и страницы в пределах своих полномочий.
7. Права на узел — по шагам
Заголовок раздела «7. Права на узел — по шагам»- Откройте узел → Настройки сайта → Права доступа.
- Добавьте группы или пользователей с нужным уровнем (см. §5).
Так сотрудники видят узел в навигации и открывают его страницы, списки и библиотеки (согласно уровню). Дочерние объекты наследуют права, если на них нет отдельных назначений.
Рекомендация: сначала права на узел для групп, затем точечные исключения на страницах или элементах.
8. Права на страницу
Заголовок раздела «8. Права на страницу»Страница наследует права узла. Отдельные назначения полезны, когда:
- одну страницу нужно открыть более узкому кругу;
- черновик ещё не должны видеть все сотрудники узла.
Кнопка Права в шапке видна при праве «Редактирование» на эту страницу.
9. Права на списки и элементы
Заголовок раздела «9. Права на списки и элементы»| Уровень | Смысл |
|---|---|
| Просмотр | Видеть список и элементы |
| Добавление | Создавать элементы |
| Редактирование | Менять поля, вложения, представления (в рамках настроек) |
| Полный доступ | Удалять элементы и сам список (в корзину узла) |
Настраивает администратор портала: Настройки списка → Права.
Элемент списка — по шагам
Заголовок раздела «Элемент списка — по шагам»По умолчанию элемент наследует права списка (и узла).
- Откройте список.
- В строке выберите ⋮ → Права (или щит на карточке / в форме).
- В модальном окне:
- чекбокс Наследовать права от списка;
- таблица назначений.
- Можно дополнить унаследованные права явными назначениями.
- Можно отключить наследование — копируются текущие эффективные права списка, дальше правятся только на элементе. При повторном включении наследования уникальные назначения удаляются.
Типичный случай: скрыть конфиденциальную заявку от части сотрудников, у которых есть доступ к списку в целом.
10. Права на библиотеки и файлы
Заголовок раздела «10. Права на библиотеки и файлы»Библиотека наследует права узла. Файлы и папки по умолчанию наследуют права родителя (папки или библиотеки в корне).
| Режим | Поведение |
|---|---|
| Наследование вкл (по умолчанию) | Права суммируются по цепочке папка → библиотека → узел; доп. назначения на файле дополняют |
| Наследование выкл | Копируются права родителя, дальше правятся независимо. Дочерние объекты наследуют эту папку. Права библиотеки и узла не применяются внутри границы |
Управление: библиотека → Права (щит) в строке файла или папки.
Типичные уровни для документов:
- Просмотр — скачивание и просмотр в браузере / Portal Office;
- Добавление — загрузка новых файлов;
- Редактирование — метаданные, совместное редактирование;
- Полный доступ — удаление файлов и библиотеки (с учётом корзины узла).
11. Группы и пользователи
Заголовок раздела «11. Группы и пользователи»Права назначают на:
- группу доступа — удобно для отделов и ролей (Группы доступа);
- конкретного пользователя — точечные исключения.
| Тип группы | Описание |
|---|---|
portal | Создаётся вручную; состав правит администратор |
domain_linked | Импорт из AD службой ad-sync; состав обновляется автоматически |
Группы Active Directory импортируются как domain_linked; на них так же назначают права. В портальную группу (portal) вручную добавляют пользователей (в том числе из AD), но не вложенные AD-группы.
Подробнее для администратора: Группы доступа.
12. Права из кода (для интеграций)
Заголовок раздела «12. Права из кода (для интеграций)»Для интеграций, скриптов, WebPart и серверных расширений — REST API или сервисы PermissionService / PermissionAdminService на бэкенде.
Проверка (текущий пользователь, с учётом наследования):
GET /api/v1/permissions/check?resourceType=list&resourceId={uuid}GET /api/v1/permissions/check?resourceType=list_item&resourceId=12&listId={uuid}GET /api/v1/permissions/check?resourceType=file&resourceId=5&libraryId={uuid}Назначение (нужно право edit на ресурс; списки и библиотеки — только admin):
POST /api/v1/permissions{ "resourceType": "node", "resourceId": "uuid", "principalType": "group", "principalId": "uuid", "permissionLevel": "edit"}В JavaScript на странице портала:
const res = await PortalApi.get( `/permissions/check?resourceType=list_item&resourceId=12&listId=${listId}`);if (res.data?.canEdit) { /* ... */ }В C# внутри Portal.Application:
await permissionService.AssertPermissionAsync(user, "file", fileId, PermissionLevel.View, ct);await permissionAdmin.UpsertAsync(user, new UpsertPermissionRequest { /* ... */ }, ct);Полный справочник с примерами для всех типов ресурсов: API: права доступа.
13. Если нет доступа {#если-нет-доступа}
Заголовок раздела «13. Если нет доступа {#если-нет-доступа}»- Уточните у коллег, открывается ли у них тот же раздел.
- Обратитесь к владельцу контента (автор страницы или ответственный за узел).
- Запросите доступ у администратора портала — он добавит вас в группу или назначит права напрямую.
См. также
Заголовок раздела «См. также»- Группы доступа — создание групп и участников
- Профиль — ваши данные и выход
- API: права доступа — для интеграций