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

SQL Firebird Discussion :

Voir les vues mais pas les tables


Sujet :

SQL Firebird

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Voir les vues mais pas les tables
    Bonjour à tous,

    j'ai une vue qui utilise une table et je voudrais créer un utilisateur qui n'a accès qu'à la vue.
    J'ai fais un Grant sur la vue mais quand je veux l'ouvrir il m'en empêche car je n'ai pas de privilège sur la table.

    Comment on fait ?

    Merci d'avance

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Donner les droits à la vue sur la table

    Vous avez donné les droits à l'utilisateur sur la vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Grant all on MA_VUE TO MON_UTILISATEUR;
    Il vous manque Les droits de la vue sur la table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Grant all on MaTable to view MA_VUE;
    Et je serais vous je ne donnerai pas les droits à un utilisateur mais plutôt à un Role.

    Et vous donnez à l'utilisateur le droits d'utiliser le role.
    C'est plus rapide pour lui retirer ses droits et mettre les même droits à un autre utilisateur.

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Barbibulle Voir le message
    Donner les droits à la vue sur la table
    J'y ai pensé mais ça me met toujours le même message d'erreur.

  4. #4
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Vous avez bien fait comme je l ai indiqué ?

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Oui mais à la place des ALL j'ai mis des SELECT.
    Ça ne marche toujours pas, même en passant par des rôles.

    Edit : Pas mieux avec les ALL...

  6. #6
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Essayez ce que j ai écrit, cela fonctionne.

    Ou bien mettez nous ici ce que vous avez écrit comme GRANT

  7. #7
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    C'est une vue qui attaque qu'une seule table ?

  8. #8
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE USER USER1 PASSWORD 'xxxx';
     
    CREATE ROLE ROLE1;
     
    GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE ON VUE1 TO ROLE1;
     
    GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE ON TABLE1 TO VUE1;
     
    GRANT ROLE1 TO USER1;

    Oui elle n'attaque qu'une table, c'est une requête toute simple SELECT champ1, champ2 FROM TABLE1 WHERE champ1 = 'xxxx';

  9. #9
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE ON TABLE1 TO VIEW VUE1;

  10. #10
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai pris une BDD toute propre sans aucun GRANT, j'ai tout refait comme il faut avec le 'VIEW' que j'avais oublié mais ça ne va pas mieux. C'est désespérant...

  11. #11
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Vous vous connectez bien avec USER1 en utilisant le ROLE ROLE1 ?

    Lors de la connexion il ne faut pas oublier de préciser qu'on veut utiliser le role ROLE1 sinon on ne bénéficie pas des pouvoirs du role en question !

  12. #12
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je fais les grant et compagnie avec SYSDBA puis je me connecte avec
    User : USER1
    Mdp : xxxx
    Role : ROLE1

    Le message en question :
    This user does not have privilege to perform this operation on this object.No permission for read/select access to TABLE TABLE1.

  13. #13
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Je viens de faire le test, et je me suis trompé il n'y a même pas besoin de donner les droits à la vue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    CREATE DATABASE 'LOCALHOST:d:\DataBases\Tests\MesTest.fdb'
    USER 'SYSDBA' PASSWORD 'masterkey'
    PAGE_SIZE 16384
    DEFAULT CHARACTER SET ISO8859_1;
     
    CREATE TABLE MA_TABLE (
        ID  INTEGER NOT NULL
    );
     
    CREATE VIEW VW_MA_TABLE(
        ID)
    AS
    select
        id
    from ma_table;
     
    ALTER TABLE MA_TABLE ADD CONSTRAINT PK_MA_TABLE PRIMARY KEY (ID);
     
    CREATE ROLE ROLE1;
     
    GRANT ROLE1 TO USER1;
     
    GRANT SELECT ON VW_MA_TABLE TO ROLE1;

  14. #14
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai copié ton code et NADA !

    Je sais pas si ça peut venir de là mais je suis en Firebird 2.5, Dialect 3, ODS 11.2

  15. #15
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Il manquait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT ON VW_MA_TABLE TO ROLE1;
    a la fin de mon code, je l'ai modifié mais peut être après que vous ayez copié le code.

  16. #16
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je l'ai rajouté, j'ai essayé aussi en Dialect 1 mais ça change rien.

    J'abandonne, je vais mettre un grant sur la table et basta.

    Merci quand même !

  17. #17
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Essayer sans passer par le ROLE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT ON VW_MA_TABLE TO USER1;

  18. #18
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Déjà essayé.

  19. #19
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Sous FB2.5 ca fonctionne également

  20. #20
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    Citation Envoyé par Barbibulle Voir le message
    Je viens de faire le test, et je me suis trompé il n'y a même pas besoin de donner les droits à la vue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    CREATE DATABASE 'LOCALHOST:d:\DataBases\Tests\MesTest.fdb'
    USER 'SYSDBA' PASSWORD 'masterkey'
    PAGE_SIZE 16384
    DEFAULT CHARACTER SET ISO8859_1;
     
    CREATE TABLE MA_TABLE (
        ID  INTEGER NOT NULL
    );
     
    CREATE VIEW VW_MA_TABLE(
        ID)
    AS
    select
        id
    from ma_table;
     
    ALTER TABLE MA_TABLE ADD CONSTRAINT PK_MA_TABLE PRIMARY KEY (ID);
     
    CREATE ROLE ROLE1;
     
    GRANT ROLE1 TO USER1;
     
    GRANT SELECT ON VW_MA_TABLE TO ROLE1;
    Vous avez fait sauter la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT ALL ON MA_TABLE TO VIEW VW_MA_TABLE;

Discussions similaires

  1. [2008R2] droits utilisateurs pour voir une vue et pas les tables associées
    Par jacquemoud dans le forum Administration
    Réponses: 6
    Dernier message: 26/02/2013, 18h09
  2. vider les valeurs mais pas les formules
    Par tomy7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2008, 13h31
  3. Lit les DVD mais pas les CD
    Par julien.63 dans le forum Périphériques
    Réponses: 4
    Dernier message: 30/11/2006, 23h36
  4. [9i] Supprimer les histogrammes mais pas les stats
    Par orafrance dans le forum Oracle
    Réponses: 4
    Dernier message: 21/08/2006, 08h13

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