Rôles et utilisateurs
Les bases de données PostgreSQL définissent déjà la notion de rôle. Ils permettent, entre autres, de se connecter et d'exploiter une base de données en fonction de droits qui leur ont été précédemment attribués.
L'exploitation des fonctionnalités de masquage, historisation, suppression et des droits sur les données de l'extension pgSQLPlus nécessite la création d'utilisateurs.
Ces utilisateurs ne sont pas comparables aux rôles PostgreSQL. Ils doivent être considérés comme étant à un niveau applicatif supérieur aux rôles PostgreSQL mais inférieur à la couche applicative réelle de la solution mise en place.
Les utilisateurs sont stockés dans la table user
du schéma spécifié pour déployer l'extension pgSQLPlus
et les droits entre ces utilisateurs et les tables de la base de données sont stockés dans la table table_user_right
de ce même schéma.
Toutes les fonctions utilisées pour gérer les utilisateurs sont dans le schéma spécifié pour déployer l'extension pgSQLPlus
.
Ajout d'un nouvel utilisateur
L'ajout d'un nouvel utilisateur se fait en utilisant la fonction create_user
.
create_user( _id BIGINT, _name TEXT, _index SMALLINT, _delete BOOLEAN, _mask BOOLEAN, _history BOOLEAN, _right BOOLEAN );
_id
- Défini l'identifiant de l'utilisateur. L'identifiant doit être unique pour l'ensemble des utilisateurs.
_name
- Nom de l'utilisateur. Le nom de l'utilisateur doit être unique pour l'ensemble des utilisateurs.
_index
_delete
- Indique si l'utilisateur peut utiliser les fonctionnalités liées à la suppression des données.
_mask
- Indique si l'utilisateur peut utiliser les fonctionnalités liées au masquage des données.
_history
- Indique si l'utilisateur peut utiliser les fonctionnalités liées à l'historisation des données.
_right
- Indique si l'utilisateur peut utiliser les fonctionnalités liées aux droits sur les données.
Exemple
@extschema@.create_user(1, 'user_name', 0, TRUE, TRUE, TRUE, TRUE);
Suppression d'un utilisateur
La suppression d'un utilisateur se fait en utilisant la fonction delete_user
.
delete_user( _id BIGINT );
_id
- Identifiant de l'utilisateur devant être supprimé.
Exemple
@extschema@.delete_user(1);
Modification des droits d'un utilisateur
La modification des droits d'un utilisateur se fait en utilisant la fonction set_user_right
.
set_user_right( _id BIGINT, _delete BOOLEAN, _mask BOOLEAN, _history BOOLEAN, _right BOOLEAN );
_id
- Identifiant de l'utilisateur devant être supprimé.
_delete
- Indique si l'utilisateur peut utiliser les fonctionnalités liées à la suppression des données.
_mask
- Indique si l'utilisateur peut utiliser les fonctionnalités liées au masquage des données.
_history
- Indique si l'utilisateur peut utiliser les fonctionnalités liées à l'historisation des données.
_right
- Indique si l'utilisateur peut utiliser les fonctionnalités liées aux droits sur les données.
Exemple
@extschema@.set_user_right(1, TRUE, FALSE, FALSE, FALSE);
Modification des droits d'un utilisateur sur une table
La modification des droits d'un utilisateur sur une table se fait en utilisant la fonction set_user_table_right
.
set_user_table_right( _id_user BIGINT, _schema TEXT, _table TEXT, _delete BOOLEAN, _mask BOOLEAN, _history BOOLEAN, _right BOOLEAN );
Exemple
@extschema@.set_user_table_right(1, 'schema_1', 'table_1', TRUE, TRUE, FALSE, FALSE);
Précédent
Objet de type collationSuivant
Masquage des données