Mettre en place des droits sur une vue différents de ceux de la table-source ?
Hello,
J'ai une table (SAS 9.2, plateforme BI) contenant les données de tous mes utilisateurs, avec une colonne id_groupe. J'ai créé dessus une vue pour un groupe d'utilisateurs :
Code:
1 2 3 4 5
|
PROC SQL ;
CREATE VIEW V_GROUPE6 AS
SELECT * FROM tableglobale WHERE id_groupe = 6 ;
QUIT ; |
Ensuite, je retire les droits sur la table pour ne laisser que ceux sur la vue. Et là, patatra, je m'aperçois que la vue est exécutées avec les droits de l'utilisateur, et donc qu'elle ne peut plus accéder à sa table-source.
Y a-t-il un moyen de mettre en place des vues exécutées avec les droits du créateur (comme c'est habituellement le cas sur les SGBD) ? Voyez-vous une autre solution (à part remplacer ma vue par une infomap) ?
map et condition par ligne
Bonjour,
Je n'ai jamais testé mais je sais qu'on peut faire ça avec les maps. Le lien Map et sécurité explique pas à pas la procédure.
Celà doit correspondre à la technique donnée par xav2229 et datamétric car les maps ne sont rien d'autre que des "générateurs" de vue/table.
Information Map Studio permet de récupérer le code d'une procédure sql créé à partir d'une map. Donc à ta place je créerais une map avec filtrage sur ligne grace à infoMap, je testerais la procédure SQL qui m'intéresse puis j'en récupérerais le code.
Le problème des droits de lancement est peut-être lié à la politique de sécurité de ton installation. Je suppose que chacun de tes utilisateurs en métadonnées correspond à un compte OS spécifique. D'où des problèmes d'accès aux données liés aux différents comptes propriétaires. Dis moi si je me trompe.