Платформы данных
Матрица доступа к платформе данных
«Матрица доступа» отвечает на вопрос, кто что может на платформе данных: роли идут колонками, компоненты — строками, в ячейке — право и его уровень. Стили задаются закрытым словарём уровней, а одно критичное правило выделено акцентом.
Когда использовать
- Аудит прав доступа к платформе данных
- Согласование ролевой модели со службой информационной безопасности
- Раздел документации о доступе для новых команд
- Проверка, что персональные данные видны только нужным группам
Как с ней работать в Dele
- Ролей (roles) — 2–6 колонок слева направо. У каждой название на тёмной плашке и при желании код группы AD (GRP-DATA-ENG).
- Компонентов (components) — 2–14 строк, с короткой подсказкой (SSO, S3, SQL) и ячейками по порядку ролей. Недостающие ячейки в конце строки показываются как отсутствие доступа.
- В ячейке — свободный текст (Admin, R/W, SELECT) и уровень из закрытого списка: full, rw, read, none. Новых уровней не придумывайте, нюансы пишите в тексте.
- Акцент — не больше одной ячейки: критичное правило, например «только SELECT, единственный потребитель», с короткой второй строкой.
- Больше 6 ролей — разделите на людей и сервисы; больше 14 компонентов — по доменам.
Три способа собрать диаграмму
Словами. Откройте ИИ-ассистента в редакторе или подключите своего агента по MCP и опишите задачу, например:
«Сделай матрицу доступа для платформы данных: роли инженеры, аналитики, BI-сервис, админы; компоненты Keycloak, MinIO raw, MinIO aggregated, Trino, Superset. BI-сервису — только SELECT на агрегаты, это акцент.»
В редакторе. Создайте диаграмму из шаблона «Матрица доступа», меняйте элементы на холсте и в панели справа — раскладка пересчитывается сама.
Кодом. Диаграмма — это JSON-спецификация. Её можно править в панели «Спецификация», генерировать скриптом и хранить в git.
Спецификация примера (JSON)
{
"type": "dp-security-matrix",
"title": "Матрица доступа к платформе данных",
"description": "Матрица прав пять на пять: какие роли платформы данных что могут делать с хранилищем, движком запросов, ноутбуками, BI и оркестратором.",
"corner": "Компонент",
"cornerSub": "× группа AD",
"noneLabel": "Нет",
"roles": [
{
"name": "Инженер данных",
"code": "GRP-DATA-ENG"
},
{
"name": "Дата-сайентист",
"code": "GRP-DATA-SCI"
},
{
"name": "Аналитик",
"code": "GRP-ANALYST"
},
{
"name": "Администратор",
"code": "GRP-ADMIN"
},
{
"name": "Внешний партнёр",
"code": "GRP-PARTNER"
}
],
"components": [
{
"name": "Объектное хранилище",
"hint": "S3",
"cells": [
{
"value": "Запись",
"level": "rw"
},
{
"value": "Чтение",
"level": "read"
},
{
"value": "Нет",
"level": "none"
},
{
"value": "Админ",
"level": "full"
},
{
"value": "Нет",
"level": "none"
}
]
},
{
"name": "Движок запросов",
"hint": "SQL",
"cells": [
{
"value": "Запись",
"level": "rw"
},
{
"value": "Чтение",
"level": "read"
},
{
"value": "Чтение",
"level": "read"
},
{
"value": "Админ",
"level": "full"
},
{
"value": "Чтение",
"level": "read"
}
]
},
{
"name": "Ноутбуки",
"hint": "PY",
"cells": [
{
"value": "Запись",
"level": "rw"
},
{
"value": "Запись",
"level": "rw"
},
{
"value": "Нет",
"level": "none"
},
{
"value": "Админ",
"level": "full"
},
{
"value": "Нет",
"level": "none"
}
]
},
{
"name": "BI-инструмент",
"hint": "DASH",
"cells": [
{
"value": "Запись",
"level": "rw"
},
{
"value": "Чтение",
"level": "read"
},
{
"value": "Запись",
"level": "rw"
},
{
"value": "Админ",
"level": "full"
},
{
"value": "Чтение",
"level": "read",
"sub": "общие дашборды",
"focal": true
}
]
},
{
"name": "Оркестратор",
"hint": "DAG",
"cells": [
{
"value": "Запись",
"level": "rw"
},
{
"value": "Чтение",
"level": "read"
},
{
"value": "Нет",
"level": "none"
},
{
"value": "Админ",
"level": "full"
},
{
"value": "Нет",
"level": "none"
}
]
}
],
"legendNote": "Партнёр видит только общие дашборды."
}Когда выбрать другой формат
- Какие системы с чем связаны и по каким протоколам → Интеграции платформы данных
- Процесс выдачи доступа по шагам → Блок-схема
- Числовая интенсивность по двум осям — тепловая карта → Тепловая карта
Вопросы о формате
Какие уровни доступа можно указать?
Четыре: full, rw, read и none. Они определяют оформление ячейки, а конкретное право (SELECT, Login, Admin) пишется текстом.
Что делать, если ролей больше шести?
Разделить матрицу, например на людей и сервисные учётные записи.