Разграничение доступа к данным через сертифицированные СЗИ

Разграничение доступа к данным через сертифицированные средства защиты информации (СЗИ) является обязательным требованием в проектах, которые должны соответствовать одному из следующих нормативных актов:

  • Приказ 11 февраля 2013 г. № 17 “Об утверждении требований о защите информации, не составляющей государственную тайну, содержащейся в государственных информационных системах”

  • Приказ ФСТЭК от 18 февраля 2013 г. № 21 “Об утверждении состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных”

В настоящем документе рассматривается механизм разграничения доступа по записям таблиц (представлений). Предполагается, что используемая база данных сертифицирована как СЗИ.

Алгоритмы разграничения доступа по записям таблиц (представлений) реализуется в виде специальных представлений безопасности.

Представление безопасности должно содержать два поля:
  • идентификатор пользователя;

  • идентификатор объекта безопасности.

Требования к запросам безопасности для обеспечения скорости обработки данных:
  • Допускается использование директив JOIN и WHERE;

  • Не допускается использование функций СУБД;

  • Допускается использование директивы UNION ALL, не допускается использование директивы UNION.

Код доступа к таблицам представлениям БД должен быть написан таким образом, чтобы конечный запрос в базу данных имел следующий вид:

SELECT [перечень полей] FROM [таблица/представление]
WHERE [идентификатор] in (
    SELECT [идентификтор]
    FROM [представление безопасности]
    WHERE [идентификатор пользователя] = [идентификатор текущего пользователя]
)

Получение идентификатора текущего пользователя описано в соответствующем разделе (Безопасность доступа к объектам БД).

Код не приводится по техническим причинам