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 :

Audit des changements de logins


Sujet :

Administration SQL Server

  1. #1
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut Audit des changements de logins
    Bonjour,

    Suite à une petite tempête dans un verre d'eau ce matin au sein de mon département de TI J'aimerais savoir quelle serait la meilleure manière d'auditer les changements au niveau des Logins et des Users...

    Nous avons des serveurs SQL 2000, 2005 et 2008. Nous travaillons à migrer le serveur 2000 vers 2008, mais c'est long et pénible puisque nous avons beaucoup de DTS. Bref cela n'est pas la question.

    Ce matin j'ai travaillé sur le serveur 2005 (via la console 2008), et j'ai vu que par défaut, SQL enregistre des rapports. Dans SSMS, dans le menu contextuel du serveur, je sélectionne reports, strandard reports et j'ai utilisé le Schema Changes History.

    Est-ce possible de le personnaliser ?

    Y-a-t-il d'autres moyens de savoir quels furent les changements au niveau des logins, par exemple?

    Merci
    Rien n'est impossible à celui qui n'a pas à le faire
    DBA. Je travaille avec SQL-9, SQL-10

  2. #2
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par Baquardie Voir le message
    Bonjour,
    Y-a-t-il d'autres moyens de savoir quels furent les changements au niveau des logins, par exemple?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT name AS [Nom de connexion utilisateur],
           dbname AS [Nom base par défaut], 
           createdate AS [Date de creation connexion],
           updatedate AS [Date de mise à jour connexion]
    FROM master.dbo.syslogins
    A+
    Etienne ZINZINDOHOUE
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    syslogins est obsolète dès SQL Server 2005, et remplacée par sys.server_principals.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT	name
    	, create_date
    	, modify_date
    FROM	sys.server_principals
    WHERE	type_desc IN ('SQL_LOGIN', 'WINDOWS_LOGIN', 'WINDOWS_GROUP', 'CERTIFICATE_MAPPED_LOGIN', 'ASYMMETRIC_KEY_MAPPED_LOGIN')
    Y-a-t-il d'autres moyens de savoir quels furent les changements au niveau des logins, par exemple?
    Pour avoir un historique plus ancien non.
    Souhaitez-vous auditer tous les changements sur les logins ?

    @++

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Hello,

    Également à partir de SQL 2005, il y a les traces par défaut. Elles doivent se trouver sous le répertoire ~MSSQL...\LOG sur chaque instance. Elles contiennent tous les évènements Security Audit (ajout de logins/users, ajout de membre dans un rôle, ajout de rôle, changement de dbo, etc...), elles sont lisibles comme n'importe quelle trace SQL (via profiler par exemple).

    David B.
    David B.

  5. #5
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    En fait je n'avais pas précisé dans ma requête initiale, mais je cherchais à également auditer les effacement de logins et users. La vue sys.server_principals ne contient pas assez d'information, je ne sais pas en effet qui a effectué la modification, ni en quoi consiste cette modification. Et evidemment elle ne contient pas les logins effacés.

    dbaffaleuf -- C'est justement de ces traces que je parlais, elles sont accessibles également via une requête. Je me demandais juste si c'était possible de les modifier. Comme par exemple je n'ai pas de contrôle sur la fenêtre de temps qui est conservée.
    Rien n'est impossible à celui qui n'a pas à le faire
    DBA. Je travaille avec SQL-9, SQL-10

  6. #6
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut
    Voici la requête que j'utilise pour interroger le fichier trace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select evt.name, trc.*
    from fn_trace_gettable('s:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log_15.trc',default) as trc
    join sys.trace_events as evt on trc.EventClass = evt.trace_event_id
    order by startTime
    Rien n'est impossible à celui qui n'a pas à le faire
    DBA. Je travaille avec SQL-9, SQL-10

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Il m'avait semblé que tu faisait plutôt référence aux rapports SSMS.

    Il n'y a pas de fenêtre de temps, je ne vois pas bien ce que tu veux dire. S'il s'agit de rétention, alors tant que le paramètre 'default trace enabled' est à 1 et qu'il reste de l'espace disque, les traces seront générées. Je ne crois pas que tu puisses la customiser, un sp_trace_setevent sur la trace par défaut renvoie une erreur 19070:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    declare @traceid int, @eventid int, @colid int, @on bit
    select @traceid=1, @eventid=10, @colid=1, @on=1
    exec sp_trace_setevent @traceid, @eventid, @colid, @on
     
    Msg*19070, Niveau*16, État*2, Procédure*sp_trace_setevent, Ligne*1
    Impossible d'arrêter ou de modifier la trace par défaut. Utilisez SP_CONFIGURE pour la désactiver.
    Maintenant, rien ne t'empêche de t'en inspirer et de te créer tes propres traces...

    David B.
    David B.

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

Discussions similaires

  1. Y a-t-il eu des changements dans les rangs du forum ?
    Par pepper18 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 12/06/2006, 15h52
  2. Gestion des changements de schema
    Par rozwel dans le forum Oracle
    Réponses: 1
    Dernier message: 08/05/2006, 17h57
  3. Changement de login...
    Par luta dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 07/04/2006, 15h54
  4. Audit des performances d'une application Web
    Par jpg dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 16/09/2004, 10h45

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