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 :

Bloquer select . . . from USER.TABLE; [10g]


Sujet :

Administration Oracle

  1. #1
    Membre habitué

    Inscrit en
    Octobre 2003
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 178
    Points : 133
    Points
    133
    Par défaut Bloquer select . . . from USER.TABLE;
    Bonjour.

    Je suis en oracle 10g sous windows 2003, mais dans le cas présent, peu importe.

    Comment puis-je faire lorsque l'utilisateur PROPRIO crée la table T1 pour que l'utilisateur CURIEUX ne puisse pas interroger la table T1 en tapant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from PROPRIO.T1;
    sachant que je n'ai bien sur effectué aucun grant.

    J'ai bien essayé en tant que PROPRIO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    revoke select on t1 from public;
    mais j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-01927: cannot REVOKE privileges you did not grant
    Une petite idée s'il vous plaît?

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Si vous n'avez pas donné de droit de sélection à CURIEUX ou à un ROLE que CURIEUX possède, CURIEUX ne pourras pas lire la table.
    Il nous faudrait un jeu de test pour comprendre votre problème.

  3. #3
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Est-ce que, par le plus grand des hasards, l'utilisateur CURIEUX peut se connecter sous SQL*Plus avec le privilège AS SYSDBA?
    Si tu n'as pas donné le droit SELECT sur PROPRIO.T1 à CURIEUX, alors il ne peut pas faire de SELECT sur la table. Exception : CURIEUX peut faire ce SELECT sans avoir eu un GRANT précédemment s'il peut se connecter AS SYSDBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [oracle@vbgeneric ~]$ sqlplus HR/HR@orcl
    SQL> CREATE TABLE T1 (ID number)
    Table created.
     
    SQL> connect SYS@orcl as sysdba
    Enter password: 
    Connected.
     
    SQL> select * from HR.T1;
    no rows selected
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  4. #4
    Membre confirmé
    Homme Profil pro
    xxxxxxxxx
    Inscrit en
    Avril 2015
    Messages
    392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : xxxxxxxxx

    Informations forums :
    Inscription : Avril 2015
    Messages : 392
    Points : 552
    Points
    552
    Par défaut Bloquer select ... from USER_TABLE;
    Bonjour,

    intérroge les vues : user_tab_privs et user_role_privs

    bonne chance

  5. #5
    Membre habitué

    Inscrit en
    Octobre 2003
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 178
    Points : 133
    Points
    133
    Par défaut
    Bonjour.

    Je n'avais pas fait attention quand j'ai fait mon test, mais CURIEUX dispose effectivement d'un role autorisant SELECT sur des table de PROPRIO.
    Mais comment se fait-il qu'il est accès à une table nouvellement créée sans que PROPRIO n'ait accordé le droit SELECT sur cette table.

    Et je constate avec effarement qu'effectivement CURIEUX à le droit de se connecter en SYSDBA.
    Mais je crois que là, il s'agit plus d'un problème de config windows qu'oracle car je n'ai pas besoin de mettre de mot de passe.

    Je crois qu'il faut que je gratte un peu tout ça...

  6. #6
    Membre habitué

    Inscrit en
    Octobre 2003
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 178
    Points : 133
    Points
    133
    Par défaut
    A force de gratter, j'ai fini par trouver.
    CURIEUX avait un rôle dans lequel il y avait le droit SELECT ANY TABLE (trouvé dans DBA_SYS_PRIVS).
    Une fois ce droit retiré, CURIEUX n'a plus accès qu'aux tables explicitement "partagées" (consultable dans ALL_TAB_PRIVS).

    Par ailleurs sur le serveur, dans la "gestion des utilisateurs et groupes", il faut enlever administrateur et administrateurs du group ORA_DBA.
    Dès lors, il n'est plus possible de se connecter à la base sans mot de passe.

    Merci encore pour vos réponses.

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

Discussions similaires

  1. Select from plusieurs tables
    Par YvesTex dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/02/2016, 13h07
  2. Select from 2 tables
    Par riamo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/06/2013, 14h04
  3. Réponses: 1
    Dernier message: 13/12/2010, 13h20
  4. Select from plusieurs tables
    Par leom4t dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2009, 20h53

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