Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Dans le cadre de la sécurité de l’information, le principe des privilèges minimum affirme que les comptes et applications n’ont accès qu’aux données et opérations dont ils ont besoin. Avec SQL Server activé par Azure Arc, vous pouvez exécuter le service d’extension de l’agent avec des privilèges minimum. Cet article explique comment exécuter le service d’extension de l’agent avec le moins de privilèges possible.
L’article Configurer des comptes de service Windows et des autorisations pour l’extension Azure pour SQL Server décrit les autorisations de privilèges minimum pour le service d’extension de l’agent.
Privilège minimum activé par défaut
Le moindre privilège est activé par défaut dans les versions suivantes d’Azure Extension for SQL Server :
- Version 1.1.3453.436
- Version 1.1.3518.465 et versions ultérieures
Le privilège minimum n’est pas activé par défaut dans les versions antérieures à 1.1.3453.436 ou dans les versions 1.1.3464.439, 1.1.3494.451 et 1.1.3500.453. Pour ces versions, suivez les étapes de cet article pour activer manuellement le moindre privilège.
Remarque
Pour les serveurs existants utilisant 1.1.2859.223 ou postérieure des versions, lorsque la mise à jour automatique est activée, la configuration à privilège minimum est appliquée finalement dans le cadre des mises à jour automatiques. Pour empêcher l’application automatique de la configuration de moindre privilège, bloquez les mises à niveau de l’extension après 1.1.2859.223.
Lorsque le moindre privilège est activé, l’extension Azure pour SQL Server crée et gère NT SERVICE\SqlServerExtension automatiquement un compte de service Windows local et une connexion SQL Server :
- L’extension accorde au compte uniquement les autorisations Windows nécessaires pour lire et enregistrer la configuration, et écrire dans les journaux.
- L’extension accorde au login les permissions minimales SQL Server requises par les fonctionnalités activées.
- L’extension révoque les permissions lorsqu’elles ne sont plus nécessaires, comme lorsque vous désactivez une fonctionnalité.
- L’extension supprime le compte lorsque vous désinstallez l’extension Azure pour SQL Server ou désactivez le moindre privilège.
Prérequis
Cette section identifie les exigences système et les outils nécessaires pour activer ou désactiver le moindre privilège.
Configuration requise
La configuration du privilège minimum nécessite :
- Windows Server 2016 ou versions ultérieures.
- SQL Server 2014 (12.x) ou versions ultérieures.
- Le compte de service SQL Server doit être membre du rôle serveur fixe sysadmin.
- Toutes les bases de données doivent être en ligne et mises à jour.
Le minimum de privilèges n’est actuellement pas pris en charge sous Linux.
Outils
Pour effectuer les étapes de cet article, vous avez besoin des outils suivants :
- Service de contrôle d’accès Azure (CLI)
-
Extension Azure CLI
arcdataversion1.5.9ou ultérieure - Extension Azure pour la version
1.1.2859.223de SQL Server ou versions ultérieures permettant d’activer manuellement le moindre privilège.
Activer ou désactiver le moindre privilège
Se connecter avec Azure CLI.
az loginVérifiez la version de l’extension
arcdata.az extension list -o tableSi les résultats incluent une version prise en charge de
arcdata, passez à l’étape suivante.Si nécessaire, installez ou mettez à jour l’extension Azure CLI
arcdata.Pour installer l’extension :
az extension add --name arcdataPour mettre à jour l’extension :
az extension update --name arcdataActivez les privilèges minimum avec Azure CLI.
Pour activer les privilèges minimum, définissez l’indicateur de fonctionnalité
LeastPrivilegesurtrue. Pour désactiver, définissez le drapeau de fonctionnalité àfalse. Pour effectuer cette tâche, exécutez la commande suivante avec vos valeurs pour les<resource-group>et<machine-name>.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>Par exemple, la commande suivante active les privilèges minimum pour un serveur nommé
myserverdans un groupe de ressources nommémyrg:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
Vérifier la configuration des privilèges minimum
Pour vérifier que votre SQL Server activé par Azure Arc est configuré pour s’exécuter avec des privilèges minimum :
Dans Services, localiser Microsoft SQL Server Extension Service. Vérifiez que le service s’exécute sous le compte de service
NT SERVICE\SqlServerExtension.Ouvre le planificateur des tâches sur le serveur. Vérifiez qu’une tâche pilotée par événements nommée
SqlServerExtensionPermissionProviderexiste sousMicrosoft\SqlServerExtension.Ouvrez SQL Server Management Studio et vérifiez la connexion nommée
NT SERVICE\SqlServerExtension. Vérifiez que le compte dispose de ces autorisations de base :CONNECT SQLVIEW DATABASE STATEVIEW SERVER STATE
Validez les autorisations avec les requêtes suivantes :
Pour vérifier les autorisations au niveau du serveur, exécutez la requête suivante :
EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; SELECT * FROM fn_my_permissions(NULL, 'SERVER'); REVERT;Pour vérifier les autorisations au niveau de la base de données, remplacez
<database-name>par le nom de l’une de vos bases de données et exécutez la requête suivante :EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; USE [<database-name>]; SELECT * FROM fn_my_permissions(NULL, 'database'); REVERT;
Optionnel : Gérer le compte de service du moteur de base de données SQL Server
Utilisez la configuration par défaut du compte de service pour la plupart des environnements. Utilisez la procédure suivante uniquement si vous devez retirer le compte de service du moteur de base de données SQL Server du rôle de serveur fixe sysadmin entre deux opérations d’extension.
Pour utiliser le mode de moindre privilège, le compte de service moteur de base de données SQL Server doit être membre du rôle de serveur fixe sysadmin sur chaque instance SQL Server. Cette adhésion permet au système d’accorder ou de révoquer automatiquement des permissions. Par défaut, le compte du service du moteur de base de données de SQL Server est membre du rôle serveur fixe sysadmin.
L’extension Azure pour SQL Server exécute un processus temporaire appelé Deployer.exe lorsque NT AUTHORITY\SYSTEM :
- Vous activez ou désactivez des fonctionnalités
- Vous ajoutez ou retirez des instances de SQL Server
- Vous installez ou améliorez l’extension
Deployer.exe se fait passer pour le compte de service SQL Server lorsqu’il se connecte à SQL Server. Une fois connecté, il ajoute ou supprime des autorisations dans les rôles de serveur et de base de données en fonction des fonctionnalités activées ou désactivées. Ce processus garantit que l’extension Azure pour SQL Server utilise les privilèges minimum requis.
Si vous souhaitez gérer ce processus avec plus de contrôle, de sorte que le compte de service SQL Server n'est pas membre du rôle serveur fixe sysadmin rôle serveur fixe tout le temps, procédez comme suit :
- Avant d’installer ou de mettre à jour l’extension, d’activer ou désactiver une fonctionnalité, ou d’ajouter ou de supprimer une instance de SQL Server, ajoutez temporairement le compte de service du moteur de base de données SQL Server au rôle de serveur fixe sysadmin.
- Autorisez
Deployer.exeà s’exécuter au moins une fois afin que les autorisations soient définies. - Supprimez le compte de service SQL Server du rôle serveur fixe sysadmin.
Répétez cette procédure chaque fois que vous installez ou mettez à jour l’extension, activez ou désactivez une fonctionnalité, ou ajoutez ou retirez une instance de SQL Server. Cette procédure permet Deployer.exe d’accorder le moins de privilèges nécessaires.
Comme vous devez répéter cette procédure à chaque mise à niveau d’extension, envisagez de désactiver les mises à jour automatiques. Vous pouvez ensuite utiliser un script qui effectue ces étapes et améliore l’extension.
Important
L’extension Azure pour SQL Server Deployer.exe nécessite que NT AUTHORITY\SYSTEM puisse se connecter à SQL Server, avec l’autorisation CONNECT SQL, dans les modes standard et least privilege. Cette exigence existe, car Deployer.exe s'exécute toujours sous LocalSystem compte, quel que soit le compte de service que l’extension utilise après l’approvisionnement.
Si NT AUTHORITY\SYSTEM ne peut pas se connecter à SQL Server, Deployer.exe ne peut pas créer la connexion NT SERVICE\SqlServerExtension ou accorder les autorisations requises. Avant d’activer le mode privilège minimum, vérifiez que NT AUTHORITY\SYSTEM dispose d’une connexion active SQL Server avec CONNECT SQL autorisation. Pour vérifier, voir Prérequis.
Si le compte de service du moteur de base de données SQL Server n'a pas le rôle fixe d'administrateur système, les permissions just-in-time ne peuvent pas être accordées.
Pour plus de détails sur le moment où ces permissions sont utilisées, voir Configurer les comptes de service Windows et les permissions pour l’extension Azure pour SQL Server.