-
Rôles et Privilèges
Bonjour,
Pour une application que je développe, j'ai besoin de récupérer différentes infos :
- les privilèges associés aux rôles : j'utilise la vue ROLE_SYS_PRIVS mais pour le rôle connect je n'ai aucun privileges associés ... cela me parrait bizarre
- les priviléges accordés sur les tables (SELECT, ...), pour un utilisateur je désire pouvoir afficher toutes les tables ou il peut effectuer un select, insert, ... J'utilise la vue DBA_TAB_PRIVS, mais il n'y a aucun droit pour les tables lui appartenent.
Quelqu'un pourrait il m'aider ?
Merci d'avance !
-
Bonjour tout le monde,
Aprés moultes recherches sur Oracle, j'ai trouvé la réponse a ma première question ... ne pas untiliser ROLE_SYS_PRIVS mais DBA_SYS_PRIVS ! Y fallait y penser ... lol
Par contre ce qui est de ma seconde question, je n'ai toujours pas trouvé ... il me semble logique que l'utilisateur qui crée une table puisse faire un SELECT ou autre dessus ! Mais je ne trouve pas de table ou de vue me permettant de voir cela !
Si quelqu'un à une idée ....
Merci d'avance
-
Bonjour,
Cela semble logique .
Cela exploserait la table systeme si elle existait puisque par défaut
un utilisateur owner d' une table a tous les priviléges oblets
sur sa table ( heureusement d' ailleurs ) .
Maintenant est-il possible d' enlever un privilége objet pour l' owner
d' une table ?
je n' ai jamais essayé .
cordialement
-
Ouais ... logique ..... mais j'ai du mal poser ma question ...
Si un utilisateur toto donne le droit select sur une de ses tables a titi.
Quelle vue dois-je interroger pour savoir que titi a les droits sur une table de toto ?
C plus comprehensible ? Si c pas encore ca dites le moi ...
Merci d'avance !
-
j' utilise ce script :
[c
prompt ################################################################
prompt ##liste priviléges objets attribués aux utilisateurs et rôles #
prompt ################################################################
select grantor,grantee,table_name,privilege from dba_tab_privs
where owner <>'SYS'
order by 1,2,3;
ode][/code]
-
Ouais, peu etre .... mais par exemple je veu connaitre la liste priviléges objets attribués à SCOTT :
select grantor,grantee,table_name,privilege from dba_tab_privs
where owner <>'SYS'
and grantor='SCOTT'
order by 1,2,3;
=>aucune ligne selectionnée
Merci quand meme !
-
Oui , cela signifie simplement que l' utilisateur
scott n' a donné aucun privilege à qui que ce soit sur les tables
dont il est owner .
grantor : name of the user who performed the grant
grantee : user to whom access was granted
cf doc oracle 8i server reference : la blible pour les administrateurs !
-
Donc, si j'ai bien compris, si je veu cannaitre les droits objet qui on étés accordés a SCOTT :
select grantor,grantee,table_name,privilege from dba_tab_privs
where owner <>'SYS'
and grantee='SCOTT'
order by 1,2,3;
G bon ?
-
-
dans ton cas , tu peux virer owner <>'SYS'
mon script donne tous les privileges objets existants dans la base ,
je ne liste pas les droits sur les tables dont SYS est propriétaire ( tables systemes ) .
-
ok merci beaucoup ...
Je pense pouvoir arriver a faire ce dont j'ai besoin ..
Merci, @+