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 SQL Server Discussion :

Linked server et sécurité


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut Linked server et sécurité
    Bonjour,

    j'ai un petit soucis de sécurité avec des serveurs lié ou même 2 bases de données différente sur le même serveur.

    J'ai d'abord fait tout mes tests en tant que 'sa' (et nous utilisons sa aussi en production, ça fait partie des corrections que je dois apporter a notre logiciel).
    Et mon scénario est assez simple.

    J'ai un trigger en insertion qui rajouter la ligne qu'il a reçu dans une base de donnée distante.

    Le problème est que en tant qu'utilisateur sa tout marche très bien vu que je peux tout faire, mais si je prend un utilisateur 'guest' membre de public il ne peut plus écrire sur le serveur distant.

    Première astuce que j'ai, impersonnalisé sa et donc faire un execute as sa, mais si qq'un s'en rend compte il pourra le faire aussi et je perds de nouveau ma sécurité.

    Deuxième problème notre utilisateur utilise un application role (qui lui donne des droits en écriture), mais qd mon utilisateur a son application role, je ne peux plus utiliser mon impersonnalisation.

    Ma question est donc comment puis je règler mon soucis de sécurité pour que cela fonctionne?

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Il faut créer des comptes utilisateurs spécifique et au niveau du mappage entre les serveur lié définir la correspondance des comptes par la procédure sp_addlinkedsrvlogin.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    Merci je n'avais plus pensé a cela vendredi

    Mais un problème se pose toujours.

    Mon utilisateur est un compte sans droit, il peut lire des données mais pas en écrire.

    Il peut écrire grâce a un application role que l'on lui définit (drole de stratégie j'en conviens).

    Donc de mon coté si j'utilise cet utilisateur des 2 cotés, en supposant qu'il le retrouve une fois l'application role associé a mon login, il n'aura aucun droit en écriture sur l'autre serveur.
    Donc qd mon trigger du serveur A va essayer de faire un insert into serveurB.dbb.dbo.matable .... il va me dire que je n'ai pas de droit en écriture.

    Ce que je voudrais faire en fait c'est un utilisateur A se connecte sur ma db A il fait des actions qui déclenche un trigger sur une table du serveur A. Ce même trigger va exécuter son code comme un utilisateur B et donc faire mes insert sur mon serveur B.
    Je vais essayer lundi par une procédure stockée si je peux impersonnalisé le code de celle-ci, semblerait que l'on peut. (mais j'ai toujours mon problème d'impersonnalisation d'un utilisateur avec un application role actif) (mon dieu que celui ci m'embete)

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Oui dans ce cas au niveau du trigger utilise le EXECUTE AS.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Linked Server -- Sécurité
    Par Baquardie dans le forum Administration
    Réponses: 0
    Dernier message: 31/08/2010, 17h06
  2. [Sécurité] Linked server & Local windows group
    Par Ptit_Dje dans le forum Administration
    Réponses: 2
    Dernier message: 24/11/2008, 18h27
  3. Requete sur un linked server
    Par Wisefool dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/09/2005, 11h53
  4. Pb cast date sur un linked Server Oracle
    Par bran_noz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/07/2005, 15h50
  5. Utilisation linked server et procédure stockée ?
    Par |DUCATI| DesMo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/03/2005, 12h47

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