Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Définition droits utilisateurs sur BD Oracle

letissya, le lundi 23 juin 2003 à 10:23:02
Bonjour à tous,

Voilà, j'ai une base de données qui peut être modifiée par différentes personnes...
Chaquespersonne peut écrire dans la base et consulter des données.. mais ils ne peuvent modifier que les données qu'ils ont écrites eux-mêmes... et surtout pas celles des autres...

Après de nombreuses propositions de solutions dans mon bureau toutes plus farfelues les unes que les autres.. surtout que personne ne s'y connait vraiment, j'aimerais connaitre votre opinion parce qu'il me semble que c'est un problème simple.. enfin... peut-etre!!

Merci pour votre aide... ça va peut-etre apaiser des tensions ici !!

;D

Ma BD est sous Oracle.



Letissya
Répondre à letissya  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
choubaka, le lundi 23 juin 2003 à 10:29:46
Répondre à choubaka

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
teebo, le lundi 23 juin 2003 à 10:31:56
Donc en conclusion, rien de plus simple,ca marche tout seul, c'est ca?

.  .
\_/
Répondre à teebo

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
choubaka, le lundi 23 juin 2003 à 10:37:48
je n'irais pas jusque là... 8)

Chouba
Casque Bleu forumique
Répondre à choubaka

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
letissya, le lundi 23 juin 2003 à 10:39:39
choubaka, désolée, mais je ne peux pas consulter le premier site : le filtre web m'en empêche!!

teebo : pas compris ta réflexion !

Letissya
Répondre à letissya

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
teebo, le lundi 23 juin 2003 à 10:40:54
Elle se rapporte au premier site :-S
Attend, bouge pas :o)

.  .
\_/
Répondre à teebo

5


  • 8
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
choubaka, le lundi 23 juin 2003 à 10:40:41
pas de prob

Droits d'accès : rôles et privilèges


Introduction


Les systèmes de gestion de base de données sont accessibles simultanément par plusieurs utilisateurs. Afin de conserver l'intégrité de la base de donnée, il est nécessaire de définir à chacun des utilisateurs des droits d'accès. Ces droits limitent l'accès des utilisateurs à certaines informations de la base et leurs interdisent certaines actions.
C'est l'administrateur de bases de données (DBA) qui a pour rôle de gérer les utilisateurs : il crée ou supprime des comptes utilisateurs, attribue ou retire les privilèges d'accès aux données des différents utilisateurs.[1]
Cependant, même si le DBA conserve un regard sur les actions entreprises par les utilisateurs, l'attribution des privilèges sur un objet d'une base de données est décentralisée. En effet, le créateur d'un objet possède non seulement tous les droits de lecture, de modification et de suppression de cet objet mais il peut aussi accorder des droits sur cet objet à d'autres utilisateurs. Par conséquent, chaque donnée peut être définie, soit comme confidentielle et accessible à un seul utilisateur, soit comme partageable entre plusieurs utilisateurs.
Tout utilisateur doit posséder un nom d'utilisateur et un mot de passe pour pouvoir accéder à la base. C'est ce nom d'utilisateur qui sera le lien avec les droits d'accès qui lui sont accordés. Pour consulter ces droits, l'utilisateur peut utiliser les commandes SQL suivantes :[2]

USER_TAB_GRANTS;
Droits sur les objets donnés par l'utilisateur ou dont l'utilisateur est le bénéficiaire.

USER_TAB_GRANTS_MADE;
Droits sur ses objets, tables ou vues, donnés par l'utilisateur.

USER_TAB_GRANTS_RECD;
Droits sur des objets donnés à l'utilisateur.

Il existe deux utilisateurs par défaut sur toute base Oracle :
->l'utilisateur SYS, propriétaire des tables et des vues du dictionnaire,
->l'utilisateur SYSTEM, qui a simplement le droit de consultation de ces objets.
Ces deux utilisateurs ont par défaut le rôle DBA, ce qui signifie qu'ils ont accès à tous les objets de tous les autres utilisateurs de la base et qu'ils ont le droit d'exécuter certaines commandes d'exploitation et d'administration.[3]
Nous verrons au travers les quelques lignes qui vont suivre comment sont gérés les utilisateurs et leurs droits par le DBA et ce, de la création du compte à sa suppression en passant bien évidemment par l'attribution des privilèges notamment par le biais de la commande ROLE.



1. Création d'un compte utilisateur.


CREATE USER bob IDENTIFIED BY unbreakable
DEFAULT TABLESPACE data
TEMPORARY TABLESPACE temp
QUOTA 100Mo ON data
PROFIL profil_bob;

Cet ordre crée un utilisateur nommé 'bob', et dont le mot de passe est 'unbreakable'. bob créera par défaut ses objets dans la partition 'data' (jusqu'à concurrence de '100Mo'). Son espace de travail temporaire (utilisé en interne par Oracle) sera la partition 'temp'. Lors de sa connexion, bob bénéficiera d'une session dont les caractéristiques sont définies par le profil 'profil_bob'. La commande PROFIL affecte entre autres les paramètres suivants :[4]

CONNECT_TIME
Temps de connexion autorisé (en minutes)
IDLE_TIME
Délai d'inactivité autorisé (en minutes)
LOGICAL_READS_PER_CALL
Nombre maximum de blocs mémoire ou disque par tâche




2. Les droits : attribution des rôles et des privilèges associés.


2.1 Privilège
Nous venons de voir comment créer un compte utilisateur pour bob. Pour pouvoir créer un compte utilisateur, il faut disposer du privilège CREATE USER. Il est préférable que cette commande ne soit accessible qu'au DBA. En ce qui concerne notre utilisateur bob, malgré la création de son compte, il ne peut toujours pas se connecter à la base de données. Il faut pour cela que le DBA lui accorde le privilège CREATE SESSION.

Un privilège est le droit d'exécuter un type d'instruction SQL spécifique. Quelques exemples de privilèges :
->le droit de se connecter à une base de données (autrement dit ouvrir une session),
->le droit de créer une table,
->le droit de sélectionner des lignes dans une table.

Les privilèges d'une base de données Oracle peuvent être répartis en deux catégories distinctes :
->les privilèges système,
->les privilèges objets.

Les privilèges système autorisent les utilisateurs qui en disposes à exécuter une action particulière portant sur tout le système (création d'espace de tables ou suppression des lignes de n'importe quelle table de la base, etc...). Par opposition, les privilèges objets n'accordent que des droits limités à un objet de la base. Les privilèges objets sont typiquement les droits que peuvent accorder des utilisateurs sur les objets dont ils sont les auteurs alors que les privilè- ges système sont réservés au DBA.[5]

L'instruction GRANT est toujours utilisée lors de l'attribution d'un privilège. Le grant est syntaxiquement composé de trois parties :

GRANT (type de privilège) ON (table/vue) TO (utilisateur(s))

Les types de privilège qui peuvent être accordés sont les suivants : SELECT, INSERT, UPDATE, UPDATE (col1, col2), DELETE, ALTER, INDEX, ALL.
Le mot clé ON est suivi du nom de la table ou de la vue sur laquelle sont accordés les privilèges. TO est suivi du nom du ou des utilisateurs auquel(s) sont accordés les privilèges. Le mot clé PUBLIC peut être utilisé pour désigner tous les utilisateurs. On notera que l'instruction GRANT peut être accompagnée de l'option facultative WITH GRANT OPTION qui accorde le droit à l'utilisateur de transmettre ces privilèges.[6] Ainsi, pour que bob puisse se connecter à la base, le DBA devra exécuter la commande :

GRANT CREATE SESSION TO bob

Comme nous l'avons souligné en introduction, un utilisateur peut attribuer des droits sur les objets dont il est l'auteur via la commande GRANT. Afin de faciliter l'attribution d'une série de privilèges à plusieurs utilisateurs, le DBA dispose de la commande ROLE.
2.2 Définition des rôles
On ne peut pas définir directement de groupe d'utilisateurs sous Oracle, c'est l'attribution de privilèges à un rôle qui permet de faciliter la gestion des privilèges pour des groupes d'utilisateurs. Pour accorder des privilèges à un groupe d'utilisateurs sur des ensembles de vues ou de relations, il faut d'abord les attribuer à un rôle, puis assigner ce rôle au groupe d'utilisateurs en question. Il y a neuf rôles prédéfinis afin de préserver la compatibilité entre les différentes versions d'Oracle. Ces rôles peuvent être modifiés pour permettre la création de nouveaux rôles. Voici quatre de ces rôles :

CONNECT
Autorise la connexion à une base Oracle. Parmi les privilèges associés à cette commande on trouve:
CREATE TABLE, CREATE VIEW, CREATE SESSION ...

RESOURCE
Permet, en plus de la création de table et de vue, l'utilisation de trigger et de procédure (CREATE PROCEDURE, CREATE TRIGGER ...).

DBA
Ce rôle regroupe tous les privilèges système pour la gestion des utilisateurs et de leurs tables.

Pour pouvoir créer un rôle, l'utilisateur doit avoir le privilège : CREATE ROLE. Typiquement, seul le DBA dispose de ce droit, ce qui est préférable pour des raisons de sécurité. Lorsqu'un rôle est créé, son créateur en hérite avec le privilège ADMIN OPTION ce qui lui permet de modifier, supprimer ce rôle ou de l'attribuer à des utilisateurs.[6] Il est possible, lors de la création d'un rôle, d'en protéger l'utilisation par le biais d'un mot de passe dont le contrôle se fera soit par Oracle, soit par une application, soit par le système d'exploitation. Nous n'envisagerons pas ces cas particuliers et nous verrons sur l'exemple suivant comment créer un rôle, l'attribuer à notre utilisateur bob, puis le lui enlever.

CREATE ROLE role_bob;
Création du rôle
GRANT SELECT ON acteurs TO role_bob;
GRANT UPDATE ON acteurs TO role_bob;
GRANT SELECT ON films TO role_bob;
Attributions des différents privilèges au rôle défini précédemment.
GRANT role_bob TO bob;
Attribution du rôle à l'utilisateur bob.

2.3 Gestion des privilèges
Afin de gérer et surveiller l'attribution des privilèges, le DBA peut utiliser les commandes suivantes :[7]

DBA_TAB_GRANTS
Tous les droits sont accordés sur tous les objets de la base.
DBA_USERS
Informations sur tous les utilisateurs de la base.



3. Suppression des droits : modification et suppression des rôles.


3.1 Suppression des droits par l'utilisateur
L'utilisateur ayant accordé un privilège sur ses objets à un autre utilisateur peut les lui reprendre en utilisant la commande suivante :

REVOKE PRIVILEGE ON FROM ;

3.2 Suppression d'un rôle
Les rôles peuvent être supprimés par l'utilisation de la commande DROP. Pour supprimer le rôle role_bob attribué précédemment à bob, l'instruction sera :

DROP ROLE role_bob;

3.3 Suppression d'un compte utilisateur
La suppression d'un compte utilisateur est aussi un moyen de supprimer ses droits d'accès à la base de donnée. Pour supprimer les droits d'accès de bob à la base de données ainsi que tous les objets qu'il a créés, on utilise la commande sui- vante :

DROP USER bob CASCADE;



4. Conclusion


Du point de vue sécurité, la gestion des droits d'accès aux bases de données est de loin le principal souci du DBA. Afin de gérer au mieux ces droits, il dispose, comme nous venons de le voir, d'un grand nombre de commandes SQL lui permet- tant d'attribuer sélectivement des droits aux différents utilisateurs et de surveiller les attributions réalisées par les utilisateurs eux-mêmes. La plupart des SGBD offrent en outre des moyens de gestion des droits d'accès plus conviviaux que le passage par ligne de commande SQL. Oracle propose notamment plusieurs modules pour la gestion des utilisateurs et de leurs privilèges (Server Manager, Security Manager).



5. Sources


M. Abbey, M.J. Corey, I. Abramson, ORACLE 8i - Notions fondamentales, CampusPress France http://www-ufrima.imag.fr/PLACARD/GENERAL/oracle_V8/doc/ Les deux guides suivant :
Advanced Security Administrator's Guide
Administrator's Guide
sont consultables à l'adresse suivante mais nécessite un enregistrement.
http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/nav/docindex.htm






Chouba
Casque Bleu forumique
Répondre à choubaka

7


  • 2
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
teebo, le lundi 23 juin 2003 à 10:41:51
Caramba, grille :-)
.  .
\_/
Répondre à teebo

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 merci bcp, le lundi 12 mai 2008 à 01:31:31
salut, merci beaucoup pour les bonnes informations que vous nous donnez.
une question SVP est ce que vous peuvez me donner les information sous automatisation des taches d'administration d'oracle 9i
Répondre à merci bcp

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
letissya, le lundi 23 juin 2003 à 10:58:19
donc si j'ai bien compris...

chaque utilisateur est propriétaire des objets qu'il a créés...
et si je veux qu'un autre utilisateur les modifient, il faut que l'utilisateur "créateur" lui autorise ... et cela meme pour la consultation (SELECT) ? ou c'est pas nécessaire ?

Teebo a raison ça fait presque tout tout seul !!! ?



Letissya
Répondre à letissya

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
choubaka, le lundi 23 juin 2003 à 11:37:57
apparemment c'est nécessaire

Chouba
Casque Bleu forumique
Répondre à choubaka

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
rahma, le dimanche 21 octobre 2007 à 20:26:01
salut,je voit que la cause de votre probleme est que votre base de donnee est modifiable par n'importe qui!!!!c'est tres deconseiller vous avez bsoin d'une seul personne(un administrateur) a laquel sera attribuer ce droit et si quelqun veut modifier quelque chose dans la BD il doit consulter l'administrateur ....
jespere que jai reussi a te repondre
Répondre à rahma

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
rahma*info, le dimanche 21 octobre 2007 à 20:51:13
Bonjour,
que ce que vous pensez du systeme d'exploitation 'unix'? je sais que dans quelques annees il ny aura que lui dans le monde dinformatique,mais suis pas vraiment convaincu je voi qui il est trop compliquer et pour l'administration reseau c'est quoi lavantage du 'unix'
enfin,si vous avez quelques conseils ou un cours simple pour ladministration reseau sous unix je serai ravi..........
Répondre à rahma*info

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
COCO, le samedi 26 janvier 2008 à 17:27:47
J'aimerai savoir comment activé la fonction audit sur Oracle 9i. Svp la procedure.
Répondre à COCO

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
piroman, le samedi 9 février 2008 à 19:39:03
Bonjour,

titulaire d un bts informatique de gestion option devpeur je cherche une formation pr devenir administrateur de base de données. Merci de vos réponses
Répondre à piroman

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
aamsi, le mercredi 20 février 2008 à 11:37:33
pour la formation je te conseille d'aller a EMSI(Ecole Marocaine des Sciences de l'Ingénieur) a bir anzaran maarif en face a résidence khribga
Répondre à aamsi

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dali, le mardi 26 février 2008 à 11:33:42
les droits utilisateurs permet de bien préciser le travail pour chaque utilisateur .et sert à proteger notre base de donnée
surtout .
Répondre à dali

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
keith, le jeudi 28 février 2008 à 17:56:36
je voudrais avoir des cours administrations de base de donees oracles . merci.
Répondre à keith

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nounou, le mardi 29 avril 2008 à 15:15:11
comment l'administrateur BD gere la base?
comment la connaitre?
comment savoir de quoi elle est constituée?
Le DBA intervient dans qu'elle partie de la base?
c'est quoi les objets, vues,synonymes,trigger et leurs roles dans la base de données?

merci
Répondre à nounou

Résultats pour définition droits utilisateurs sur BD Oracle

[poweruser(utilisateur ac pouvoir)XP home] ? (Résolu) Bonjour, Est-il possible de définir un utilisateur comme power user (utilisateur avec pouvoir) sous XP HOME ? (A la différence de XP Pro, en faisant clic-droit>Gérer sur le poste de travail, il n'y pas la ligne "Utilisateurs et groupes locaux"... www.commentcamarche.net/forum/affich-1770402-poweruser-utilisateur-ac-pouvoir-xp-home
Connexion à une bdd via JDBC (Résolu) Bonjour, je cherche à me connecter à un bdd oracle via JDBC et en utilisant netbeans est ce que c'est possible? merci www.commentcamarche.net/forum/affich-5160134-connexion-a-une-bdd-via-jdbc
[ORACLE] Intérogation SQL via VBA/ADODB (Résolu) Bonjour, Voici mon problème: Nous avons une BD Oracle sur notre réseau et j'y accède via Excel/VBA ADODB. Ma requête SQL recherche des données selon une certaine période de temps. Sur mon PC je formate les dates selon "d/m/yyyy" et cela... www.commentcamarche.net/forum/affich-3021525-oracle-interogation-sql-via-vba-adodb

Résultats pour définition droits utilisateurs sur BD Oracle

[Sécurité] Droits d'accès - GNU/LinuxLes droits d'accès Préface I. Généralités II. Les droits III. Les droits spéciaux 1. Le Sticky bit 2. Les droits d'endossement IV. Les commandes 1. chmod 2. umask Préface Le but de cet article n'est pas de vous apprendre quels... www.commentcamarche.net/faq/sujet-3603-securite-droits-d-acces-gnu-linux
S'approprier un fichier dont l'accès est refuséIl arrive souvent de vouloir modifier un fichier ou un dossier qui est bloqué car vous n'en êtes pas le propriétaire donc vous obtenez le message: "Accès refusé" quand vous voulez l'ouvrir ou déplacer un fichier dans ce dossier verrouillé. Deux... www.commentcamarche.net/faq/sujet-6604-s-approprier-un-fichier-dont-l-acces-est-refuse
[Sécurité] Les Access Control Lists (ACLs)ACL Outrepasser les droits de base d'un système Linux en utilisant les ACLs. I. PREREQUIS II. Introduction III. Définition IV. Mise en place de support pour les ACLs Vérification de la prise en charge des ACLs par le kernel Installation... www.commentcamarche.net/faq/sujet-3773-securite-les-access-control-lists-acls

Résultats pour définition droits utilisateurs sur BD Oracle

Remplir une JTable a partir d'une BDD (Résolu)Bonjour, J'ai une base de donnée et j'essaie de faire une procédure qui récupère le resultat d'une requête et l'affiche dans une Jtable. -Langage de prog: java. -IDE: eclipse 3.0.2. -BDD: oracle 10g. Mais j'ai un souci je... www.commentcamarche.net/forum/affich-6048483-remplir-une-jtable-a-partir-d-une-bdd
Comment convertir un doc XML en HTML (Résolu)J'aimerai convertir un document XML canonique en un document HTML. Mon cadre de travail est une BD Oracle 8.1.7. Je reprends tous les enregistrement d'une table EMPLOYEE et j'exporte le résultat avec le package standard DBMS_XMLQUERY.... www.commentcamarche.net/forum/affich-515557-comment-convertir-un-doc-xml-en-html
GRAVURE WMA sur CD-R (Résolu)Bonjour, Est-il possible d'ajouter une piste de musique WMA en la gravant sur un CD-R sur lequel j'ai déjà gravé une seule piste; peut-être le CD est-il clos définitivement ? J'utilise "RECORD NOW" comme logiciel de gravure. Peut-être... www.commentcamarche.net/forum/affich-4191652-gravure-wma-sur-cd-r

Résultats pour définition droits utilisateurs sur BD Oracle

La NASA met en ligne les photos des missions Appollo(Paris - Relaxnews) - Près de quarante après les premiers pas de l'Homme sur la Lune, la NASA s'apprête à mettre à la disposition du grand public l'album photos de ses voyages lunaires. En collaboration avec l'Université d'Arizona, l'agence spatiale... www.commentcamarche.net/actualites/la-nasa-met-en-ligne-les-photos-des-missions-appollo-3477575-actualite.php3

Résultats pour définition droits utilisateurs sur BD Oracle

Oracle - Introduction au SGBD OracleIntroduction au SGBD Oracle Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle Corporation - http://www.oracle.com), leader mondial des bases de données. La société Oracle Corporation a été créée en... www.commentcamarche.net/contents/oracle/oracintro.php3
PL/SQL - Introduction au langage PL/SQLIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui... www.commentcamarche.net/contents/plsql/plsqlintro.php3
Principes d'Active DirectoryPrincipe de fonctionnement d'Active Directory Active Directory permet de représenter et de stocker les éléments constitutifs du réseau (les ressources informatiques mais également les utilisateurs) sous formes d'objets, c'est-à-dire un ensemble... www.commentcamarche.net/contents/activedirectory/active-directory-principes.php3