YDB для инженеров по безопасности
В этом разделе документации YDB рассматриваются аспекты работы с YDB, связанные с безопасностью. Также он будет полезен для целей обеспечения compliance.
Основные элементы и концепции безопасности YDB

Система безопасности YDB оперирует следующими понятиями:
-
Субъекты доступа:
-
Пользователи. YDB позволяет работать как с локальными пользователями, так и с пользователями из внешних источников (LDAP-каталоги, IAM-системы и пр).
-
Группы. YDB позволяет объединять пользователей в именованные множества. Состав пользователей в группе можно изменять в дальнейшем. Группа может быть и пустой — не содержать ни одного пользователя.
-
-
Объекты доступа. В YDB объектами доступа являются объекты схемы (таблицы, системные представления и т.п.), для которых настраиваются права доступа.
-
Права доступа. С помощью прав доступа в YDB определяется перечень допустимых операций с объектами доступа для конкретного пользователей или группы.
Права доступа — это возможность выполнять определенные действия (создание, удаление, чтение, обновление и т.п.) над объектом доступа.
Права доступа могут быть выданы конкретному пользователю, или группе. Пользователь, которого включили в группу, наделяется правами, выданными ранее этой группе, на время нахождения в этой группе.
Подробнее о правах доступа см. в разделе Права доступа.
-
Уровни доступа. С помощью уровней доступа в YDB определяется доступ к дополнительным возможностям по управлению кластером для конкретного пользователя или группы. YDB использует иерархические уровни доступа: database, viewer, monitoring и administration. Более высокие уровни автоматически включают все более низкие. Дополнительно есть два специальных неиерархических списка: bootstrap (для начальной инициализации кластера) и register node (для регистрации динамических узлов).
Подробнее об уровнях доступа см. в разделе Списки уровней доступа.
-
Аутентификация и авторизация. Система управления доступом в YDB предоставляет механизм защиты данных в кластере YDB. Только аутентифицированные субъекты доступа (пользователи и группы) могут работать с данными, а доступ к данным может ограничиваться.
-
Аутентификация. При доступе к кластеру YDB пользователи проходят аутентификацию — процесс проверки, подтверждающий подлинность пользователя. YDB поддерживает различные механизмы аутентификации, их детальное описание можно найти в соответствующем разделе аутентификации.
Важно отметить,что независимо от используемого механизма, в результате успешной аутентификации пользователи получают идентификатор (SID) и аутентификационный токен.
-
Идентификатор в виде SID используется для идентификации пользователя в YDB. Например, в качестве SID для локальных пользователей выступает login пользователя. Для внешних пользователей SID также содержит информацию об источнике пользователя. SID пользователя также можно встретить в системных представлениях, описывающих текущие настройки безопасности.
-
Аутентификационный токен используется узлами YDB для авторизации доступа пользователя перед обработкой его запросов.
Полученный аутентификационный токен пользователь может многократно использовать в дальнейшем в своей работе при выполнении запросов к кластеру YDB. Более подробную информацию про аутентификационный токен, например о параметрах кеширования и т.п., см. в разделе auth_config.
-
-
Авторизация. На основе аутентификационных данных проводится авторизация — процесс проверки наличия определённых прав доступа и уровней доступа для выполнения пользователем запрошенной операции.
-
-
Аудитные логи. Действия, направленные на изменение настроек безопасности, дополнительно логируются в отдельный журнал, называемый аудитный лог. Данный журнал, в первую очередь, будет интересен для тех, кто отвечает за безопасность информации. В аудитный лог попадают такие действия как создание или удаление объектов доступа, создание или удаление пользователей, смена паролей, выдача или отзыв прав доступа и т.п.
-
Шифрование. YDB является распределённой системой, обычно работающей на кластерах, расположенных в нескольких датацентрах. Для защиты пользовательских данных YDB предоставляет механизмы:
- шифрования данных при передаче для обеспечения безопасности данных, передаваемых между клиентом и YDB, между узлами самого кластера YDB;
- шифрования данных при хранении.