Object-level authorization
Вход в систему не даёт доступа ко всем записям.
Проверено Изменено
Плохо
SELECT * FROM orders WHERE order_id = $1
Хорошо
SELECT * FROM orders
WHERE order_id = $1 AND tenant_id = $2
Почему это важно
Чужой идентификатор может быть известен или случайно раскрыт.
Когда применять
tenant_id берётся из проверенного контекста, а не произвольного поля клиента. Для сложных ролей нужен явный механизм политик.
Кто что делает
Человек
Определяет матрицу доступа к конкретным объектам.
AI-агент
Реализует серверные ограничения и проверяет запрещённый запрос наряду с разрешённым.
Контроль результата:
- Пользователь одной организации не читает и не меняет данные другой?
Как проверить у себя
- Пользователь одной организации не читает и не меняет данные другой?
Первоисточники
История изменений на GitHubДата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.