Droits sur les données
Les droits sur les données permettent de définir, pour un ensemble de tuple, si un utilisateur peut les supprimer, les masquer, les historiser, les mettre à jour, les lire ou attribuer à d'autres utilisateurs ces mêmes droits.
Cette fonctionnalité nécessite de désigner une colonne source qui servira par la suite à identifier quelle ligne est concernée par des droits.
Déploiement des droits sur une table
Le déploiement de la suppression s'effectuera automatiquement si la base de données est générée par l'application pgSQLPlus. Sinon, un déploiement manuel est possible en utilisant la fonction create_delete_table
:
create_right_table( _schema TEXT, _table TEXT, _column TEXT, _column_type_def TEXT DEFAULT NULL );
_schema
- Nom du schéma dans lequel la table sur laquelle la fonctionnalité des droits doit être initiée est située.
_table
- Nom de la table sur laquelle la fonctionnalité des droits doit être déployée.
_column
- Nom de la colonne source.
_column_type_def
- Indique le type de la colonne. Cette option peut être omise si la colonne source visée existe déjà en base de données.
Le déploiement de la fonctionnalité des droits crée automatiquement deux nouvelles fonctions dans le schéma parent de la table visée :syst_set_right_from_[Nom de la table]
et syst_delete_right_from_[Nom de la table]
. Ces fonctions permettent d'ajouter ou de supprimer des droits sur les données de la table.
Attribution de droits
Le masquage s'effectue avec la fonction syst_set_right_from_[Nom de la table]
:
syst_set_right_from_[Nom de la table]( _user TEXT, _user_target TEXT, _value DATATYPE[], _delete BOOLEAN, _mask BOOLEAN, _history BOOLEAN, _update BOOLEAN, _read BOOLEAN, _right BOOLEAN );
_user
- Identifiant de l'utilisateur attribuant ces droits.
_user_target
- Identifiant de l'utilisateur à qui seront attribués ces droits.
_value
- Tableau de valeur identifiant les lignes sur lesquelles s'applique ces droits.
_delete
- Indique si l'utilisateur ciblé peut supprimer les lignes désignées (true) ou non (false).
_mask
- Indique si l'utilisateur ciblé peut masquer les lignes désignées (true) ou non (false).
_history
- Indique si l'utilisateur ciblé peut historiser les lignes désignées (true) ou non (false).
_update
- Indique si l'utilisateur ciblé peut mettre à jour les lignes désignées (true) ou non (false).
_read
- Indique si l'utilisateur ciblé peut lire les lignes désignées (true) ou non (false).
_right
- Indique si l'utilisateur ciblé peut lui-même attribuer des droits (true) ou non (false).
Suppression de droits
Le supression de droits sur des données s'effectue avec la fonction syst_drop_delete_from_[Nom de la table]
:
syst_delete_right_from_[Nom de la table]( _user TEXT, _user_target TEXT, _value DATATYPE[] );
Précédent
Historisation de donnéesSuivant
Données fixes et données variables