Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre habitué
    Inscrit en
    juin 2002
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 266
    Points : 131
    Points
    131

    Par défaut DB et utilisateur

    Bonjour,

    Je lis ça et que SYSDBA n'est pas destiné à être propriétaire des bases, qu'il ne devrait jamais être utilisé etc...
    Bon vu que je me suis plongé dans la gestion des users bien longtemps après la création de la base il est trop tard pour moi

    J'aimerais donc maintenant :
    1. créer un utilisateur "admin" qui remplace SYSDBA et ait tous les droits
    2. transférer la "propriété" de la base à cet "admin"
    3. créer un utilisateur "user" qui ait seulement un droit de consultation (SELECT sur toutes les tables)

    J'ai commencé par le (3) mais vu que cette syntaxe ne fonctionne pas :
    Code :
    1
    2
    3
    GRANT SELECT 
    ON *
    TO USER
    .. y a-t'il un moyen de granter le select sur toutes les tables à la fois sans se les taper 1 par 1 ? Car les tables séparées de virgules ça ne passe pas non plus. Et j'en ai 94

    Pour le (1) quelle est la façon de procéder la plus simple ? Peut-on dupliquer SYSDBA ?
    Le (2) est-il possible ?

    Du coup question pratique :
    4. toute nouvelle base créée doit être précédée d'une création d'user ?

    Merci de m'éclairer..

  2. #2
    Membre habitué
    Inscrit en
    juin 2002
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 266
    Points : 131
    Points
    131

    Par défaut

    Bon j'ai trouvé ici pour le (3), qui n'est donc pas possible. Génial

  3. #3
    Expert Confirmé

    Homme Profil pro Philippe Makowski
    Consultant spécialité Firebird
    Inscrit en
    mai 2002
    Messages
    2 312
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Makowski
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 2 312
    Points : 3 559
    Points
    3 559

    Par défaut

    1. créer un utilisateur "admin" qui remplace SYSDBA et ait tous les droits
    ben ça c'est simple, le propriétaire de la base est l'équivalent de SYSDBA pour la base
    2. transférer la "propriété" de la base à cet "admin"
    changer le propriétaire d'une base est un peu plus pénible
    le plus simple c'est créer une base vide puis y transferer les données
    sinon un restore avec le user qui deviendra donc le propriétaire, mais dans ce cas il peut y avoir un peu de mémange à faire
    cf http://blog.upscene.com/thomas/index...y080730-233217
    http://www.firebirdfaq.org/faq108/
    3. créer un utilisateur "user" qui ait seulement un droit de consultation (SELECT sur toutes les tables)
    ça c'est juste la création d'un utilisateur puis un ensemble de grant dans la base
    DatabaseWorkbench à une option pour générer tous les grant très pratique
    4. toute nouvelle base créée doit être précédée d'une création d'user ?
    oui, le user doit exister avant la base


    PS depuis la 2.5 il y a d'autres possibilités avec RDB$ADMIN http://firebirdsql.org/rlsnotesh/rls...#rnfb25-prvlgs
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  4. #4
    Membre habitué
    Inscrit en
    juin 2002
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 266
    Points : 131
    Points
    131

    Par défaut

    Merci pour ces précisisons.

    Ma base appartient donc à SYSDBA, si je comprends bien après avoir créé un nouvel "admin" je peux soit :
    1. lui transférer la propriété avec les méthodes que tu cites
    2. recréer une base vide et y copier le contenu de la 1ère

    J'ai commencé par tenter le (2) de cette manière (sous Database Workbench) :
    > backup de la base "source"
    > création nouvelle base
    > restore de la source dans la nouvelle

    A priori presque tout s'est bien passé ; je peux effectuer des requêtes mais quand je veux dérouler l'arborescence de tables ou de vues j'ai ce message d'erreur :
    Error while fetching metadata information for tables and/or views.

    Error:

    ISC ERROR CODE:335544565

    ISC ERROR MESSAGE:
    Cannot transliterate character between character sets
    J'ai pourtant utilisé les mêmes charset, pagesize...
    Qu'est-ce qui a pu foirer ?

    Citation Envoyé par makowski
    DatabaseWorkbench à une option pour générer tous les grant très pratique
    Tu dois vouloir parler du "grant manager" malheureusement je n'ai que la version lite

  5. #5
    Membre habitué
    Inscrit en
    juin 2002
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 266
    Points : 131
    Points
    131

    Par défaut

    OK j'y suis arrivé avec IBExpert.

    Mais bon je voulais faire ça dans un souci de sécuriser ma base (distribuée avec l'appli) et je découvre ceci alors....

    Once a person has physical access to a database file there is no effective way to prevent that user from reading all data (and metadata) within that file.

    Je n'ai pas cherché la bonne solution dirait-on !
    Merci quand même j'aurai appris des choses

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •