Partager via


À propos de la sauvegarde d’Azure Database pour PostgreSQL

Sauvegarde Azure et les services de base de données Azure constituent ensemble une solution de sauvegarde d’entreprise pour les serveurs Azure Database pour PostgreSQL qui conserve les sauvegardes jusqu’à 10 années. Outre la rétention à long terme, la solution offre les fonctionnalités suivantes :

  • Sauvegarde planifiée et demande contrôlée par le client au niveau de la base de données individuelle.
  • Restaurations au niveau de la base de données sur un serveur Postgres ou directement dans le stockage d’objets blob.
  • Surveillance centralisée de toutes les opérations et de tous les travaux.
  • Les sauvegardes sont stockées dans des domaines de sécurité et d’erreur distincts. Si le serveur ou l’abonnement source est compromis dans toutes les circonstances, les sauvegardes restent sécurisées dans lecoffre de sauvegarde (dans les comptes de stockage géré de sauvegarde Azure).
  • L’utilisation de pg_dump permet une plus grande flexibilité dans les restaurations. Cela vous permet de restaurer les différentes versions de base de données

Vous pouvez utiliser cette solution indépendamment ou en plus de la solution de sauvegarde native offerte par Azure PostgreSQL, qui permet une conservation jusqu’à 35 jours. La solution native est adaptée aux récupérations d’exploitation, par exemple quand vous voulez récupérer à partir des sauvegardes les plus récentes. La solution Sauvegarde Azure vous aide à répondre à vos besoins en matière de conformité, et offre une sauvegarde et une restauration plus flexibles et plus précises.

Remarque

Azure Database pour PostgreSQL : serveur unique en voie d’être mis hors service, dont la mise hors service est prévue d’ici le 28 mars 2025.

Si vous disposez actuellement d’un service de serveur unique Azure Database pour PostgreSQL hébergeant des serveurs de production, nous sommes heureux de vous informer que vous pouvez migrer votre Serveur unique Azure Database pour PostgreSQL vers un Serveur flexible Azure Database pour PostgreSQL.

Azure Database for PostgreSQL - Flexible Server est un service de base de données prêt> pour la production entièrement géré, conçu pour un contrôle et une flexibilité plus précis sur les fonctions de gestion de base de données et les paramètres de configuration avec la solution de sauvegarde de niveau entreprise d'Azure Backup. Pour plus d’informations sur le Serveur Flexible Azure Database pour PostgreSQL, consultez Azure Database pour PostgreSQL - Serveur flexible.

Processus de sauvegarde

  1. En tant qu’administrateur de sauvegarde, vous pouvez spécifier les bases de données Azure PostgreSQL que vous souhaitez sauvegarder. En outre, vous pouvez également spécifier les détails du coffre de clés Azure qui stocke les informations d’identification nécessaires pour se connecter aux bases de données spécifiées. Ces informations d’identification sont amorcées en toute sécurité par l’administrateur de la base de données dans le coffre de clés Azure.
  2. Le service de sauvegarde valide ensuite s’il dispose des autorisations appropriées pour s’authentifier auprès du serveur PostgreSQL spécifié et pour sauvegarder ses bases de données.
  3. Azure Backup fait tourner un rôle de travail (machine virtuelle) avec une extension de sauvegarde installée pour communiquer avec le serveur PostgreSQL protégé. Cette extension se compose d’un coordinateur et d’un plug-in PostgreSQL. Le coordinateur déclenche des workflows pour diverses opérations, telles que la sauvegarde et la restauration, et le plug-in gère le flux de données réel.
  4. Au moment planifié, le coordinateur communique avec le plug-in et démarre le streaming des données de sauvegarde depuis le serveur PostgreSQL en utilisant pg_dump (personnalisé) .
  5. Le plug-in envoie les données directement aux comptes de stockage managés de sauvegarde Azure (masqués par le coffre de sauvegarde), ce qui élimine la nécessité d’un emplacement intermédiaire. Les données sont chiffrées avec des clés gérées par Microsoft et stockées par le service Sauvegarde Azure dans des comptes de stockage.

Diagramme montrant le processus de sauvegarde.

Authentification de la sauvegarde Azure avec le serveur PostgreSQL

Azure Backup respecte les instructions de sécurité strictes définies par Azure. les autorisations sur la ressource à sauvegarder ne sont pas supposées et doivent être explicitement fournies par l’utilisateur.

Modèle d’authentification basé sur le coffre de clés

Le service sauvegarde Azure doit se connecter à Azure PostgreSQL tout en effectuant chaque sauvegarde. Alors que « nom d’utilisateur + mot de passe » (ou chaîne de connexion), correspondant à la base de données, sont utilisés pour établir cette connexion, ces informations d’identification ne sont pas stockées avec la sauvegarde Azure. Au lieu de cela, ces informations d'identification doivent être stockées de manière sécurisée par l'administrateur de la base de données dans le coffre-fort Azure en tant que secret. L’administrateur de charge de travail est responsable de la gestion et de la rotation des informations d’identification. Azure Backup appelle pour obtenir les informations les plus récentes sur les secrets à partir du coffre de clés pour effectuer la sauvegarde.

Diagramme montrant la charge de travail ou le déroulement de la base de données.

Ensemble des autorisations nécessaires pour la sauvegarde de base de données Azure PostgreSQL

  1. Accordez les autorisations d’accès suivantes à l’identité MSI de l’archivage de sauvegarde :

    • Accès lecteur sur le serveur Azure PostgreSQL.
    • Accès utilisateur (ou obtenir, lister les secrets) sur le coffre-fort de clés Azure.
  2. Accès à la ligne de vue réseau sur :

    • L’indicateur Autoriser l'accès aux services Azure du serveur Azure PostgreSQL doit être défini sur Oui.
    • Le coffre-fort - Autoriser les services Microsoft de confiance doit être réglé sur Oui.
  3. Privilèges de sauvegarde de l’utilisateur de base de données sur la base de données

Notes

Vous pouvez accorder ces autorisations dans le cadre de la configuration de la sauvegarde en un seul clic si vous (l’administrateur de sauvegarde) avez un accès en écriture sur les ressources prévues, ou utilisez un modèle ARM si vous n’avez pas les autorisations requises (lorsque plusieurs personnes sont impliquées).

Ensemble des autorisations nécessaires pour la restauration des bases de données Azure PostgreSQL

Les autorisations de restauration sont similaires à celles nécessaires à la sauvegarde et vous devez accorder les autorisations sur le serveur PostgreSQL cible et le coffre de clés correspondant. Contrairement à la configuration du workflow de sauvegarde, l’expérience d’octroi de ces autorisations en ligne n’est pas disponible actuellement. Par conséquent, vous devez accorder manuellement l’accès sur le serveur Postgres et le coffre de clés correspondant.

En outre, assurez-vous que l’utilisateur de la base de données (correspondant aux informations d’identification stockées dans le coffre de clés) dispose des privilèges de restauration suivants sur la base de données :

  • ALTER USER username CREATEDB ;
  • Attribuez le rôle azure_pg_admin à l’utilisateur de base de données.

Modèle d’authentification basé sur Microsoft Entra ID

Nous avons précédemment lancé un modèle d'authentification différent qui était entièrement basé sur Microsoft Entra ID. Toutefois, nous fournissons maintenant le nouveau modèle d’authentification basé sur le coffre de clés (comme expliqué ci-dessus) comme alternative, ce qui facilite le processus de configuration.

Téléchargez ce document pour obtenir un script automatisé et les instructions associées pour utiliser ce modèle d’authentification. Il va accorder un ensemble d’autorisations approprié à un serveur Azure PostgreSQL pour la sauvegarde et la restauration.

Notes

Toutes les nouvelles protections de la configuration s’effectuent avec le nouveau modèle d’authentification du coffre de clés uniquement. Toutefois, toutes les instances de sauvegarde existantes configurées pour la protection avec l'authentification Microsoft Entra ID continuent d'exister et des sauvegardes régulières sont effectuées. Pour restaurer ces sauvegardes, vous devez suivre l'authentification basée sur Microsoft Entra ID.

Accorder manuellement l’accès sur le serveur Azure PostgreSQL et le coffre de clés

Pour accorder toutes les autorisations d’accès requises par sauvegarde Azure, reportez-vous aux sections suivantes :

Autorisations d’accès sur le serveur Azure PostgreSQL

  1. Configurer l'accès au lecteur MSI du coffre de sauvegarde sur le serveur Azure PostgreSQL.

    Capture d’écran montrant l’option permettant de définir l’accès au lecteur MSI du coffre de sauvegarde sur le serveur Azure PostgreSQL.

  2. Accès à la ligne de vue réseau sur le serveur Azure PostgreSQL : définissez l’indicateur « autoriser l’accès aux services Azure » sur « Oui ».

    Capture d’écran montrant l’option permettant de définir l’accès de la ligne d’horizon du réseau sur le serveur Azure PostgreSQL.

Autorisations d’accès sur le coffre de clés Azure (associé au serveur PostgreSQL)

  1. Définissez les secrets du coffre de clés MSI sur l'accès utilisateur (ou obtenir, lister les secrets) au coffre de clés Azure. Pour affecter des autorisations, vous pouvez utiliser des attributions de rôles ou des stratégies d’accès. Il n’est pas nécessaire d’ajouter l’autorisation à l’aide des deux options, car cela n’est pas utile.

    Capture d’écran montrant l’option permettant de fournir un accès utilisateur secret.

    Capture d’écran montrant l’option permettant d’accorder au MSI du coffre de sauvegarde un accès utilisateur aux secrets du coffre de clés Key Vault.

    • À l’aide de stratégies d’accès (autrement dit, le modèle d’autorisation est défini sur Stratégie d’accès de coffre) :

      Capture d’écran montrant l’option d’octroi d’autorisation à l’aide du modèle d’autorisation est définie sur le modèle de stratégie d’accès de coffre.

  2. Accès à la ligne d’horizon du réseau sur le coffre de clés : définissez l’indicateur Autoriser les services Microsoft approuvés sur Oui.

    Capture d’écran montrant comment définir l’indicateur autoriser les services Microsoft approuvés sur oui pour un accès réseau de la ligne de vue sur le coffre de clés.

Privilèges de sauvegarde de l’utilisateur de base de données sur la base de données

Exécutez la requête suivante dans l’outil d'administration PG (remplacez username par l’ID d’utilisateur de base de données) :

DO $do$
DECLARE
sch text;
BEGIN
EXECUTE format('grant connect on database %I to %I', current_database(), 'username');
FOR sch IN select nspname from pg_catalog.pg_namespace
LOOP
EXECUTE format($$ GRANT USAGE ON SCHEMA %I TO username $$, sch);
EXECUTE format($$ GRANT SELECT ON ALL TABLES IN SCHEMA %I TO username $$, sch);
EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON TABLES TO username $$, sch);
EXECUTE format($$ GRANT SELECT ON ALL SEQUENCES IN SCHEMA %I TO username $$, sch);
EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON SEQUENCES TO username $$, sch);
END LOOP;
END;
$do$

Remarque

Si une base de données pour laquelle la sauvegarde a déjà été configurée échoue avec UserErrorMissingDBPermissions Reportez-vous à ce guide de résolution des problèmes pour obtenir de l’aide pour résoudre le problème.

Utiliser l’outil d’administration PG

Téléchargez l'outil d'administration PG si vous ne l'avez pas encore. Vous pouvez vous connecter au serveur Azure PostgreSQL à l’aide de cet outil. En outre, vous pouvez ajouter des bases de données et de nouveaux utilisateurs à ce serveur.

Capture d’écran montrant le processus de connexion au serveur Azure PostgreSQL à l’aide de l’outil d’administration PG.

Créez un nouveau serveur avec le nom de votre choix. Entrez le nom d’hôte/adresse identique au nom du serveur affiché dans l’affichage des ressources Azure PostgreSQL dans le portail Azure.

Capture d’écran montrant l’option permettant de créer un serveur à l’aide de l’outil d’administration PG.

Capture d’écran montrant l’option permettant d’entrer le nom d’hôte ou le nom d’adresse identique au nom du serveur.

Veillez à ajouter l' adresse de l’ID client actuel aux règles de pare-feu pour la connexion.

Capture d’écran montrant le processus d’ajout de l’adresse d’ID client actuelle aux règles de pare-feu.

Vous pouvez ajouter de nouvelles bases de données et des utilisateurs de base de données au serveur. Pour les utilisateurs de la base de données, ajoutez un nouveau Login/Group Roles. Vérifiez que Connexion possible est définie sur Oui.

Capture d’écran montrant le processus d’ajout de nouvelles bases de données et d’utilisateurs de base de données au serveur.

Capture d’écran montrant le processus d’ajout d’un nouveau rôle de connexion ou de groupe pour les utilisateurs de base de données.

La capture d’écran montrant la vérification de l’option de connexion peut être définie sur Oui.

Étapes suivantes

Sauvegarde d’Azure Database pour PostgreSQL