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.
Applies to :Azure SQL Managed Instance
Azure SQL Managed Instance est un moteur de base de données PaaS (Platform as a Service) entièrement managé qui offre une compatibilité proche de 100% avec la dernière Moteur de base de données SQL Server. Il combine le meilleur de SQL Server avec les avantages opérationnels d’un service entièrement managé. Étant donné qu’il stocke souvent les données métier critiques, notamment les enregistrements clients, les informations financières et la propriété intellectuelle, la sécurisation de votre SQL Managed Instance est essentielle pour protéger contre les violations de données, les accès non autorisés et les violations de conformité.
Cet article fournit des conseils sur la meilleure sécurisation de votre déploiement de Azure SQL Managed Instance.
Sécurité réseau
La sécurité réseau pour SQL Managed Instance permet d’empêcher les connexions non autorisées, de réduire l’exposition aux attaques et garantit que seules les sources approuvées peuvent atteindre vos bases de données via des contrôles d’accès et d’isolation réseau appropriés.
Déployer dans un réseau virtuel dédié : placez votre instance managée dans un sous-réseau dédié au sein de votre réseau virtuel pour fournir une isolation réseau et contrôler le flux de trafic. Cela garantit que votre base de données est isolée des autres ressources et protégée par les limites du réseau. Pour plus d’informations, consultez configuration requise pour le réseau virtuel.
Configurer des groupes de sécurité réseau (NSG) : appliquez des groupes de sécurité réseau à votre sous-réseau d’instance managée SQL pour contrôler le trafic entrant et sortant. Limitez l’accès aux ports et sources requis uniquement pour réduire la surface d’attaque. Pour plus d’informations, consultez Groupes de sécurité réseau.
Utilisez des points de terminaison privés si possible : connectez-vous à votre instance managée SQL via des adresses IP privées pour éviter d’exposer votre base de données à l’Internet public. La connectivité privée réduit le risque d’attaques externes et d’exfiltration de données. Pour plus d’informations, consultez Connectivité de point de terminaison privé.
Désactivez les points de terminaison publics par défaut : activez uniquement les points de terminaison publics si nécessaire pour votre architecture. Lorsqu’elle est activée, utilisez des règles de pare-feu strictes pour limiter l’accès aux adresses IP autorisées uniquement. Pour plus d’informations, consultez la vue d’ensemble du point de terminaison public.
Implement ExpressRoute ou VPN pour la connectivité hybride : utilisez Azure ExpressRoute ou vpn de site à site pour des connexions sécurisées et privées entre votre réseau local et votre Azure. Cela garantit que les données ne transitent pas par l’Internet public. Pour plus d’informations, consultez Architecture de connectivité.
Activer le chiffrement de connexion : configurez toutes les connexions clientes pour utiliser le chiffrement en transit. SQL Managed Instance prend en charge TLS 1.2 par défaut, ce qui garantit que les données sont protégées lors du déplacement entre les clients et la base de données. TLS 1.3 est également disponible pour SQL Managed Instance. Pour plus d’informations, consultez Sécurité de la connexion.
Gestion des identités
Les contrôles d’identité et d’authentification forts garantissent que seuls les utilisateurs et applications autorisés peuvent accéder à vos ressources SQL Managed Instance tout en fournissant une gestion centralisée des identités et un contrôle de cycle de vie de compte plus facile.
Configurer un administrateur Microsoft Entra : désignez un administrateur Microsoft Entra pour votre instance managée SQL pour activer la gestion centralisée des identités et les fonctionnalités de sécurité avancées. Cet administrateur peut gérer les stratégies d’accès et d’authentification. Pour plus d’informations, consultez Microsoft Entra admin.
Utilisez l’authentification Microsoft Entra : préférez l’authentification Microsoft Entra à l’authentification SQL pour la gestion centralisée des identités et un contrôle de cycle de vie de compte plus facile. Microsoft Entra ID offre une sécurité supérieure et permet des fonctionnalités avancées telles que l’accès conditionnel. Pour plus d’informations, consultez Configure Microsoft Entra authentification.
Créer des utilisateurs de base de données autonomes : utilisez des utilisateurs de base de données autonomes qui mappent à des groupes Microsoft Entra au lieu de connexions au niveau du serveur lorsque cela est possible. Cela simplifie la gestion des autorisations et améliore la sécurité en éliminant la nécessité d’un accès au niveau du serveur. Pour plus d’informations, voir Rendre votre base de données portable en utilisation des bases de données autonomes.
Activer l’authentification multifacteur : exiger l’authentification multifacteur pour les comptes d’administration et les utilisateurs privilégiés afin d’ajouter une couche supplémentaire de sécurité au-delà des mots de passe. Pour plus d’informations, consultez l’authentification multifacteur (MFA).
Utilisez les identités managées pour les applications : activez les identités managées pour Azure ressources pour permettre aux applications de s’authentifier sans stocker d’informations d’identification. Cela élimine la nécessité de gérer les chaînes de connexion avec des mots de passe incorporés. Pour plus d’informations, consultez Identités managées pour les ressources Azure.
Appliquer des stratégies de mot de passe fortes : si vous utilisez l’authentification SQL, vous devez exiger des mots de passe complexes qui ne peuvent pas être facilement deviner. Implémentez des stratégies de rotation de mot de passe et évitez de réutiliser les mots de passe entre différents comptes. Pour plus d’informations, consultez stratégie de mot de passe.
Accès privilégié
Le contrôle de l’accès privilégié empêche les modifications non autorisées, réduit l’impact des comptes compromis et garantit que les actions administratives sont correctement surveillées et contrôlées.
Implémentez l’accès au privilège minimum : accordez aux utilisateurs uniquement les autorisations minimales requises pour effectuer leurs fonctions de travail. Examinez et ajustez régulièrement les autorisations pour maintenir le principe du privilège minimum. Pour plus d’informations, consultez Prise en main des autorisations du moteur de base de données.
Rôles d’administration distincts : évitez d’accorder des droits d’administrateur à tous les administrateurs de base de données. Utilisez des autorisations plus granulaires comme CONTROL SERVER si possible et implémentez la séparation des tâches entre différentes fonctions administratives. Pour plus d’informations, voir Autorisations.
Utilisez Azure contrôle d’accès en fonction du rôle (RBAC) : implémentez Azure RBAC pour contrôler l’accès aux opérations de gestion des instances managées SQL. Créez des rôles personnalisés qui fournissent uniquement les autorisations nécessaires pour des tâches administratives spécifiques. Pour plus d’informations, consultez Azure RBAC pour SQL Managed Instance.
Surveiller les activités privilégiées : activez l’audit pour suivre toutes les actions effectuées par des comptes privilégiés. Passez régulièrement en revue les journaux d’audit pour les activités suspectes ou les modifications non autorisées. Pour plus d’informations, consultez SQL Server Audit dans Azure SQL Managed Instance.
Utilisez les rôles serveur pour accéder au niveau de la base de données : Utilisez des rôles serveur intégrés et créez des rôles personnalisés pour mettre en œuvre la sécurité basée sur les rôles. Attribuez des utilisateurs à des rôles plutôt que d’accorder des autorisations individuelles pour simplifier la gestion et réduire les erreurs. Pour plus d’informations, consultez Rôles de niveau serveur.
Protection de données
La protection des données protège vos informations via le chiffrement, les contrôles d’accès et la classification des données pour empêcher toute divulgation, falsification ou perte d’informations sensibles non autorisées.
Enable Transparent Data Encryption (TDE) : utilisez TDE pour chiffrer vos fichiers de base de données, de journal et de sauvegarde au repos. Envisagez d’utiliser des clés gérées par le client dans Azure Key Vault pour un contrôle supplémentaire sur les clés de chiffrement. Pour plus d’informations, consultez Transparent Data Encryption.
Implémentez Always Encrypted pour les données sensibles : utilisez Always Encrypted pour protéger les données hautement sensibles en cours d’utilisation, au repos et en transit. Cela garantit que même les administrateurs de base de données ne peuvent pas afficher les données sensibles en texte clair. Pour plus d'informations, consultez Always Encrypted.
Utilisez le grand livre dans SQL Managed Instance : Activez le grand livre pour créer un enregistrement immuable des modifications des données sensibles, en fournissant une journalisation infalsifiable. Pour plus d’informations, consultez Vue d’ensemble du Ledger.
Utiliser le masquage des données dynamiques : appliquez un masquage de données dynamiques pour masquer les données sensibles pour les utilisateurs non privilégiés tout en préservant les fonctionnalités de données pour les applications. Cela permet d’empêcher l’accès non autorisé aux informations sensibles. Pour plus d’informations, consultez Dynamic Data Masking.
Classifier et étiqueter des données sensibles : utilisez la découverte et la classification des données SQL pour identifier, classifier et étiqueter des données sensibles dans vos bases de données. Cela permet une meilleure protection et des rapports de conformité. Pour plus d’informations, consultez Découverte et classification des données.
Implémenter la sécurité au niveau des colonnes : accordez des autorisations au niveau de la colonne pour restreindre l’accès aux données sensibles. Fournissez uniquement des autorisations SELECT, UPDATE ou REFERENCES aux utilisateurs qui ont spécifiquement besoin d’accéder à des colonnes sensibles. Pour plus d’informations, consultez Chiffrer une colonne de données.
Utilisez la Sécurité au niveau des lignes (RLS) : implémentez RLS pour garantir que les utilisateurs peuvent uniquement accéder aux lignes de données pertinentes pour eux. Cela fournit une sécurité au niveau de l’application sans nécessiter de modifications importantes de l’application. Pour plus d’informations, consultez Sécurité au niveau des lignes.
Sauvegarde et récupération
Les processus de sauvegarde et de récupération fiables protègent vos données contre les pertes en raison de défaillances, de sinistres ou d’attaques tout en vous assurant que vous pouvez atteindre vos objectifs de temps de récupération et de point.
Vérifiez la configuration de sauvegarde automatisée : vérifiez que les sauvegardes automatisées sont correctement configurées et que les périodes de rétention répondent aux besoins de votre entreprise. Azure SQL Managed Instance fournit des sauvegardes automatisées par défaut avec des périodes de rétention configurables jusqu’à 35 jours. Le stockage de sauvegarde est indépendant du stockage d’instance et n’est pas limité en taille. Pour plus d’informations, consultez Sauvegardes automatisées.
Surveiller l’activité de sauvegarde : effectuez le suivi des sauvegardes automatisées sur votre instance managée SQL pour vous assurer que les opérations de sauvegarde se terminent correctement. Pour plus d’informations, consultez Surveiller l’activité de sauvegarde.
Utilisez le stockage de sauvegarde géoredondant : configurez le stockage géoredondant pour les sauvegardes afin de vous protéger contre les sinistres régionaux. Cela garantit que vos données peuvent être récupérées même si votre région primaire devient indisponible. Pour plus d’informations, consultez Redondance du stockage de sauvegarde.
Tester les procédures de sauvegarde et de restauration : testez régulièrement vos procédures de sauvegarde et de restauration pour vous assurer qu’elles fonctionnent correctement et répondent à vos objectifs de temps de récupération. Vérifiez que les bases de données restaurées sont entièrement fonctionnelles et que l’intégrité des données est conservée. Pour plus d’informations, consultez Restauration à un point dans le temps.
Utilisez les fonctionnalités de sauvegarde et de restauration natives : tirez parti de la sauvegarde et de la restauration natives à partir de Stockage Blob Azure pour les scénarios de migration. Vous pouvez créer des sauvegardes complètes de copie uniquement et effectuer une restauration à partir de fichiers .bak (SQL Server 2005+). La sauvegarde en copie seule n’est pas possible si la base de données est chiffrée par TDE géré par le service. Pour plus d’informations, consultez Restauration native à partir d’une URL.
Implémentez des stratégies de rétention à long terme : configurez la rétention de sauvegarde à long terme pour les exigences de conformité qui dépassent la période de rétention par défaut. Cela garantit que vous pouvez répondre aux exigences réglementaires en matière de rétention des données. Pour plus d’informations, consultez conservation des sauvegardes à long terme.
Surveillance et détection des menaces
La surveillance complète et la détection des menaces vous aident à identifier les problèmes de sécurité, à détecter les activités anormales et à répondre rapidement aux menaces potentielles contre votre instance managée SQL.
Enable Microsoft Defender pour SQL : configurez Microsoft Defender pour SQL afin de détecter les tentatives inhabituelles et potentiellement dangereuses d’accès ou d’exploitation de vos bases de données. Cela fournit des fonctionnalités avancées de protection contre les menaces, notamment l’évaluation des vulnérabilités et la détection des menaces. Pour plus d’informations, consultez Microsoft Defender pour SQL.
Configure Protection avancée contre les menaces : configurez Protection avancée contre les menaces pour détecter des menaces spécifiques, notamment l’injection sql potentielle, l’accès à partir d’emplacements ou de centres de données inhabituels, l’accès à partir de principaux inconnus et les informations d’identification SQL par force brute. Configurez les notifications par e-mail et les comptes de stockage pour les alertes de menace. Pour plus d’informations, consultez Configure Protection avancée contre les menaces.
Configurer l’audit SQL : activez l’audit complet pour suivre les événements de base de données et les écrire dans stockage Azure, Log Analytics ou Event Hubs. Cela fournit des journaux détaillés pour l’analyse de la sécurité et les rapports de conformité. Pour plus d’informations, consultez SQL Server Audit dans Azure SQL Managed Instance.
Configurez Azure Monitor : utilisez Azure Monitor pour collecter des métriques de plateforme, des journaux de diagnostic et créer des alertes personnalisées pour votre instance managée SQL. Surveillez la consommation des ressources, les métriques de performances et les événements de sécurité dans un emplacement centralisé. Pour plus d’informations, consultez Monitor Azure SQL Managed Instance.
Créer des alertes de métrique : configurez des alertes pour les activités suspectes, les tentatives de connexion ayant échoué, les modèles d’accès de base de données inhabituels et les seuils de consommation de ressources. Les métriques d’alerte sont disponibles pour le niveau de l’instance managée SQL, et non pour les bases de données individuelles. Pour plus d’informations, consultez Créer des alertes pour SQL Managed Instance.
Utilisez l’évaluation des vulnérabilités SQL : exécutez des évaluations régulières des vulnérabilités pour identifier les configurations incorrectes de sécurité et les vulnérabilités potentielles dans votre base de données. Corrigez rapidement les problèmes identifiés pour maintenir une posture de sécurité forte. Pour plus d’informations, consultez Évaluation des vulnérabilités SQL.
Surveiller avec des vues de gestion dynamique (DMV) : utilisez des vues de gestion dynamique pour surveiller les performances, détecter les requêtes bloquées, les goulots d’étranglement des ressources et les activités liées à la sécurité. Les DMV fournissent des insights détaillés sur les opérations du moteur de base de données et les événements de sécurité. Pour plus d’informations, consultez Monitor Azure SQL Managed Instance performances à l’aide de vues de gestion dynamique.
Implement Magasin des requêtes surveillance : activez Magasin des requêtes pour suivre les performances des requêtes au fil du temps, identifier les régressions de performances et surveiller les modèles d’exécution des requêtes. Cela permet de détecter un comportement de requête inhabituel qui peut indiquer des problèmes de sécurité. Pour plus d’informations, consultez Utiliser le Magasin des requêtes pour surveiller les performances.
Utilisez des événements étendus pour une surveillance détaillée : implémentez des événements étendus (XEvents) pour une supervision détaillée des activités de base de données, y compris les événements de sécurité et les problèmes de performances. Les XEvents fournissent une surveillance plus granulaire que SQL Profiler avec moins d’impact sur les performances. Pour plus d’informations, consultez Événements étendus.
Configurer l’observateur de base de données (préversion) : envisagez d’utiliser l’observateur de base de données pour la surveillance approfondie des charges de travail avec des tableaux de bord centralisés et des insights détaillés sur les performances de votre patrimoine de Azure SQL. Pour plus d’informations, consultez Monitor Azure SQL workloads avec surveillance des bases de données (version préliminaire).
Gouvernance et conformité
Le maintien de la conformité et de la gouvernance garantit que votre déploiement de SQL Managed Instance répond aux exigences réglementaires et aux stratégies de sécurité organisationnelles par le biais de contrôles et de documentation appropriés.
Apply Azure Policy pour la gouvernance : utilisez Azure Policy pour appliquer des normes de sécurité organisationnelles et garantir une configuration cohérente sur toutes les instances managées SQL. Créez des stratégies personnalisées pour des exigences de conformité spécifiques. Envisagez les stratégies d’application de l’authentification Microsoft Entra uniquement, de la redondance du stockage de sauvegarde et des exigences de résidence des données. Pour plus d’informations, consultez Azure Policy pour SQL Managed Instance.
Enforcer uniquement l’authentification Microsoft Entra : utilisez Azure Policy pour exiger une authentification Microsoft Entra uniquement pour les nouvelles instances managées SQL, ce qui garantit que l’authentification SQL est désactivée pour une sécurité renforcée. Cela fournit une gestion centralisée des identités et élimine les vulnérabilités d’authentification basées sur les mots de passe. Pour plus d’informations, consultez Utilisant Azure Policy pour appliquer l’authentification Microsoft Entra uniquement.
Implement la stratégie d’étiquetage des ressources : appliquez des étiquettes de Azure cohérentes pour identifier la propriété des ressources, la classification de l’environnement, les centres de coûts et les exigences de conformité. Utilisez des balises pour la gouvernance automatisée, le suivi des coûts et la gestion des ressources. Pour plus d’informations, consultez Develop your naming and tagging strategy for Azure resources.
Leverage Microsoft Purview pour la gouvernance des données : intégrez Microsoft Purview pour la classification des données, la traçabilité et la gouvernance unifiée des données dans votre patrimoine de données. Utilisez des étiquettes de confidentialité et des stratégies de protection contre la perte de données pour protéger les données classifiées. Pour plus d’informations, consultez Protection des données Microsoft Purview.
Documenter les procédures de sécurité : conservez une documentation complète de vos procédures de sécurité, plans de réponse aux incidents et stratégies de contrôle d’accès. Passez régulièrement en revue et mettez à jour la documentation pour refléter les pratiques actuelles et les exigences de conformité. Pour plus d’informations, consultez les meilleures pratiques en matière de sécurité.
Effectuer des évaluations de sécurité régulières : effectuez des évaluations de sécurité périodiques pour évaluer votre posture de sécurité et identifier les domaines d’amélioration. Incluez les tests d’intrusion et les évaluations des vulnérabilités dans votre programme de sécurité. Documenter les efforts de correction pour la création de rapports de conformité. Pour plus d’informations, consultez l’évaluation des vulnérabilités SQL.
Maintenir les pistes d’audit : vérifiez que toutes les actions administratives et l’accès aux données sont correctement enregistrés et que les pistes d’audit sont conservées pendant la période de rétention requise. Protégez les journaux d’audit contre la falsification ou l’accès non autorisé. Configurez la rétention des journaux d’audit en fonction des exigences réglementaires (SOX, PCI DSS). Pour plus d’informations, consultez Vue d’ensemble de l’audit.
Respect des normes de conformité réglementaire : Azure SQL Managed Instance prend en charge la conformité avec diverses structures réglementaires, notamment ISO 27001, PCI DSS, FedRAMP et SOX. Passez en revue et implémentez des contrôles spécifiques à vos exigences du secteur. Pour plus d’informations, consultez Azure documentation de conformité.
Utilisez des verrous de ressources : appliquez des verrous de ressources pour empêcher la suppression accidentelle ou la modification des ressources d’instance managée SQL critique. Cela aide à maintenir l’intégrité de la configuration et à prévenir les modifications non autorisées pouvant affecter la conformité. Pour plus d’informations, consultez Verrous de ressources.
Monitor avec Azure Advisor : utilisez Azure Advisor pour recevoir des recommandations personnalisées pour la sécurité, l’optimisation des coûts, les performances et l’excellence opérationnelle. Passez régulièrement en revue et mettez en œuvre des recommandations de conseiller pour maintenir les meilleures pratiques. Pour plus d’informations, consultez Azure Advisor.
Tests de connectivité interne automatiques
Azure SQL Managed Instance exécute des tests de connectivité interne automatiques pour surveiller la fiabilité du service et accélérer la détection des problèmes. Ces tests s’exécutent toutes les 10 secondes à partir d’adresses IP internes au sein du sous-réseau de l’instance managée SQL et ont un impact négligeable sur le débit réseau et les performances du service. Un test valide la connectivité de bout en bout en tentant une connexion avec des informations d’identification connues pour échouer (AzureSQLConnectivityChecker), ce qui génère des entrées de connexion ayant échoué attendues dans les journaux d’audit, les événements étendus et les journaux d’erreurs SQL. Ces entrées sont normales et n’indiquent pas de problème de sécurité. Pour plus d’informations, notamment sur la façon d’identifier les signatures de test dans vos journaux d’activité, consultez Tests de connectivité interne automatiques.
Contenu connexe
Pour obtenir des conseils de sécurité complets, consultez Azure SQL Managed Instance meilleures pratiques de sécurité et Overview des fonctionnalités de sécurité Azure SQL Managed Instance.