Tous les produits
Search
Centre de documentation

Hologres:Simple permission model (SPM)

Dernière mise à jour :Aug 22, 2026

Cette rubrique présente le modèle d'autorisation simplifié (SPM) de Hologres.

Contexte

Hologres est compatible avec PostgreSQL et vous permet d'utiliser le modèle d'autorisation standard de PostgreSQL. Pour plus d'informations, consultez la rubrique Modèle d'autorisation expert. Le modèle d'autorisation standard de PostgreSQL impose une séparation stricte des permissions. Cette approche s'avère complexe à mettre en œuvre dans les scénarios métier réels et présente plusieurs inconvénients majeurs :

  • L'attribution d'autorisations à un utilisateur nécessite l'exécution d'un grand nombre d'instructions d'autorisation.

  • Chaque rôle requiert des permissions spécifiques, ce qui alourdit la gestion des droits. Par ailleurs, l'omission d'une instruction d'autorisation lors de l'attribution des droits empêche l'utilisateur d'effectuer les opérations correspondantes.

  • Vous devez répéter les mêmes instructions d'autorisation pour chaque nouvel utilisateur, une procédure chronophage.

  • Bien que Hologres fournisse des instructions d'autorisation PostgreSQL standard à titre de référence, vos habitudes personnelles peuvent vous conduire à exécuter des instructions inadaptées aux différentes permissions. Cette situation risque de désorganiser la gestion des autorisations, d'introduire des risques métier et d'augmenter les coûts liés à la gestion, au temps passé et à l'utilisation.

Pour remédier à ces problèmes, Hologres a développé le SPM. Ce modèle s'appuie sur le modèle d'autorisation standard de PostgreSQL, mais gère les permissions de manière plus globale. Le SPM opère au niveau des bases de données et propose les rôles suivants : admin, developer, writer et viewer. Vous pouvez ainsi gérer les autorisations sur les objets d'une base de données à l'aide de quelques fonctions, de façon simple et sécurisée.

Vue d'ensemble du SPM

Le SPM attribue les rôles suivants à chaque base de données :

  • {db}_admin : administrateur de la base de données

  • {db}_developer : développeur

  • {db}_writer : lecteur et rédacteur

  • {db}_viewer : analyste

Le tableau ci-dessous détaille les permissions associées à chaque rôle.

Rôle

Permission

{db}_admin

  • Administrateur d'une base de données.

  • Bénéficie des permissions des groupes {db}_developer, {db}_writer et {db}_viewer.

  • Est propriétaire de la base de données et dispose du droit de la supprimer.

  • Peut ajouter et retirer des membres dans les groupes {db}_admin, {db}_developer, {db}_writer et {db}_viewer de la base de données.

  • Dispose des droits de consultation, d'ajout, de modification et de suppression d'objets tels que les schémas dans la base de données.

  • Possède l'autorisation de modifier la configuration de la base de données.

{db}_developer

  • Développeur d'une base de données.

  • Bénéficie des permissions des groupes {db}_writer et {db}_viewer.

  • Est propriétaire de tous les objets non système de tous les schémas de la base de données, y compris les tables, les tables externes et les objets assimilables à des tables tels que les vues, les fonctions, les procédures, les serveurs étrangers, les wrappers de données étrangères, les types et les langages. De plus, les développeurs peuvent consulter, ajouter, modifier et supprimer des tables dans tous les schémas.

  • Dispose des permissions USAGE et CREATE sur tous les schémas et peut exécuter des instructions DDL (Data Definition Language) pour créer des tables, des vues et des tables externes dans tous les schémas non système.

{db}_writer

  • Lecteur et rédacteur d'une base de données.

  • Bénéficie des permissions du groupe {db}_viewer.

  • Dispose des droits d'exécution des instructions SELECT, INSERT, UPDATE et DELETE sur toutes les tables, les tables externes et les objets assimilables à des tables tels que les vues dans tous les schémas.

  • Possède les droits de consultation, d'ajout, de modification et de suppression de tous les schémas de la base de données.

  • Peut accéder et utiliser tous les objets appartenant aux développeurs de la base de données, y compris les fonctions, les procédures, les serveurs étrangers, les wrappers de données étrangères, les types et les langages.

  • Dispose de la permission USAGE sur tous les schémas, mais ne peut pas exécuter d'instructions DDL.

{db}_viewer

  • Analystes d'une base de données.

  • Dispose de la permission SELECT sur toutes les tables, les tables externes et les objets assimilables à des tables tels que les vues dans tous les schémas.

  • Peut accéder et utiliser tous les objets appartenant aux développeurs de la base de données, y compris les fonctions, les procédures, les serveurs étrangers, les wrappers de données étrangères, les types et les langages.

  • Dispose de la permission USAGE sur tous les schémas.