IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Oracle 11gR2 ROLES et UTILISATEURS


Sujet :

Administration Oracle

  1. #1
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut Oracle 11gR2 ROLES et UTILISATEURS
    Bonjour,

    une application que je dois migrer en oracle 11gr2 gere les uitilisateurs via des roles .

    chaque utilisateur a le même rôle, ce role possede le privilège SYSTEM
    CREATE SESSION

    Si les rôles sont authentifiés, l'utilisateur possédant le rôle a une erreur
    ORA_01045

    exemple :

    SQL> create user toto identified by toto ;

    Utilisateur crÚÚ.

    SQL> create role toto_r identified by toto_r ;

    R¶le crÚÚ.

    SQL> grant toto_r to toto ;

    Autorisation de privilÞges (GRANT) acceptÚe.

    SQL> grant create session to toto_r ;

    Autorisation de privilÞges (GRANT) acceptÚe.

    SQL> spool off ;
    SQL> quit ;
    DÚconnectÚ de Oracle Database 11g Release 11.2.0.1.0 - Production

    C:\Users\duchossoir>sqlplus toto/toto@appt11g

    SQL*Plus: Release 11.2.0.1.0 Production on Mar. Oct. 11 10:41:39 2011

    Copyright (c) 1982, 2010, Oracle. All rights reserved.

    ERROR:
    ORA-01045: l'utilisateur TOTO n'a pas le privilÞge CREATE SESSION ; connexion
    refusÚe



    C:\Users\duchossoir>sqlplus system/****@appt11g

    SQL*Plus: Release 11.2.0.1.0 Production on Mar. Oct. 11 10:41:56 2011

    Copyright (c) 1982, 2010, Oracle. All rights reserved.


    ConnectÚ Ó :
    Oracle Database 11g Release 11.2.0.1.0 - Production



    SQL> drop role toto_r ;

    R¶le supprimÚ.

    SQL> drop user toto ;

    Utilisateur supprimÚ.

    SQL> create user toto identified by toto ;

    Utilisateur crÚÚ.


    SQL> create role toto_r ;

    R¶le crÚÚ.

    SQL> grant toto_r to toto ;

    Autorisation de privilÞges (GRANT) acceptÚe.

    SQL> grant create session to toto_r ;

    Autorisation de privilÞges (GRANT) acceptÚe.

    SQL> quit ;
    DÚconnectÚ de Oracle Database 11g Release 11.2.0.1.0 - Production

    C:\Users\duchossoir>sqlplus toto/toto@appt11g

    SQL*Plus: Release 11.2.0.1.0 Production on Mar. Oct. 11 10:45:03 2011

    Copyright (c) 1982, 2010, Oracle. All rights reserved.


    ConnectÚ Ó :
    Oracle Database 11g Release 11.2.0.1.0 - Production

    SQL>
    Le comportement est différent en Oracle9 (l'utilisateur se connecte tout le temps)

    En oracle11 , l'utilisateur ne se connecte pas .

    Je ne sais pas ce qu'il faut faire pour que l'utilisateur toto puisse se connecter
    via ce rôle .

    J'ai dû raté quelque chose, je ne trouve rien dans la doc non plus .

    Cordialement

  2. #2
    Membre émérite
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Par défaut
    bonjour,

    ta commande me laisse perplexe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create role toto_r identified by toto_r ;
    essaie simplement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    create role toto_r;
    grant create session to toto_r;
    grant toto_r to toto;

  3. #3
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    S'il n y a pas d'authentification du rôle, cela fonctionne
    (vois l'exemple que j'ai joint) .

    donc le but est que la connexion fonctionne avec :

    CREATE role toto_r IDENTIFIED BY toto_r ;
    en oracle 9 et 10 cela fonctionne .

    peux-tu essayer de ton côté en oracle 11.2 ?

    cdlt

  4. #4
    Membre émérite
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Par défaut
    désolée, j'avais mal lu.
    ben conceptuellement, c'est un petit peu surprenant... est-ce que le create session ne devrait pas être donné juste par un role qui ne soit pas identified by afin que son effet soit immédiat?

  5. #5
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut
    D'apres la doc, l'utilisateur a le role attribué avec les priviléges associés dés sa connexion.

    je ne sais pas si c'est un bug ou non .

    l'authentification, d'apres ce que j'ai compris, est utilisé pour que le rôle soit protégé et donné à des utilisateurs à des moments précis .

    de toute façon, si je ne m'en sors pas, je créerai les rôles sans authentification , en epérant que l'application concernée fonctionne correctement (cela va nécessiter plus de tests dans tous les sens,
    cette appli étant constituée en pl/sql à 100%)

    cdlt

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 58
    Par défaut
    Hello,

    Je comprends la doc sur ce point comme cela:

    Un role protégé par un password n'est plus automatiquement activé pour un utilisateur, mais doit être activé via la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET ROLE myrole IDENTIFIED BY mypass
    On ne peut utiliser cette commande SET ROLE que si on a le role en question.

    Avant cela, aucun des grant du role n'est effectif. Donc, dans le cas particulier du GRANT CREATE SESSION, cela ne peut plus fonctionner car il faut être connecté pour utiliser SET ROLE, mais tu ne peux pas te connecter sans le ROLE actif...

    Liens:
    http://download.oracle.com/docs/cd/E...htm#SQLRF01311

    et

    http://download.oracle.com/docs/cd/E...4.htm#i2135600


    En conclusion, je pense que le grant create session ne peut être granté via un rôle que si ce rôle n'est pas "protégé"

  7. #7
    Membre émérite
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Par défaut
    je viens de lire la doc oracle. (pas de base sous la main pour tester);
    il semblerait que pour que le role soit effectif, lorsqu'il est authentifié par password, il faille faire une petite manip après sa création :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set role toto_r identified by toto_r;
    c'est ainsi depuis la 10.2.0.5. amélioration de la sécurité

  8. #8
    Membre émérite
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Par défaut
    désolée Arnaud, je n'avais pas vu ta réponse

  9. #9
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je vais donc créer les rôles sans authentification .
    Je vous remercie pour vos réponses .

    cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. définir les role des utilisateurs dans un Workflow
    Par samworkflow dans le forum SharePoint
    Réponses: 2
    Dernier message: 16/03/2009, 11h10
  2. Oracle 10 g ex utilisateur SCOTT
    Par jad-lak dans le forum Administration
    Réponses: 9
    Dernier message: 30/12/2008, 15h55
  3. GUI en fonction des "roles" des utilisateurs
    Par mrshadow dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 18/04/2008, 10h33
  4. [Oracle 8i] tracer un utilisateur
    Par saispasfau dans le forum Oracle
    Réponses: 16
    Dernier message: 08/07/2005, 11h07
  5. [role] Detecter le role des utilisateurs
    Par Dry dans le forum SQL
    Réponses: 5
    Dernier message: 28/04/2004, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo