Обзор безопасности
Apache Doris предоставляет полный набор возможностей безопасности для корпоративных платформ данных: аутентификацию, авторизацию, защиту данных, шифрование при передаче и отслеживание действий для аудита. В этом документе рассматриваются сценарии обеспечения безопасности, общая архитектура безопасности, основные понятия и механизмы аутентификации и авторизации Doris. Также приведены ссылки на документацию по каждой возможности, чтобы администраторы могли быстро составить комплексный план защиты.
Сценарии применения
| Сценарий | Ключевые возможности | Документация |
|---|---|---|
| Централизованное управление пользователями (интеграция с корпоративным LDAP/AD) | Аутентификация LDAP | Аутентификация на основе LDAP |
| Управление внутренними пользователями и политиками паролей | Встроенная аутентификация, политика паролей, белый список | Встроенная аутентификация |
| Общий кластер для нескольких команд, авторизация на основе ролей | RBAC, роли | Встроенная авторизация |
| Единое управление авторизацией в экосистеме больших данных | Интеграция с Apache Ranger | Авторизация на основе Ranger |
| Защита конфиденциальных данных (на уровне строк и столбцов, маскирование) | Управление доступом к данным | Управление доступом к данным |
| Шифрование соединения между клиентом и FE | SSL для протокола MySQL, HTTPS для FE | SSL для протокола MySQL, Настройка HTTPS для FE |
| Аудит и отслеживание действий для проверки соответствия требованиям | Журнал аудита | Журнал аудита |
| Шифрование и расшифровка данных | Функции шифрования | Функции шифрования данных |
| Развёртывание в AWS, интеграция с IAM | Аутентификация и авторизация AWS | Аутентификация и авторизация AWS |
Обзор возможностей безопасности
Doris обеспечивает безопасность данных с помощью следующих механизмов, охватывающих пять направлений: идентификация, авторизация, данные, передача данных и аудит.
| Направление безопасности | Возможность | Описание |
|---|---|---|
| Аутентификация | Встроенная аутентификация | Doris предоставляет встроенную аутентификацию по имени пользователя и паролю с настраиваемыми политиками паролей. |
| Аутентификация | Аутентификация LDAP | Централизованное управление учётными данными пользователей через службу LDAP упрощает управление доступом и повышает безопасность системы. |
| Авторизация | Управление доступом на основе ролей (RBAC) | Ограничивает доступ к ресурсам базы данных и операции с ними в соответствии с ролями и привилегиями пользователей. |
| Авторизация | Авторизация Ranger | Интеграция с Apache Ranger обеспечивает централизованную авторизацию с детальными политиками управления доступом. |
| Защита данных | Шифрование и маскирование данных | Шифрует и маскирует данные в таблицах, предотвращая утечку конфиденциальных данных при несанкционированном доступе. |
| Защита данных | Детальное управление доступом | Настраивает права доступа на уровне строк и столбцов на основе правил. |
| Безопасность передачи данных | Протокол шифрования SSL | Защищает передачу данных между клиентом и сервером Doris, предотвращая их кражу или подмену. |
| Отслеживание действий для аудита | Журнал аудита | Записывает все операции, включая вход пользователей в систему, запросы и изменения данных, для последующего аудита и расследования проблем. |
| Дополнительные меры безопасности | Безопасность Java UDF | Администратор root должен проверять реализацию пользовательских UDF, чтобы обеспечить безопасность их выполнения и предотвратить опасные операции, такие как удаление данных или повреждение системы. |
| Дополнительные меры безопасности | Управление сторонними пакетами | При подключении сторонних пакетов через такие возможности, как JDBC Catalog и UDF, администраторы должны убедиться в безопасности и надёжности их источника. Используйте только официальные каналы или зависимости от доверенных сообществ. |
Основные понятия
Система авторизации Doris построена по образцу механизма авторизации MySQL. Она поддерживает детальное управление доступом на уровне строк, управление доступом на основе ролей и механизм белого списка. Понимание следующих четырёх основных понятий поможет быстро освоить модель аутентификации и авторизации Doris.
Идентификатор пользователя
В системе авторизации пользователь определяется сущностью User Identity. User Identity состоит из двух частей: username и host.
username: имя пользователя, состоящее из прописных и строчных английских букв.host: IP-адрес, с которого подключается пользователь.
User Identity записывается как username@'host', что означает подключение пользователя username с адреса host.
Другой вариант записи User Identity — username@['domain'], где domain — доменное имя, которое DNS может разрешить в набор IP-адресов. В итоге такая запись представляет собой набор username@'host'. В следующих разделах везде используется запись username@'host'.
Привилегия
Привилегия действует на уровне узла, каталога данных, базы данных или таблицы. Разные привилегии предоставляют права на выполнение разных операций.
Роль
Doris позволяет создавать роли с произвольными именами. Роль можно рассматривать как набор привилегий. Новому пользователю можно назначить роль, после чего он автоматически получает её привилегии. Последующие изменения привилегий роли также отражаются на привилегиях всех пользователей, которым назначена эта роль.
Свойства пользователя
Свойства пользователя привязаны непосредственно к пользователю, а не к User Identity. То есть user@'192.%' и user@['domain'] имеют общий набор свойств пользователя. Эти свойства принадлежат пользователю user, а не user@'192.%' или user@['domain'].
Свойства пользователя включают, помимо прочего, максимальное число подключений для пользователя и настройки кластера загрузки.
Архитектура аутентификации и авторизации
Процесс входа в Apache Doris состоит из двух частей: аутентификации и авторизации.
- Аутентификация: проверяет личность пользователя на основе предоставленных им учётных данных, таких как имя пользователя, IP-адрес клиента и пароль. После успешной проверки пользователь сопоставляется с User Identity в системе.
- Авторизация: на основе полученной User Identity и соответствующих ей привилегий проверяет, имеет ли пользователь право выполнить запрошенную операцию.
Для аутентификации Doris поддерживает два варианта: встроенную аутентификацию и аутентификацию LDAP. Для авторизации также поддерживаются два варианта: встроенная авторизация на основе RBAC и внешняя авторизация на основе Apache Ranger. Варианты аутентификации и авторизации можно свободно сочетать. Например, можно использовать LDAP для аутентификации и Ranger для авторизации.
В следующей таблице приведены распространённые сочетания и сценарии их применения:
| Способ аутентификации | Способ авторизации | Сценарий применения |
|---|---|---|
| Встроенная аутентификация | Встроенная авторизация RBAC | Небольшие и средние кластеры, автономное развёртывание, отсутствие внешних зависимостей. |
| Аутентификация LDAP | Встроенная авторизация RBAC | Интеграция с корпоративным LDAP/AD, при которой моделью авторизации по-прежнему управляет Doris. |
| Встроенная аутентификация | Apache Ranger | Уже используется система Ranger и требуется единое управление авторизацией в экосистеме больших данных. |
| Аутентификация LDAP | Apache Ranger | Рекомендуемый подход для корпоративных систем: единая идентификация, централизованная авторизация и возможность аудита. |
Навигация по разделу
Подробности о возможностях безопасности Doris приведены в следующих тематических документах:
| Тема | Документ |
|---|---|
| Встроенная аутентификация (политика паролей, белый список, действия при забытом пароле) | Встроенная аутентификация |
| Аутентификация LDAP | Аутентификация на основе LDAP |
| Встроенная авторизация RBAC (виды привилегий, иерархия привилегий, роли) | Встроенная авторизация |
| Привилегии на уровне строк и столбцов и маскирование данных | Управление доступом к данным |
| Централизованная авторизация с Apache Ranger | Авторизация на основе Ranger |
| Журнал аудита | Журнал аудита |
| Шифрование передачи данных с помощью SSL для протокола MySQL | SSL для протокола MySQL |
| Шифрование передачи данных HTTP/HTTPS для FE | Настройка HTTPS для FE |
| Функции шифрования | Функции шифрования данных |
| Интеграция с облачными провайдерами (AWS) | Аутентификация и авторизация AWS |