Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2019 (15.x)
Important
Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.
В этой статье описывается, как добавить новые группы Active Directory с ролями bdcUser в дополнение к тем, которые предоставляются во время развертывания с помощью параметра конфигурации clusterUsers .
Important
Не используйте эту процедуру для добавления новых групп Active Directory с ролью bdcAdmin . Компоненты Hadoop, такие как HDFS и Spark, разрешают только одну группу Active Directory в качестве группы суперпользователя — эквивалент роли bdcAdmin в BDC. Чтобы предоставить дополнительные группы Active Directory с разрешениями bdcAdmin в кластер больших данных после развертывания, необходимо добавить дополнительных пользователей и групп в уже назначенные группы во время развертывания. Вы можете выполнить ту же процедуру, чтобы обновить членство в группе с ролью bdcUsers .
Две общие роли в кластере больших данных
Группы Active Directory можно предоставить в разделе безопасности профиля развертывания в рамках двух общих ролей для аутентификации в кластере больших данных.
clusterAdmins: этот параметр принимает одну группу Active Directory. Члены этой группы имеют роль bdcAdmin , то есть получают разрешения администратора для всего кластера. У них есть разрешения sysadmin в SQL Server, разрешения суперпользователя в Распределенной файловой системе Hadoop (HDFS) и Spark, а также права администратора в контроллере.clusterUsers: эти группы Active Directory сопоставляются с ролью bdcUsers в BDC. Они являются обычными пользователями без разрешений администратора в кластере. У них есть разрешения на вход в главный экземпляр SQL Server, но по умолчанию у них нет разрешений на объекты или данные. Они являются обычными пользователями для HDFS и Spark без разрешений суперпользователя . При подключении к конечной точке контроллера эти пользователи могут запрашивать только конечные точки (используя список конечных точек azdata bdc).
Чтобы предоставить дополнительные разрешения группы Active Directory bdcUser без изменения членства в группах в Active Directory, выполните действия в следующих разделах.
Предоставление разрешений bdcUser дополнительным группам Active Directory
Создание имени входа для пользователя Или группы Active Directory в главном экземпляре SQL Server
Подключитесь к главной конечной точке SQL с помощью любимого клиента SQL. Используйте любое имя входа администратора (например,
AZDATA_USERNAMEкоторое было предоставлено во время развертывания). Кроме того, это может быть любая учетная запись Active Directory, которая принадлежит группе Active Directory, указанной какclusterAdminsв конфигурации безопасности.Чтобы создать имя входа для пользователя или группы Active Directory, выполните следующую команду Transact-SQL:
CREATE LOGIN [<domain>\<principal>] FROM WINDOWS;Предоставьте требуемые разрешения в экземпляре SQL Server:
ALTER SERVER ROLE <server role> ADD MEMBER [<domain>\<principal>]; GO
Полный список ролей сервера см. в соответствующем разделе безопасности SQL Server.
Добавление пользователя или группы Active Directory в таблицу ролей в базе данных контроллера
Получите учетные данные SQL Server контроллера, выполнив следующие команды:
a. Выполните следующую команду от имени администратора Kubernetes:
kubectl get secret controller-sa-secret -n <cluster name> -o yaml | grep passwordb. Декодируйте секрет с помощью Base64
echo <password from kubectl command> | base64 --decode && echoВ отдельном командном окне предоставляют порт сервера базы данных контроллера:
kubectl port-forward controldb-0 1433:1433 --address 0.0.0.0 -n <cluster name>Используйте предыдущую связь, чтобы вставить новую строку в таблицы роли и active_directory_principals. Введите значение REALM в прописных буквах.
USE controller; GO INSERT INTO [controller].[auth].[roles] VALUES (N'<user or group name>@<REALM>', 'bdcUser') GO INSERT INTO [controller].[auth].[active_directory_principals] VALUES (N'<user or group name>@<REALM>', N'<SID>') GOЧтобы найти идентификатор безопасности добавляемого пользователя или группы, можно использовать команды Get-ADUser или Get-ADGroup PowerShell.
Убедитесь, что у членов добавленной вами группы есть ожидаемые разрешения bdcUser, войдя в конечную точку контроллера или выполнив проверку подлинности в главном экземпляре SQL Server. For example:
azdata login azdata bdc endpoints list