À 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.

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.

Diagram showing the backup process.

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.

Diagram showing the workload or database flow.

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.

    Screenshot showing the option to set Backup vault’s M S I Reader access on the Azure PostgreSQL server.

  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 ».

    Screenshot showing the option to set network line of sight access on the Azure PostgreSQL server.

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.

    Screenshot showing the option to provide secret user access.

    Screenshot showing the option to grant the backup vault’s M S I Key Vault Secrets User access on the 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) :

      Screenshot showing the option to grant permission using Permission model is set to Vault access policy model.

  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.

    Screenshot showing to set the Allow trusted Microsoft services flag to yes for Network line of sight access on the key vault.

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.

Screenshot showing the process to connect to Azure PostgreSQL server using P G admin tool.

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.

Screenshot showing the option to create new server using P G admin tool.

Screenshot showing the option to enter the Host name or address name same as the Server name.

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

Screenshot showing the process to add the current client I D address to the Firewall rules.

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.

Screenshot showing the process to add new databases and database users to the server.

Screenshot showing the process to add a new login or group role for database users.

Screenshot showing the verification of the can login option is set to Yes.

Étapes suivantes

Sauvegarde d’Azure Database pour PostgreSQL