|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : août 2004 Messages : 665 ![]() |
Bonjour,
J'ai une base de données oracle 10g. Mon application utilise un compte oracle OPS$OPE pour toutes les créations d'objets, puis il y a un compte par utilisateur user0, user1 .... Chaque user doit pouvoir accèder aux tables applicatives. La procédure pour créer mes tables applicatives est la suivante : Code :
Qu'apporterait après la création de chaque table l'instruction : Code :
GRANT SELECT, INSERT, UPDATE, DELETE ON TEST TO PUBLIC |
||
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
bonjour,
le commit c'est après la création de la table. le synonym, c'est le propriétaire (donc pendant la connection ops$ope) qui doit le créer pour les autres users (ou bien sys), ce qui leur évitera de préfixer la table pendant leurs propres opérations. Ce qui est important ce sont les droits donnés sur l'objet. De manière générale, j'éviterais de donner des droits à PUBLIC, c'est une faille de sécurité parce que n'importe quel user pourra opérer des modifications sur ton objet, mais en admettant que ce soit l'effet recherché, si jamais tu changes d'avis sur les privileges accordés et que tu revoques un privilege qui a été alloué à PUBLIC sur un objet alors tous les objets qui font référence à ce dernier deviennent invalides et doivent être ré-autorisés. pour faciliter l'administration, s'il y a beaucoup de users applicatifs, c'est plus facile de créer un rôle et de donner les droits sur chaque table à ce rôle puis granter ce rôle aux users applicatifs. La base de données est faite pour administrer des groupes, des users qui ont des droits différents |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com