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

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