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

Sybase Discussion :

[ASE]Droit d'utilisateur sur des bdd


Sujet :

Sybase

  1. #1
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut [ASE]Droit d'utilisateur sur des bdd
    Bonjour,

    Je sais que cette question peut paraitre un peut bête mais comment faire pour définir les droits d'un utilisateur (sous sybase ASE 15) comme suis :
    - Il doit pouvoir créer de nouvelle DB commencant systématiquement par nicolas_ et doit pouvoir les droper et faire ce qu'il veut dessus.
    - Il ne peut avoir aucun droit sur les autres DB de Sybase ou de tout autre utilisateur.

    Merci d'avance,

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Pour pouvoir créer une nouvelle BD il faut avoir les droits "sa_role" - et une fois qu'on a ce droit on peut évidemment tout faire.

    Donc il s'agit de trouver un moyen de donner ce droit de façon très selective. A priori je ne vois que la creation d'une procédure stockée qui créerait ces nouvelles bases. Rob Vershoor a decrit une technique qui consiste à créer un role spécial pour donner le role sa_role de façon limitée (voir http://www.sypron.nl/grant_sa.html). On pourrait combiner cette technique avec une proc qui créé la nouvelle base, qqch comme:
    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
     
    create proc create_base
    (@nom varchar(20)
    , @taille int
    , @device varchar(20))
    as
    declare @cmd varchar(100)
            , @base varchar(30)
     
    -- ici on met le role sa_role, via la technique de Rob V.
    ...
     
    -- ensuite on créé la base avec un execute immediate:
    select @base='nicolas_'+@base
     
    select @cmd="create database "+@base+" on "
          +@device+"="+convert(varchar(5), @taille) + "M"
     
    exec (@cmd)
     
    exec @base..sp_changedbowner 'nicolas'
    Evidemment il faudrait probablement ajouter d'autres options (comme le LOG ON ...), mais cela donne peut-être suffisamment d'idées pour avancer?

    Michael

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/10/2010, 11h08
  2. Reglage des droits utilisateur sur accès bdd sql
    Par zax-tfh dans le forum Administration
    Réponses: 4
    Dernier message: 06/01/2010, 15h26
  3. Droit en écriture sur des fichiers
    Par HULK dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/10/2007, 10h09
  4. Réponses: 3
    Dernier message: 30/08/2007, 15h41
  5. [VB.net] donner droits d'acces sur des fichiers
    Par pikho dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/06/2006, 09h33

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