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 |
|
{db}_developer |
|
{db}_writer |
|
{db}_viewer |
|