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 :

Désactiver un login pour une période bien définie [2008]


Sujet :

Administration SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Points : 36
    Points
    36
    Par défaut Désactiver un login pour une période bien définie
    Bonjour,

    est ce qu'il y a une possibilité pour désactiver un login sql server pour une durée bien déterminé (temporairement) en utilisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER LOGIN [USER] DISABLE
    par exemple, je veux bloquer un utilisateur du 13/07/2016 au 20/07/2016 uniquement puis il revient activé à la fin de cette période.

    Cordialement,

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Hello,

    A ma connaissance non ce n'est pas possible.

    Maintenant une solution de contournement consisterait à utiliser un job SQL qui s'exécutera selon ton planning défini et qui désactivera et réactivera le compte concerné

    ++

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Points : 36
    Points
    36
    Par défaut
    Re,

    donc je dois créer deux jobs, un pour la désactivation et l'autre pour réactiver le compte ?

    quelle est la commande pour désactiver également la connexion au moteur base de données ?

    Merci.

  4. #4
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    C'est beaucoup de chipotage, sauf si bien sûr tu es en vacances et est le seul à pouvoir le faire.

    Citation Envoyé par free_dom Voir le message
    quelle est la commande pour désactiver également la connexion au moteur base de données ?
    Si tu désactives le login, il n'aura plus accès ni à la DB ni à l'instance. Car ton login donne accès à l'instance et le user à la DB. Ici on désactive le login donc...

    Tu peux donc créer 2 jobs

    Pour la commande :

    ALTER LOGIN login_name DISABLE

    ALTER LOGIN login_name ENABLE

    Quand tu ne sais pas, soit tu demandes à google soit tu vas le faire graphiquement via SSMS. Tu fais tes modifications et ensuite tu cliques sur "script" et la il va te générer le script à mettre dans ton job. Tu penses dans ce cas à faire cancel après. Et voilà tu as ton code.
    Ce que nous avons fait pour nous-même meurt avec nous, ce que nous avons fait pour les autres et le monde est immortel. Albert Pike

    http://www.datacrossroad.be

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Points : 36
    Points
    36
    Par défaut
    Bonsoir,

    Je vous remercie de vos réponses, et la commande pour désactiver la connexion au moteur BD que j'ai récupéré via le script est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Deny connect sql to [user]
    Merci beaucoup.

  6. #6
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Dans l'absolu j'aurais créé un seul job avec 2 planifications .. question de goût ^^

    Une seule étape SQL du genre:

    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
    if exists (
    	select 
    		name, is_disabled
    	from sys.server_principals
    	where name = N'test_login'
    	and is_disabled = 0)
    begin
    	print 'disabling login in progress ...'
    	alter login test_login disable;
     
    	return;
    end
     
    if exists (
    	select 
    		name, is_disabled
    	from sys.server_principals
    	where name = N'test_login'
    	and is_disabled = 1)
    begin
    	print 'enabling login in progress ...'
    	alter login test_login enable;
    end
    ++

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Dans l'absolu j'aurais créé un seul job avec 2 planifications .. question de goût ^^
    Une seule étape SQL du genre:
    C'est fin et techniquement, j'apprécie ça.
    Mais surtout, c'est le genre de truc à double tranchant, si pour une raison ou une autre le job est lancé une nouvelle fois, lors de test, par inadvertance, par le chat ou par le collègue qui comprend jamais rien, le statut de l’utilisateur sera l'inverse de l'effet attendu.
    Pourquoi faire simple quand on peut faire compliquer
    Mais bon, on s'entend que ça reste surtout une affaire de goût.

  8. #8
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Mais surtout, c'est le genre de truc à double tranchant, si pour une raison ou une autre le job est lancé une nouvelle fois, lors de test, par inadvertance, par le chat ou par le collègue qui comprend jamais rien, le statut de l’utilisateur sera l'inverse de l'effet attendu.
    Clairement! Il faut en prérequis bien maitriser "l'environnement" où on le place et écrire dans le descriptif du job !!! NE PAS TOUCHER SOUS PEINE DE ... !!! :-)

    Ceci dit remarque très pertinente et on pourrait presque rajouter une clause de date puisqu'ici cela s'y prête bien dans ce cas. Ainsi on garantirait que personne ne viendrait compromettre le besoin initiale.
    Le coup des 2 jobs ne permet pas non plus de se prémunir contre une erreur humaine mais bon on chipote là

    ++

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Points : 36
    Points
    36
    Par défaut
    Merci mikedavem pour votre solution optimale,
    pour vous expliquer mon besoin à faire ça, c'est par rapport aux départs en congé des utilisateurs,
    donc je me retrouve obligé à désactiver le login de ces utilisateurs pendant la période de leurs congés.
    afin d'éviter toute utilisation malintentionné de ces logins.

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 716
    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 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par free_dom Voir le message
    ....

    quelle est la commande pour désactiver également la connexion au moteur base de données ?

    Merci.
    Toute connexion est dotée par défaut du privilège CONNECT lors de sa création. Il suffit de lui retirer avec un REVOKE.

    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/ * * * * *

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 716
    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 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par free_dom Voir le message
    Bonsoir,

    Je vous remercie de vos réponses, et la commande pour désactiver la connexion au moteur BD que j'ai récupéré via le script est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Deny connect sql to [user]
    Merci beaucoup.
    Cela interdit la pose de privilège et c'est à mon sens une im bécilité !

    Utilisez REVOKE.

    parce que le DENY superpose les privilèges... AInsi votre connection aura le privilège GRANT CONNECT et le privilège DENY CONNECT.
    En utilisant REVOKE vous supprimez le GRANT .... C'est plus clair et évite des logorrhées de commandes stockées dans les tables systèmes !

    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/ * * * * *

  12. #12
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Points : 36
    Points
    36
    Par défaut
    Je vous remercie de vos réponses et vos conseils.

    A +

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

Discussions similaires

  1. [CR XI] Calcul ne nombre de samedi et dimanche pour une période
    Par 007max31 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 26/08/2009, 17h07
  2. [CR 2008] Groupement pour une période
    Par campia dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 26/02/2009, 12h32
  3. faire une somme pour une période
    Par cdevl32 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 18/03/2008, 16h26
  4. Comment désactiver un logiciel après une période ?
    Par developper2006 dans le forum Outils
    Réponses: 4
    Dernier message: 16/12/2007, 22h23
  5. [CR] Filtrer pour une période donnée
    Par liberio dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 21/04/2004, 17h32

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