Partager via


Utiliser SQL Server activé par Azure Arc avec des privilèges minimum (aperçu)

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 des privilèges minimum.

Pour configurer éventuellement le service pour qu’il s’exécute avec des privilèges minimum, suivez les étapes décrites dans cet article. Actuellement, le service ne s’exécute pas automatiquement avec des privilèges minimum.

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.

Remarque

Si l'extension Azure est une version 1.1.2594.118 (février 2024) ou ultérieure, le mode moindre privilège sera automatiquement activé dans les mois à venir.

La prise en charge de cette configuration est actuellement disponible pour l’aperçu.

Remarque

En tant que fonctionnalité en préversion, la technologie présentée dans cet article est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.

Les dernières mises à jour sont disponibles dans Notes de publication - SQL Server activé par Azure Arc.

Après avoir configuré le service d’extension de l’agent pour qu’il s’exécute avec des privilèges minimum, celui-ci utilise le compte de service NT Service\SQLServerExtension.

Le compte NT Service\SQLServerExtension est un compte de service Windows local :

  • Créé et géré par l’extension Azure pour SQL Server lorsque l’option des privilèges minimum est activée.
  • Autorisations et privilèges minimum requis accordés pour exécuter l’extension Azure pour le service SQL Server sur le système d’exploitation Windows. Il n’a accès qu’aux dossiers et annuaires utilisés pour lire et stocker la configuration ou écrire des journaux.
  • Autorisation accordée pour se connecter et envoyer des requêtes dans SQL Server avec une nouvelle connexion spécifique à ce compte de service disposant des autorisations minimales requises. Les autorisations minimales dépendent des fonctionnalités activées.
  • Mise à jour lorsque les autorisations ne sont plus nécessaires. Par exemple, les autorisations sont révoquées lorsque vous désactivez une fonctionnalité, désactivez la configuration des privilèges minimum ou désinstallez l’extension Azure pour SQL Server. La révocation garantit qu’il n’y a plus aucune autorisation une fois qu’elles ne sont plus requises.

Prérequis

Cette section identifie la configuration requise et les outils dont vous avez besoin pour suivre l’exemple de cet article.

Configuration requise

La configuration avec privilèges minimum nécessite :

  • Windows Server 2012 ou version ultérieure
  • SQL Server 2012 ou version ultérieure

La configuration avec privilèges minimum n’est actuellement pas prise en charge sur Linux.

outils

Pour effectuer les étapes de cet article, vous avez besoin des outils suivants :

Activer les privilèges minimum

  1. Connectez-vous à Azure CLI.

    az login
    
  2. Vérifiez la version de l’extension arcdata.

    az extension list -o table
    

    Si 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 arcdata
    

    Pour mettre à jour l’extension :

    az extension update --name arcdata
    
  3. Activez les privilèges minimum avec Azure CLI.

    Pour activer les privilèges minimum, définissez l’indicateur de fonctionnalité LeastPrivilege sur true. Pour effectuer cette tâche, exécutez la commande suivante avec des valeurs mises à jour pour le <resource-group> et le <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é myserver dans un groupe de ressources nommé myrg :

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver 
    

Valider la configuration

Pour vérifier que votre SQL Server activé par Azure Arc est configuré pour s’exécuter avec des privilèges minimum :

  1. Dans les services Windows, recherchez le service Service d’extension Microsoft SQL Server. Vérifiez que le service s’exécute sous le compte de service NT Service\SqlServerExtension. 

  2. Ouvrez le planificateur de tâches sur le serveur et vérifiez qu’une tâche planifiée portant le nom SqlServerExtensionPermissionProvider est créée sous Microsoft\SqlServerExtension. Cette tâche s’exécute toutes les heures pour ajouter ou supprimer des autorisations selon les besoins en fonction des fonctionnalités activées et désactivées.

  3. Ouvrez SQL Server Management Studio et vérifiez la connexion nommée NT Service\SqlServerExtension. Vérifiez que ces autorisations sont affectées au compte :

    • Connecter SQL
    • Afficher le statut de la base de données
    • Afficher l’état du serveur
  4. 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");
    

    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");
    

Désactiver les privilèges minimum

Pour désactiver les privilèges minimum, définissez l’indicateur de fonctionnalité LeastPrivilege sur false. Pour effectuer cette tâche, exécutez la commande suivante avec des valeurs mises à jour pour le <resource-group> et le <machine-name> :

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group <resource-group> --machine-name <machine-name>

Par exemple, la commande suivante désactive les privilèges minimum pour un serveur nommé myserver dans un groupe de ressources nommé myrg :

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group myrg --machine-name myserver