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 à :Azure SQL Database
Azure SQL Database est un moteur de base de données entièrement géré en tant que service (PaaS) qui gère la plupart des fonctions de gestion de base de données, telles que la mise à jour, le patch, les sauvegardes et la surveillance, sans intervention de l’utilisateur. Parce qu’il stocke souvent des données métier critiques, y compris les dossiers clients, les informations financières et la propriété intellectuelle, sécuriser votre Azure SQL Database est essentiel pour se protéger contre les violations de données, les accès non autorisés et les violations de conformité.
Cet article fournit des recommandations de sécurité pour protéger votre déploiement Azure SQL Database.
Les recommandations de sécurité de cet article implémentent des principes de confiance zéro : « Vérifier explicitement », « Utiliser l’accès au privilège minimum » et « Supposer une violation ». Pour obtenir des conseils complets sur la confiance zéro, consultez le Centre d’aide sur la confiance Zéro.
Réduire la surface d’attaque et atténuer les menaces
Parce que Azure SQL Database est un moteur PaaS géré, Microsoft renforce le système d’exploitation et l’infrastructure. Votre responsabilité est de réduire la surface d’application et de données exposées aux attaques et de détecter les menaces tôt.
Effectuez des évaluations des vulnérabilités SQL : Utilisez l’évaluation des vulnérabilités SQL pour découvrir, suivre et corriger d’éventuelles configurations et vulnérabilités inadéquates dans la base de données. Planifiez des examens récurrents et agissez selon la base qu’elle établit. Pour plus d’informations, consultez l’évaluation des vulnérabilités SQL.
Protégez-vous contre l’injection SQL : Utilisez des requêtes paramétrées et des procédures stockées dans vos applications, et ne concatènatez jamais les entrées utilisateur en instructions SQL. L’injection SQL reste l’un des vecteurs d’attaque les plus courants contre les applications de bases de données. Pour plus d’informations, consultez Injection SQL.
Appliquez une défense approfondie : combinez l’isolation réseau, les contrôles d’identité, la protection des données et la surveillance afin qu’aucun contrôle ne soit un point de défaillance unique. Pour plus d’informations, consultez le Guide pratique pour répondre aux exigences de sécurité les plus courantes.
Sécurité réseau
La sécurité réseau pour Azure SQL Database aide à prévenir les connexions non autorisées et réduit l’exposition aux attaques, afin que seules des sources fiables puissent accéder à vos bases de données.
Utilisez des points de terminaison privés : Connectez-vous à votre Azure SQL Database via des adresses IP privées en utilisant Azure Private Link pour éviter d’exposer votre base de données à l’internet public. La connectivité privée réduit la surface d’attaque et le risque d’exfiltration de données. Pour plus d’informations, consultez Azure Private Link pour Azure SQL Database.
Désactivez l’accès au réseau public : Lorsque vous comptez sur des points de terminaison privés, désactivez complètement l’accès au réseau public afin que toutes les connexions passent par le point de terminaison privé. Pour plus d’informations, consultez Refuser l’accès au réseau public.
Configurez les règles de pare-feu au niveau du serveur : Contrôlez l’accès à votre serveur logique dans Azure avec des règles de pare-feu IP qui spécifient quelles adresses ou plages peuvent se connecter, en suivant le principe du privilège minimum. Pour plus d’informations, consultez Règles de pare-feu IP Azure SQL Database et Azure Synapse.
Configurez les règles de pare-feu au niveau de la base de données : Pour un contrôle plus précis, configurez les règles de pare-feu au niveau de la base de données qui s’appliquent à chaque base de données, en activant ainsi les politiques d’accès par base de données. Pour plus d’informations, voir Règles de pare-feu IP au niveau de la base de données.
Limitez le trafic à des réseaux virtuels spécifiques : Utilisez des règles de réseau virtuel pour autoriser le trafic uniquement provenant de sous-réseaux spécifiques au sein de vos réseaux virtuels Azure, ajoutant ainsi une isolation réseau au-delà des règles basées sur IP. Pour plus d’informations, consultez Les règles de réseau virtuel pour Azure SQL Database.
Définissez la version TLS minimale : Configurez la version TLS minimale du serveur logique à 1.2 ou plus pour que les connexions utilisant des protocoles plus anciens et plus faibles soient rejetées. Pour plus d’informations, voir Version TLS minimale.
Choisissez une politique de connexion appropriée : Utilisez la politique de connexion Proxy lorsque vous souhaitez que tout le trafic passe par la passerelle sur un seul port au lieu d’exposer la plage de ports back-end des nœuds, et utilisez Redirect pour une latence plus faible depuis Azure. Comprenez les compromis avant de passer outre le défaut. Pour plus d’informations, consultez l’architecture de connectivité Azure SQL Database.
Gestion de l’identité et de l’accès
Des contrôles forts d’identité et d’authentification limitent l’accès à vos ressources Azure SQL Database aux utilisateurs et applications autorisés, avec une gestion centralisée des identités et un contrôle plus facile du cycle de vie des comptes.
Authentification et gestion des comptes
Configurez un administrateur Microsoft Entra : Désignez un administrateur Microsoft Entra pour votre serveur logique afin de permettre la gestion centralisée des identités et des politiques d’authentification avancées. Pour plus d’informations, consultez Configurer l’authentification Microsoft Entra.
Utilisez l’authentification Microsoft Entra : Privilégiez l’authentification Microsoft Entra à l’authentification SQL pour une gestion centralisée des identités et un accès à des fonctionnalités comme l’accès conditionnel et l’authentification multifacteur. Pour plus d’informations, consultez Authentification Microsoft Entra.
Désactivez l’authentification SQL lorsque possible : Pour une sécurité maximale, exigez que toutes les connexions utilisent l’authentification Microsoft Entra et désactivez l’authentification SQL, éliminant ainsi le risque de mots de passe SQL faibles ou compromis. Pour plus d’informations, consultez l’authentification Microsoft Entra-only.
Créer des utilisateurs de bases de données contenus : Associer les utilisateurs de bases de données contenus aux identités ou groupes Microsoft Entra au lieu des connexions au niveau serveur lorsque cela est possible, simplifiant ainsi la gestion des permissions et réduisant l’accès au niveau serveur. Pour plus d’informations, consultez Utilisateurs de base de données contenus.
Imposer l’authentification multifacteur : Exiger une authentification multifacteur (MFA) via l’accès conditionnel pour les identités Microsoft Entra qui administrent et se connectent au serveur logique, ajoutant une couche de protection au-delà des mots de passe. Pour plus d’informations, voir Comment fonctionne l’authentification multifacteur.
Appliquer des politiques d’accès conditionnel : Utilisez l’accès conditionnel pour contrôler l’accès en fonction de la localisation de l’utilisateur, de la conformité des appareils et du risque, offrant une sécurité adaptative pour chaque tentative d’accès. Pour plus d’informations, consultez l’accès conditionnel.
Utilisez une identité managée pour le serveur logique : Attribuez une identité managée assignée par le système ou l’utilisateur au serveur logique afin qu’il puisse atteindre Azure Key Vault (pour les clés gérées par le client TDE) et stockage Azure (pour l’audit) sans secrets stockés. Pour plus d’informations, voir Identité gérée dans Microsoft Entra pour Azure SQL.
Imposez des politiques de mots de passe forts : si vous utilisez l’authentification SQL, exigez des mots de passe complexes difficiles à deviner, faites-les pivoter régulièrement et évitez de les réutiliser entre les comptes. Pour plus d’informations, consultez stratégie de mot de passe.
Accès privilégié
Accorder le moins de privilèges : Accordez aux utilisateurs uniquement les permissions minimales requises pour leurs fonctions de travail, et révisez régulièrement les permissions. Pour plus d’informations, consultez Prise en main des autorisations du moteur de base de données.
Fonctions administratives distinctes : Évitez d’accorder des droits administratifs larges à tous les administrateurs. Utilisez des autorisations granulaires et la séparation des tâches entre les fonctions administratives. Pour plus d’informations, consultez Autorisations.
Attribuer l’accès avec des rôles de base de données : Utilisez des rôles de base de données intégrés et personnalisés pour mettre en œuvre une sécurité basée sur les rôles, en attribuant les utilisateurs à des rôles au lieu d’accorder des autorisations individuelles. Pour plus d’informations, consultez Rôles au niveau de la base de données.
Utilisez Azure RBAC pour les opérations de gestion : Contrôlez l’accès aux opérations de gestion Azure SQL Database avec le contrôle d’accès basé sur les rôles Azure, créant des rôles personnalisés qui n’accordent que les autorisations nécessaires pour des tâches spécifiques. Pour en savoir plus, consultez la documentation relative aux rôles intégrés Azure pour les bases de données.
Fournir un accès privilégié juste à temps : utilisez Microsoft Entra Privileged Identity Management (PIM) pour accorder un accès limité dans le temps et soumis à approbation aux rôles d’administration, afin que les utilisateurs ne disposent de privilèges élevés que lorsque cela est nécessaire. Pour plus d’informations, consultez Privileged Identity Management.
Surveillez les activités privilégiées : Activez l’audit pour suivre les actions effectuées par les comptes privilégiés, examinez les journaux pour détecter des changements suspects et alertez les opérations sensibles. Pour plus d’informations, consultez Audit pour Azure SQL Database.
Protection de données
La protection des données protège vos informations grâce au chiffrement, au masquage et à la classification afin d’éviter la divulgation non autorisée, la falsification ou la perte d’informations sensibles.
Activez le Transparent Data Encryption (TDE) : Chiffrez vos fichiers de base de données, journal et sauvegarde au repos. TDE est activé par défaut pour les nouvelles bases de données ; utilisez 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, voir Chiffrement transparent des données (TDE) et TDE avec clés gérées par le client.
Protégez les données sensibles avec Toujours Chiffré : Utilisez Toujours Chiffré pour protéger les données hautement sensibles en usage, au repos et en transit, afin que même les administrateurs ne puissent pas consulter les valeurs du texte clair. Utilisez des enclaves sécurisées pour des fonctionnalités plus riches. Pour plus d'informations, consultez Always Encrypted.
Créez des données inviolables avec le registre : Permettez au registre de créer un enregistrement immuable et cryptographiquement vérifiable des modifications apportées aux données sensibles, ce qui peut aider à respecter les exigences réglementaires. Pour plus d’informations, consultez Registre.
Masquez les données sensibles avec un masquage dynamique : Appliquer un masquage dynamique pour obscurcir les données sensibles des utilisateurs non privilégiés tout en préservant la fonctionnalité des applications, sans modifier le code applicatif. Pour plus d’informations, consultez Masquage des données dynamiques.
Classifier et étiqueter les données sensibles : Utilisez SQL Data Discovery and Classification pour identifier, classer et étiqueter les données sensibles afin que des fonctionnalités comme l’audit et le masquage puissent utiliser les métadonnées et vous puissiez indiquer où se trouvent les données sensibles. Pour plus d’informations, consultez Découverte et classification des données.
Restreignez l’accès avec des autorisations au niveau de la colonne : Accordez ou refusez les autorisations au niveau de la colonne afin que seuls les utilisateurs ayant besoin d’une colonne sensible puissent la lire ou la modifier. Pour plus d’informations, consultez les autorisations d’objet GRANT.
Restreindre les lignes avec la sécurité au niveau des lignes (RLS) : implémenter la RLS afin que les utilisateurs puissent accéder uniquement aux lignes de données qui les concernent, ce qui fournit une sécurité au niveau de l’application idéale pour les environnements multilocataires. Pour plus d’informations, consultez Sécurité au niveau des lignes.
Enregistrement et surveillance
Une journalisation et un suivi complets vous aident à détecter des activités anormales, à enquêter sur les incidents et à démontrer la conformité à vos bases de données.
Activez Microsoft Defender pour SQL : Activez Microsoft Defender pour SQL afin de détecter des tentatives inhabituelles et potentiellement nuisibles d’accès ou d’exploitation de vos bases de données, y compris l’évaluation des vulnérabilités et la protection avancée contre les menaces. Pour plus d’informations, consultez Microsoft Defender pour SQL.
Intégrez Microsoft Defender for Cloud : Utilisez Microsoft Defender for Cloud pour une gestion centralisée de la sécurité, des recommandations de sécurité et une protection intégrée contre les menaces sur vos ressources Azure. Pour plus d’informations, voir Microsoft Defender for SQL dans Defender for Cloud.
Configurez les alertes de protection contre les menaces : Configurez des alertes pour des activités suspectes telles que des tentatives d’injection SQL, des schémas d’accès anormaux et une authentification par force brute, et acheminez les notifications vers les bons destinataires. Pour plus d’informations, voir Protection avancée contre les menaces.
Activez l’audit : Configurez l’audit pour suivre les événements de la base de données et écrivez-les dans un espace de travail Log Analytics, stockage Azure ou Event Hubs. Auditez les événements au niveau serveur et au niveau de la base de données pour une couverture complète. Pour plus d’informations, consultez Audit pour Azure SQL Database.
Diffusez les journaux de diagnostic : Configurez les paramètres de diagnostic pour envoyer les journaux, y compris les catégories de sécurité telles que
SQLSecurityAuditEvents, vers Azure Monitor Logs, Event Hubs ou stockage Azure pour conservation et analyse. Pour plus d’informations, consultez Surveiller Azure SQL Database avec Azure Monitor.Examinez régulièrement les journaux d’audit : Mettez en place un processus pour examiner les journaux d’audit à la recherche d’activités suspectes, en mettant l’accent sur les actions privilégiées des comptes, les tentatives d’authentification ratées et l’accès aux données sensibles. Pour plus d’informations, consultez Audit pour Azure SQL Database.
Gouvernance et conformité
Les contrôles de gouvernance vous aident à démontrer la conformité réglementaire et à faire respecter des configurations de sécurité cohérentes dans vos bases de données.
Suivez la conformité réglementaire avec Microsoft Defender for Cloud : Utilisez le tableau de bord de conformité réglementaire pour comparer vos bases de données par rapport à des normes telles que PCI DSS, ISO 27001 et SOC, et pour suivre la correction des contrôles défaillants. Pour plus d’informations, consultez le tableau de bord de conformité réglementaire.
Imposer les configurations avec Azure Policy : Attribuer des définitions Azure Policy intégrées pour Azure SQL Database afin d’auditer et d’appliquer des contrôles tels que TDE, audit, terminaux privés et authentification Microsoft Entra uniquement. Pour plus d’informations, consultez les définitions intégrées d’Azure Policy pour Azure SQL Database.
Régir les données sensibles avec Microsoft Purview : Enregistrez et scannez Azure SQL Database dans Microsoft Purview pour cataloguer, classer et gérer les données sensibles à travers votre patrimoine de données. Pour plus d’informations, consultez Se connecter à Azure SQL Database et le gérer dans Microsoft Purview.
Appliquer le benchmark de sécurité cloud Microsoft : Utilisez le benchmark de sécurité cloud Microsoft comme référence à l’échelle d’Azure pour prioriser et valider les contrôles que vous appliquez à Azure SQL Database. Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft.
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. Ils vous aident également à atteindre vos objectifs de rétablissement.
Vérifier la configuration des sauvegardes automatisées : Confirmez que les sauvegardes automatisées sont configurées et que la rétention répond à vos besoins. Azure SQL Database fournit par défaut des sauvegardes automatisées avec une rétention configurable de 1 à 35 jours. Pour plus d’informations, consultez Sauvegardes automatisées.
Configurez la redondance du stockage de sauvegarde : Choisissez la redondance de stockage de sauvegarde qui correspond à vos besoins de disponibilité et de reprise après sinistre : redondance local (LRS), redondant en zone (ZRS), géo-redondant (GRS) ou redondance géographique (GZRS). Pour plus d’informations, consultez Redondance du stockage de sauvegarde.
Utilisez la rétention à long terme pour la conformité : Configurez la rétention à long terme (LTR) pour stocker des sauvegardes complètes jusqu’à 10 ans lorsque la conformité nécessite une conservation au-delà de la période par défaut. Pour plus d’informations, consultez Rétention à long terme.
Testez régulièrement les procédures de sauvegarde et de restauration : testez régulièrement les restaurations pour confirmer qu’elles respectent vos objectifs de temps de récupération et que les bases de données restaurées fonctionnent pleinement avec des données intactes. Pour plus d’informations, consultez Récupérer une base de données.
Implémentez la restauration géographique pour la reprise après sinistre : Utilisez la restauration géographique pour restaurer une base de données à partir de sauvegardes géo-redondantes vers n’importe quelle région Azure, protégeant ainsi contre les pannes régionales. Pour plus d’informations, consultez Géorestauration.
Surveillez l’activité de sauvegarde : Suivez les opérations de sauvegarde et configurez les alertes en cas de défaillance en utilisant Azure Monitor. Pour plus d’informations, consultez Surveiller et résoudre les problèmes de consommation de stockage de sauvegarde.