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

Oracle Discussion :

Créer un ROLE qui ne permet que la selection/affichage et execution


Sujet :

Oracle

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut Créer un ROLE qui ne permet que la selection/affichage et execution
    Bonjour,

    Je cherche à créer un ROLE qui permet à son utilisateur de tout faire sauf modifier ou supprimer quelque chose de la table. C'est à dire uniquement la sélection dans les tables et l’exécution des procédures/fonctions.

    Pour le moment j'ai pu mettre dans le role les privilèges

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ANY TABLE et SEQUENCE puis EXECUTE
    pour les procédures et les fonctions. Le problème qui se pose c'est que je peux sélectionner dans des tables et vues d'un autre schéma mais j'arrive pas a exécuter ses procédures...

    Je me demande s'il y a un privilège spéciale à donner ?

    Cordialement.

  2. #2
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    As-tu bien mis les droits suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    GRANT EXECUTE ON ANY PACKAGE;
    GRANT EXECUTE ON ANY PROCEDURE;
    GRANT EXECUTE ON ANY FUNCTION;
    GRANT EXECUTE ON ANY TRIGGER;

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par DBA_OCP Voir le message
    ...Je me demande s'il y a un privilège spéciale à donner ?...
    Le plus efficace serait de donner les commandes exactes que vous avez utilisées pour donner les droits, et de nous montrer un exemple concret de l'erreur.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par Scriuiw Voir le message
    GRANT EXECUTE ON ANY TRIGGER;
    Une nouveauté de la V12 ??
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    GRANT EXECUTE ON ANY TRIGGER;
    Une nouveauté de la V12 ??
    Oui prochainement à venir... ou pas !

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Est ce que le fait que la procédure contient des update par exemple peut nécessiter de donner le privilège UPDATE à l'utilisateur ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    J'ai bien envie de dire Oui

    As-tu essayé un GRANT ALL dans un premier temps ?
    Puis après tu REVOKE et tu attribues juste les droits nécessaires

  8. #8
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    GRANT ALL ? Je ne connais pas...pas sur la 10gR2 en tout cas.

    Je viens de supprimer mon ancien ROLE et créer un nouveau tout frais qui permettra de faire uniquement la selection et l'execution des requêtes/procédure...etc aucune modification.

    Je me connecte avec l'utilisateur en question et j’exécute les requêtes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select 'GRANT SELECT ANY TABLE '||table_name||' to dev;' from user_tables;
    select 'GRANT SELECT ANY SEQUENCE '||table_name||' to dev;' from user_tables;
    select 'GRANT EXECUTE ON ANY PACKAGE '||object_name||' to dev;' from user_objects;
    select 'GRANT EXECUTE ON ANY PROCEDURE '||object_name||' to dev;' from user_objects;
    select 'GRANT EXECUTE ON ANY FUNCTION '||object_name||' to dev;' from user_objects;
    select 'GRANT EXECUTE ON ANY TRIGGER '||object_name||' to dev;' from user_objects;
    GRANT dev TO mon_user;
    Le problème ? il ne reconnait pas les tables de mon utilisateur après avoir appliquer le role DEV...

  9. #9
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Alors la nouveauté est que la clause SELECT passe avec mon role mais toujours pas pour les procédures...

  10. #10
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Je sais pas si quelqu'un a une explication logique, mais que je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sessions_privs;
    Je n'ai pas la liste de privilèges que normallement j'ai appliqué sur 8500 tables mais uniquement le SELECT ANY !

    De toute façon j'ai résolu le problème avec des privilèges ANY pour toutes mes tables et ça fonctionne sans soucis.

  11. #11
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par DBA_OCP Voir le message
    Je sais pas si quelqu'un a une explication logique,...
    De toute évidence, vous ne maîtrisez ni les concepts, ni les syntaxes de la gestion des privilèges sous Oracle, par conséquent vous faites n'importe quoi, avec les résultats qui en découlent.

    La bonne solution, c'est de lâcher le clavier un moment, et de se plonger dans la doc ou un livre d'administration pour prendre les choses depuis zéro.

    Il faut notamment avoir les idées claires sur :

    • la différence entre privilèges système et objet
    • la signification de ANY (et pourquoi il ne faut pas l'utiliser en général)
    • la notion de "privilèges du créateur" (definer right) pour les vues et objets PL/SQL et la conséquence pour les objets sous-jacents
    • les rôles

    A partir de là, vos erreurs devraient vous sauter aux yeux.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  12. #12
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Merci pour la leçon

    Je connais bien les rôles Oracle et comment ça marche, sauf que tout le monde peut avoir des ambiguïtés des fois c'est tout à fait normal.

    Ce n'est pas parce que ANY n'est pas conseillé à utiliser que je vais pas le faire. Je connais mon besoin mieux que quiconque.

    Pas la peine de traiter une autre personne d'ignorant alors qu'on ne s'ait pas ce qu'on vaux nous même déjà.

    Le problème est résolu en tout cas.

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

Discussions similaires

  1. Créer un wizard qui permet de créer une visual class
    Par nicolas33400 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/08/2010, 16h53
  2. Réponses: 2
    Dernier message: 29/08/2008, 14h17
  3. Créer un bouton print qui n'imprime que la valeur d'un div
    Par jeremygata dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/06/2008, 17h40
  4. que choisir svp? créer un programme qui agirait en fonction d'une page internet
    Par tonyb13 dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 07/12/2007, 13h29
  5. [C# 2.0] MaskedTextBox qui ne permet que des valeurs numériques
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 9
    Dernier message: 01/09/2006, 10h33

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