ACL (Access Control List, список доступа) — учётная запись о том, что к одному ресурсу кем-то предоставлен доступ. ACL отвечает на вопрос «куда» и держит в себе записи доступа (ACE), отвечающие на вопросы «кому» и «какой».
Ключевое правило: один ACL — ровно один ресурс. Ресурсом может быть:
flowchart LR
SCH["Временный доступ<br>(расписание доступа)"] -. "когда" .-> ACL
ACL["ACL — куда<br>(1 ресурс)"] --> R["Ресурс:<br>ОС / оборудование / IP / сеть / сервис / текст"]
ACL --> ACE1["ACE — кому и какой"]
ACL --> ACE2["ACE — кому и какой"]
ACE1 --> S1["Субъекты: пользователи, компьютеры,<br>сервисы, IP-адреса и сети"]
ACE1 --> T1["Типы доступа: RDP, VPN, SSH…"]
Так как один ACL держит один ресурс, доступ «той же команды к нескольким ресурсам» оформляется несколькими ACL с одинаковым набором ACE. Такие ACL внутри одного временного доступа автоматически объединяются в группу: на странице временного доступа они показываются одной карточкой «N ресурсов», а правки участников (добавление/изменение/ удаление ACE) и состава ресурсов применяются сразу ко всей группе. Переключатель «Группировать / Детально» позволяет увидеть каждый ACL отдельно.
«Одинаковость» ACE считается по субъектам, типам доступа, IP-параметрам и полям «Прочее»/«Записная книжка»; поле «Пояснение» в сравнении не участвует. ACL без расписания в группы не объединяются.
Из временного доступа («Добавить» под списком доступов) или из списка ACL. В форме сразу заполняются участники (ACE) и выбираются ресурсы; при выборе нескольких ресурсов на каждый создаётся отдельный ACL группы.
Удаление ACL удаляет и все его ACE. Удаление временного доступа удаляет все его ACL.
| Атрибут | Описание |
|---|---|
|
ID id
|
|
|
Код code
|
Человекочитаемый и безопасный для URL идентификатор объекта. Удобно использовать в API чтобы не зависеть от переименования объектов (если код при этом сохраняется) |
|
Описание comment
|
Описание ресурса к которому предоставляется доступ (просто текст без привязки к объекту БД) |
|
Записная книжка notepad
|
Заметки по этому ACL |
|
Ссылки links
|
Ссылки на связанные страницы и ресурсы Каждая строка — одна ссылка: сначала описание, последнее слово — сам URL (без пробелов, вместо них %20). Пример: описание сервиса https://wiki.domain.local/services:inventory подробнее о типе: Ссылки (список URL) » |
|
Перенесено в архив archived
|
Помечается, если в работе этот объект более не используется, но для истории запись о нем лучше сохранить |
|
Время изменения updated_at
|
Дата/время изменения объекта в БД Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ; можно выбрать в календаре. |
|
Редактор updated_by
|
|
|
Доп. связи external_links
|
JSON структура с дополнительными объектами и ссылками на внешние информационные системы. Хранятся в виде JSON структуры. При записи значений старые узлы структуры объединяются с новыми. Запись {"link1":"value1"} изменит во всем наборе ссылок только "link1", остальные останутся без изменений. Для удаления элемента из структуры надо записать для него пустое значение, например {"link1":""}. Запись пустой строки или пустого JSON {} не меняет никаких значений. Значение — структура в формате JSON, например {"key": "value"}. |
|
ACEs aces
|
|
|
Nodes nodes
|
|
|
Ресурс resource
|
|
|
Access Types accessTypes
|
|
|
Субъекты subjects
|
|
|
Узлы субъектов subjects_nodes
|
|
|
Типы доступа access_types
|
|
|
Временное ограничение schedule
|
|
|
Узлы ресурса resource_nodes
|
|
|
ОС comps_id
|
Имя компьютера (Операционной Системы) к которому предоставляется доступ |
|
Расписание доступа schedules_id
|
Расписание, определяющее временные рамки предоставления доступа |
|
Сервис services_id
|
К какому сервису нужно предоставить доступ (включая дочерние сервисы) |
|
IP адрес ips_id
|
IP адрес к которому предоставляется доступ |
|
IP сеть networks_id
|
IP сеть к которой предоставляется доступ |
|
Оборудование techs_id
|
Оборудование к которому предоставляется доступ |