Sécuriser votre serveur flexible Azure Database pour PostgreSQL

Azure Database pour PostgreSQL est un service de base de données entièrement managé qui fournit des fonctionnalités intégrées de haute disponibilité, de sauvegardes automatisées et de mise à l’échelle. La sécurisation de vos déploiements de base de données PostgreSQL permet de protéger les données sensibles et de répondre aux exigences de conformité.

Cet article vous guide sur la sécurisation de votre déploiement de serveur flexible Azure Database pour PostgreSQL.

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.

Sécurité réseau

Les contrôles de sécurité réseau vous aident à réduire l’exposition publique et à intégrer Azure Database pour PostgreSQL serveur flexible dans une architecture de réseau virtuel segmentée.

Gestion de l’identité et de l’accès

Les contrôles d’identité et d’accès vous aident à centraliser l’authentification, à réduire l’exposition des informations d’identification et à appliquer des privilèges minimum dans Azure gestion et l’accès à la base de données PostgreSQL.

  • Utilisez l’authentification Microsoft Entra : préférez l’authentification Microsoft Entra pour le serveur flexible PostgreSQL afin de centraliser les contrôles d’identité et de réduire la dépendance aux mots de passe de base de données locaux. Pour plus d’informations, consultez l’authentification Microsoft Entra avec Azure Database pour PostgreSQL.

  • Gérer les identités Microsoft Entra : attribuez et passez en revue les administrateurs, utilisateurs et groupes Microsoft Entra pour le serveur flexible PostgreSQL afin que l’accès à la base de données respecte le principe du moindre privilège. Pour plus d’informations, consultez Gérer les rôles Microsoft Entra dans Azure Database pour PostgreSQL.

  • Utilisez des identités managées pour l’accès aux applications : authentifiez les applications hébergées Azure sur un serveur flexible PostgreSQL avec des identités managées au lieu de stocker les informations d’identification dans le code ou la configuration de l’application. Pour plus d’informations, consultez Identités managées dans Azure Database pour PostgreSQL.

  • Appliquer l’accès conditionnel pour les administrateurs PostgreSQL : appliquez des stratégies d’accès conditionnel telles que l’authentification multifacteur et les exigences relatives aux appareils conformes aux identités qui administrent des serveurs flexibles PostgreSQL et des ressources Azure associées. Pour plus d’informations, voir Politique d’accès conditionnel commun : Exiger MFA pour la gestion Azure.

  • Utilisez SCRAM pour l’authentification locale : si des utilisateurs PostgreSQL locaux sont requis, utilisez l’authentification SCRAM et les pratiques de mot de passe fortes pour réduire les risques de compromission de mot de passe. Pour plus d’informations, consultez l’authentification SCRAM dans Azure Database pour PostgreSQL.

  • Gérer les rôles de base de données local : utilisez des rôles et des autorisations PostgreSQL pour restreindre l’accès au niveau de la base de données aux objets et opérations dont chaque utilisateur a besoin. Pour plus d’informations, consultez Gérer les utilisateurs dans Azure Database pour PostgreSQL.

  • Implémentez Azure contrôle d’accès en fonction du rôle (RBAC) : attribuez Azure rôles RBAC uniquement aux identités qui doivent créer, configurer, surveiller ou supprimer des ressources serveur flexibles PostgreSQL. Pour plus d’informations, consultez Azure contrôle d’accès en fonction du rôle.

Protection de données

Azure Database pour PostgreSQL chiffre au repos les serveurs principaux, les réplicas, les données de restauration à un instant donné et les sauvegardes à l’aide de clés gérées par le service. Utilisez les contrôles configurables par le client suivants lorsque votre charge de travail nécessite une gouvernance de chiffrement plus forte ou des protections à l’aide des données.

  • Vérifiez les connexions TLS : configurez les clients PostgreSQL pour valider la chaîne de certificats de serveur et le nom d’hôte à l’aide sslmode=verify-fullde , ou sslmode=verify-ca si verify-full ce n’est pas possible. Pour plus d’informations, consultez Transport Layer Security dans Azure Database pour PostgreSQL.

  • Maintenir les certificats racines de confiance : conservez les autorités de certification racines d’Azure dans les magasins de certificats approuvés des clients et évitez de faire confiance à des certificats intermédiaires ou à des certificats de serveur individuels afin que les rotations de certificats n’interrompent pas la connectivité. Pour plus d’informations, consultez Transport Layer Security dans Azure Database pour PostgreSQL.

  • Exiger TLS 1.3 lorsque cela est pris en charge : définissez le paramètre serveur ssl_min_protocol_version sur TLSv1.3 pour les clients qui prennent en charge la version la plus récente du protocole sécurisé, et ne définissez pas ssl_max_protocol_version. Pour plus d’informations, consultez Transport Layer Security dans Azure Database pour PostgreSQL.

  • Utilisez des clés gérées par le client pour la gouvernance du chiffrement : configurez les clés gérées par le client dans Azure Key Vault ou Azure HSM managé lorsque vous avez besoin d’un contrôle de cycle de vie clé ou d’une séparation des tâches. Utilisez des clés gérées par le client entre locataires uniquement pour les scénarios d’aperçu qui répondent aux exigences documentées. Pour plus d’informations, consultez Chiffrement des données au repos dans Azure Database pour PostgreSQL et Configurer le chiffrement des données dans Azure Database pour PostgreSQL.

  • Configurer la rotation automatique des clés : si vous utilisez des clés gérées par le client, activez l’autorotation des clés dans Azure Key Vault ou Azure HSM managé et configurez le serveur flexible PostgreSQL pour utiliser les mises à jour automatiques de version de clé. Pour plus d’informations, consultez Configurer le chiffrement de clé gérée par le client.

  • Utilisez l’informatique confidentielle pour les charges de travail hautement sensibles : déployez un serveur flexible PostgreSQL sur des références SKU d’informatique confidentielle prises en charge dans les régions prises en charge lorsque vous avez besoin d’une protection matérielle pour les données en cours d’utilisation. Pour plus d’informations, consultez l’informatique confidentielle dans Azure Database pour PostgreSQL.

  • Appliquez l’anonymisation des données pour les données PostgreSQL sensibles : utilisez l’extension lorsque vous avez besoin d’outils d’anonymisation des données au niveau de la anon base de données et configurez les bibliothèques de préchargement partagées requises avant l’utilisation. Pour plus d’informations, consultez la liste des extensions et des modules par nom dans Azure Database pour PostgreSQL serveur flexible.

Enregistrement et surveillance

Les contrôles de journalisation et de supervision vous aident à détecter les activités suspectes, à examiner les incidents et à conserver les preuves d’audit PostgreSQL disponibles pour les flux de travail opérationnels et de conformité.

Gouvernance et conformité

Les contrôles de conformité et de gouvernance vous aident à appliquer une configuration cohérente, à mapper les déploiements PostgreSQL aux exigences réglementaires et à conserver la propriété de sécurité visible à grande échelle.

  • Appliquez la configuration de sécurité PostgreSQL avec Azure Policy : attribuez des stratégies intégrées pour les contrôles serveur flexibles PostgreSQL, tels que les points de terminaison privés, les restrictions d’accès public, la journalisation des diagnostics, TLS, les clés gérées par le client et la sauvegarde géoredondante. Pour plus d’informations, consultez les stratégies intégrées Azure Policy pour Azure Database pour PostgreSQL.

  • Passez en revue les offres de conformité pour PostgreSQL : associez le serveur flexible Azure Database pour PostgreSQL aux certifications et attestations de conformité pertinentes avant de traiter des données soumises à une réglementation. Pour plus d’informations, consultez Conformité dans Azure Database pour PostgreSQL.

  • Appliquer des verrous de ressources à des serveurs de production : utilisez des verrous de gestion sur des serveurs flexibles PostgreSQL de production et des ressources dépendantes pour réduire les modifications de configuration accidentelles ou perturbatrices. Pour plus d’informations, consultez Protéger vos ressources Azure avec un verrou.

  • Balisez les ressources PostgreSQL pour la gouvernance : appliquez des balises telles que la charge de travail, l’environnement, la classification des données, le propriétaire et l’étendue de conformité aux serveurs flexibles PostgreSQL et aux ressources associées afin que les flux de travail de stratégie, d’inventaire et de gestion des coûts puissent identifier les bases de données protégées. Pour plus d’informations, consultez Utiliser des balises pour organiser vos ressources Azure.

Sauvegarde et récupération

Les contrôles de sauvegarde et de récupération vous aident à restaurer les données PostgreSQL après une suppression accidentelle, une altération ou une interruption régionale tout en répondant aux objectifs de récupération de charge de travail.

  • Configurez la rétention automatisée des sauvegardes : définissez la période de rétention de sauvegarde de 7 à 35 jours en fonction de vos besoins de récupération à un point dans le temps et vérifiez que la fenêtre de rétention correspond aux besoins de récupération de la charge de travail. Pour plus d’informations, consultez Sauvegarde et restauration dans Azure Database pour PostgreSQL.

  • Activez la sauvegarde géoredondante pour la récupération régionale : configurez la sauvegarde géoredondante lorsque vous créez le serveur si votre plan de récupération d’urgence nécessite une fonctionnalité de restauration dans la région jumelée Azure. Pour plus d’informations, consultez Géo-reprise d’activité après sinistre dans Azure Database pour PostgreSQL.

  • Configurez la haute disponibilité pour les charges de travail critiques : utilisez des configurations de haute disponibilité pour approvisionner un réplica de secours et réduire les temps d’arrêt pendant les défaillances de zone ou d’infrastructure. Pour plus d’informations, consultez Configurer la haute disponibilité pour Azure Database pour PostgreSQL.

  • Utilisez des réplicas en lecture pour la planification de la récupération : utilisez des réplicas en lecture pour décharger le trafic de lecture et prendre en charge les scénarios de récupération nécessitant un réplica promu. Pour plus d’informations, consultez Lire les réplicas dans Azure Database pour PostgreSQL.

  • Protégez les données de sauvegarde à l’aide de clés gérées par le client : utilisez le chiffrement de clé géré par le client lorsque les données de sauvegarde et de restauration doivent respecter les exigences de gestion des clés de votre organisation. Pour plus d’informations, consultez Sauvegarde et restauration dans Azure Database pour PostgreSQL et Configurer le chiffrement des données dans Azure Database pour PostgreSQL.

  • Planifiez les objectifs de continuité d’activité : alignez la rétention des sauvegardes, la haute disponibilité, les réplicas en lecture et les options de géorestauration sur votre objectif de délai de récupération de charge de travail et l’objectif de point de récupération. Pour plus d’informations, consultez la continuité des activités dans Azure Database pour PostgreSQL.

Étapes suivantes