Основные понятия безопасности для кластеров больших данных SQL Server

Область применения: SQL Server 2019 (15.x)

Важно!

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.

В этой статье рассматриваются основные понятия, связанные с обеспечением безопасности.

Кластеры больших данных SQL Server обеспечивают когерентную и отказоустойчивую авторизацию и проверку подлинности. Кластер больших данных можно интегрировать с Active Directory (AD) путем полностью автоматизированного развертывания, которое настраивает интеграцию доменных служб AD с существующим доменом. После настройки в кластере больших данных интеграции с AD можно использовать существующие удостоверения и группы пользователей для единого доступа во всех конечных точках. Кроме того, после создания внешних таблиц в SQL Server можно управлять доступом к источникам данных путем предоставления доступа к внешним таблицам пользователям и группам AD, что позволяет централизовать политики доступа к данным в одном расположении.

В этом 14-минутном видео содержится обзор безопасности кластера больших данных:

Проверка подлинности

Конечные точки внешнего кластера поддерживают проверку подлинности AD. Используйте удостоверение AD для проверки подлинности в кластере больших данных.

Конечные точки кластера

В кластере больших данных имеется пять точек входа.

  • Главный экземпляр — конечная точка TDS для доступа к главному экземпляру SQL Server в кластере, используемая приложениями и инструментами баз данных, такими как SSMS или Azure Data Studio. При использовании команд HDFS или SQL Server из Azure Data CLI (azdata) средство подключается к другим конечным точкам в зависимости от операции.

  • Шлюз для доступа к файлам HDFS, Spark (Knox) — конечная точка HTTPS для доступа к таким службам, как webHDFS и Spark.

  • Конечная точка службы управления кластером (контроллера) — служба управления кластером больших данных, которая предоставляет REST API для управления кластером. Инструменту azdata требуется подключение к этой конечной точке.

  • Прокси-сервер управления — для доступа к панели мониторинга поиска по журналам и панели мониторинга метрик.

  • Прокси-сервер приложений — конечная точка для управления приложениями, развернутыми в кластере больших данных.

Cluster endpoints

В настоящее время невозможно открыть дополнительные порты для доступа к кластеру извне.

Авторизация

Интегрированная система безопасности между различными компонентами всего кластера позволяет передавать исходное удостоверение пользователя при отправке запросов из Spark и SQL Server на всем пути вплоть до HDFS. Как упоминалось выше, различные конечные точки внешнего кластера поддерживают проверку подлинности Active Directory.

Существует два уровня проверки авторизации в кластере для управления доступом к данным. Авторизация в контексте больших данных выполняется в SQL Server с использованием традиционных разрешений SQL Server для объектов и в HDFS с использованием списков управления доступом (ACL), которые связывают удостоверения пользователей с конкретными разрешениями.

Защищенный кластер больших данных свидетельствует о согласованной поддержке сценариев проверки подлинности и авторизации как в SQL Server, так и в HDFS/Spark. Проверка подлинности — это процесс проверки удостоверения пользователя или службы и гарантия того, кем или чем они являются в действительности. Авторизация используется для предоставления или запрета доступа к определенным ресурсам на основе удостоверения запрашивающего доступ пользователя. Она выполняется после идентификации пользователя с помощью проверки подлинности.

Авторизация в контексте больших данных выполняется с помощью списков управления доступом, которые связывают удостоверения пользователей с конкретными разрешениями. HDFS поддерживает авторизацию, ограничивая доступ к API-интерфейсам служб, файлам HDFS и выполнению заданий.

Шифрование в предоставлении доступа и других механизмах обеспечения безопасности

Шифрование взаимодействия между клиентами и внешними конечными точками, а также между компонентами внутри кластера обеспечивается с помощью TLS/SSL с использованием сертификатов.

Все взаимодействие SQL Server с SQL Server, такое как взаимодействие главного экземпляра SQL с пулом данных, защищается с помощью учетных данных SQL.

Важно!

Кластеры больших данных используют для хранения учетных данных etcd. Рекомендуется настроить кластер Kubernetes для шифрования неактивных данных с помощью etcd. По умолчанию секреты, хранящиеся в etcd, не шифруются. Сведения об этой административной задаче содержатся в документации по Kubernetes: https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/ и https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/.

Шифрование неактивных данных

Шифрование неактивных данных кластеров больших данных SQL Server поддерживает основной сценарий шифрования на уровне приложения для компонентов SQL Server и HDFS. Ознакомьтесь со статьей Основные сведения о шифровании и руководство по конфигурации неактивных данных, в которой содержится исчерпывающее руководство по использованию этой функции.

Важно!

Мы рекомендуем использовать шифрование тома для всех развертываний Кластеров больших данных SQL Server. Предоставленные клиентом тома хранилища, настроенные в кластерах Kubernetes, также следует зашифровать, как при комплексном подходе к шифрованию неактивных данных. Функция шифрования неактивных данных Кластера больших данных SQL Server обеспечивает дополнительный уровень безопасности шифрования файлов данных и журналов SQL Server и поддержку зон шифрования HDFS.

Базовые учетные данные администратора

Кластер можно развернуть либо в режиме AD, либо с использованием только базовых учетных данных администратора. Режим безопасности с использованием только базовых учетных данных администратора не поддерживается в рабочей среде и предназначен для ознакомления с продуктом.

Даже если выбран режим Active Directory, для администратора кластера будут созданы базовые учетные данные. Эта функция обеспечивает альтернативный доступ при невозможности подключения к AD.

При развертывании этим базовым учетным данным будут предоставлены разрешения администратора в кластере. Вошедший пользователь будет системным администратором в главном экземпляре SQL Server и администратором в контроллере кластера. Компоненты Hadoop не поддерживают смешанный режим проверки подлинности. Это означает, что базовые учетные данные администратора нельзя использовать для проверки подлинности в шлюзе (Knox).

Эти учетные данные для входа необходимо определить при развертывании.

Имя пользователя администратора кластера:

  • AZDATA_USERNAME=<username>

Пароль администратора кластера:

  • AZDATA_PASSWORD=<password>

Примечание.

Обратите внимание, что в режиме, отличном от AD, для проверки подлинности в шлюзе для доступа к HDFS/Spark необходимо указывать имя пользователя в сочетании с приведенным выше паролем. До выпуска накопительного пакета обновления 5 для SQL Server 2019 имя пользователя имело значение root.

Начиная с SQL Server 2019 (15.x) CU 5 при развертывании нового кластера с базовой проверкой подлинности всех конечных точек, включая использование AZDATA_USERNAME шлюза и AZDATA_PASSWORD. Конечные точки в кластерах, которые обновлены до накопительного пакета обновления 5, продолжают использовать root в качестве имени пользователя для подключения к конечной точке шлюза. Это изменение не применяется к развертываниям, в которых используется проверка подлинности с помощью Active Directory. Подробные сведения см. в заметках о выпуске в разделе Учетные данные для доступа к службам через конечную точку шлюза.

Управление версиями ключей

SQL Server 2019 Кластеры больших данных позволяет управлять версиями ключей для SQL Server и HDFS с помощью зон шифрования. Дополнительные сведения см. в статье Версии ключей в кластере больших данных.

Следующие шаги

Знакомство с SQL Server 2019 Кластеры больших данных

Семинар: архитектура Microsoft SQL Server Кластеры больших данных

Kubernetes RBAC

Вопросы и ответы по кластерам больших данных