Partager via


Gérer l’accès à un cluster Big Data en mode Active Directory

S’applique à : SQL Server 2019 (15.x)

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Cet article explique comment ajouter de nouveaux groupes Active Directory avec des rôles bdcUser en plus de ceux fournis lors du déploiement via le paramètre de configuration clusterUsers.

Important

N’utilisez pas cette procédure pour ajouter de nouveaux groupes Active Directory avec le rôle bdcAdmin. Les composants Hadoop, tels que HDFS et Spark, n’autorisent qu’un seul groupe Active Directory en tant que groupe superutilisateur : l’équivalent du rôle bdcAdmin dans un BDC. Pour octroyer des autorisations de groupes Active Directory avec bdcAdmin supplémentaires au cluster Big Data après le déploiement, ajoutez des utilisateurs et des groupes supplémentaires aux groupes déjà désignés au cours du déploiement. Vous pouvez suivre la même procédure pour mettre à jour l’appartenance au groupe qui a le rôle bdcUsers.

Deux rôles principaux dans le cluster Big Data

Les groupes Active Directory peuvent être fournis dans la section sécurité du profil de déploiement comme faisant partie des rôles principaux de l’autorisation dans le cluster Big Data :

  • clusterAdmins: Ce paramètre prend un groupe Active Directory. Les membres de ce groupe ont le rôle bdcAdmin, ce qui signifie qu’ils obtiennent des autorisations d’administrateur pour l’ensemble du cluster. Ils possèdent des autorisations sysadmin dans SQL Server, des autorisations superutilisateur dans Hadoop Distributed File System (HDFS) et Spark et des droits administrateur dans le contrôleur.

  • clusterUsers: Ces groupes Active Directory sont mappés au rôle bdcUsers dans le BDC. Ce sont des utilisateurs réguliers sans autorisations administrateur dans le cluster. Ils disposent d’autorisations pour se connecter à l’instance maître SQL Server mais, par défaut, ils n’ont pas d’autorisation aux objets ni aux données. Il s’agit d’utilisateurs standard pour HDFS et Spark, sans autorisations de superutilisateur. Lors de la connexion au point de terminaison du contrôleur, ces utilisateurs peuvent uniquement interroger les points de terminaison (à l’aide de azdata bdc endpoints list).

Pour octroyer des autorisations bdcUser à des groupes Active Directory supplémentaires sans modifier les appartenances aux groupes dans Active Directory, effectuez les procédures décrites dans les sections suivantes.

Octoyer des autorisations bdcUser à des groupes Active Directory supplémentaires

Créer une connexion pour l’utilisateur ou le groupe Active Directory dans l’instance maître SQL Server

  1. Connectez-vous au point de terminaison SQL maître à l’aide de votre client SQL préféré. Utilisez n’importe quelle connexion d’administrateur (par exemple, AZDATA_USERNAME, fournie pendant le déploiement). Il peut également s’agir d’un compte Active Directory qui appartient au groupe Active Directory fourni comme clusterAdmins dans la configuration de la sécurité.

  2. Pour créer une connexion pour l’utilisateur ou le groupe Active Directory, exécutez la commande Transact-SQL suivante :

    CREATE LOGIN [<domain>\<principal>] FROM WINDOWS;
    

    Accordez les autorisations souhaitées dans l’instance SQL Server :

    ALTER SERVER ROLE <server role> ADD MEMBER [<domain>\<principal>];
    GO
    

Pour obtenir la liste complète des rôles de serveur, consultez la rubrique de sécurité SQL Server correspondante ici.

Ajouter l’utilisateur ou le groupe Active Directory à la table des rôles dans la base de données du contrôleur

  1. Obtenez les informations d’identification SQL Server du contrôleur en exécutant les commandes suivantes :

    a. Exécutez cette commande en tant qu’administrateur Kubernetes :

    kubectl get secret controller-sa-secret -n <cluster name> -o yaml | grep password
    

    b. Décoder le secret au format Base64 :

    echo <password from kubectl command>  | base64 --decode && echo
    
  2. Dans une fenêtre de commande distincte, exposez le port du serveur de base de données du contrôleur :

    kubectl port-forward controldb-0 1433:1433 --address 0.0.0.0 -n <cluster name>
    
  3. Utilisez la connexion précédente pour insérer une nouvelle ligne dans les tables roles et active_directory_principals. Saisissez la valeur REALM en majuscules.

    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
    

    Pour rechercher le SID de l’utilisateur ou du groupe en cours d’ajout, vous pouvez utiliser les commandes PowerShell Get-ADUser ou Get-ADGroup.

  4. Vérifiez que les membres du groupe que vous avez ajouté disposent des autorisations bdcUser en vous connectant au point de terminaison du contrôleur ou en vous authentifiant auprès de l’instance maître de SQL Server. Par exemple :

    azdata login
    azdata bdc endpoints list
    

Étapes suivantes