Modèle de sécurité de l'Agent de réplication

Mis à jour : 12 décembre 2006

Le modèle de sécurité de l'Agent de réplication permet un contrôle fin des comptes sous lesquels les agents de réplication s'exécutent et établissent des connexions : un compte distinct peut être spécifié pour chaque agent. Pour plus d'informations sur la définition des comptes, consultez Gestion des connexions et des mots de passe dans la réplication.

ms151868.note(fr-fr,SQL.90).gifImportant :
Lorsqu'un membre du rôle de serveur fixe sysadmin configure la réplication, les agents de réplication peuvent être configurés pour emprunter l'identité du compte de l'Agent SQL Server. Il suffit de ne pas spécifier de nom de connexion et de mot de passe pour un Agent de réplication ; toutefois, cette méthode n'est pas recommandée. Pour des raisons de sécurité, il est plutôt recommandé de spécifier un compte pour chaque agent, disposant des autorisations minimales décrites dans la section « Autorisations requises par les agents » plus loin dans cette rubrique.

Comme tous les exécutables, les agents de réplication sont exécutés dans le contexte d'un compte Windows. Les agents établissent des connexions de sécurité intégrée Windows en utilisant ces comptes. Le compte sous lequel l'agent s'exécute dépend de la manière dont l'agent est démarré :

  • Démarrage de l'agent à partir d'un travail de l'Agent SQL Server (par défaut) : lorsqu'un travail de l'Agent SQL Server sert à démarrer un agent de réplication, l'agent s'exécute dans le contexte d'un compte que vous spécifiez lors de la configuration de la réplication. Pour plus d'informations sur l'Agent SQL Server et la réplication, consultez la section « Sécurité de l'Agent dans l'Agent SQL Server » plus loin dans cette rubrique. Pour plus d'informations sur les autorisations requises pour le compte sous lequel s'exécute l'Agent SQL Server, consultez Configuration de l'Agent SQL Server.
  • Démarrage de l'agent à partir d'une ligne de commande MS-DOS, directement ou via un script : l'agent s'exécute dans le contexte du compte de l'utilisateur exécutant l'agent sur la ligne de commande.
  • Démarrage de l'agent à partir d'une application qui utilise des objets RMO (Replication Management Objects) ou un contrôle ActiveX : l'agent s'exécute dans le contexte de l'application appelant RMO ou le contrôle ActiveX.
    ms151868.note(fr-fr,SQL.90).gifRemarque :
    Les contrôles ActiveX sont désapprouvés.

Il est recommandé d'établir les connexions dans le contexte de sécurité intégrée Windows. Pour des besoins de compatibilité descendante, la sécurité SQL Server peut également être utilisée. Pour plus d'informations sur les meilleures pratiques, consultez Méthodes préconisées en matière de sécurité de réplication.

Autorisations requises par les agents

Les comptes sous lesquels les agents s'exécutent et établissent des connexions nécessitent différentes autorisations. Ces autorisations sont décrites dans le tableau suivant. Il est recommandé d'exécuter chaque agent sous un compte Windows différent et d'accorder au compte uniquement les autorisations nécessaires. Pour plus d'informations sur la liste d'accès à la publication (PAL, Publication Access List), qui concerne un certain nombre d'agents, consultez Sécurisation du serveur de publication.

ms151868.note(fr-fr,SQL.90).gifRemarque :
La fonctionnalité Contrôle de compte d'utilisateur disponible dans Windows Vista peut empêcher l'accès administratif au partage de fichiers de captures instantanées. Vous devez donc octroyer explicitement des autorisations sur le partage de fichiers de captures instantanées aux comptes Windows qui sont utilisés par l'Agent de capture instantanée, l'Agent de distribution et l'Agent de fusion. Vous devez effectuer cette opération même si les comptes Windows sont membres du groupe Administrateurs. Pour plus d'informations, consultez Sécurisation du dossier de capture instantanée.
Agent Autorisations

Agent de capture instantanée

Le compte Windows sous lequel s'exécute l'agent sert à se connecter au serveur de distribution. Ce compte doit obligatoirement :

  • être au moins membre du rôle de base de données fixe db_owner dans la base de données de distribution ;
  • disposer d'autorisations d'écriture sur le partage de fichiers de captures instantanées ;

Le compte utilisé pour se connecter au serveur de publication doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données de publication.

Agent de lecture du journal

Le compte Windows sous lequel s'exécute l'agent est utilisé pour se connecter au serveur de distribution. Ce compte doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données de distribution.

Le compte utilisé pour se connecter au serveur de publication doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données de publication.

Agent de distribution pour un abonnement par envoi de données (push)

Le compte Windows sous lequel s'exécute l'agent est utilisé pour se connecter au serveur de distribution. Ce compte doit obligatoirement :

  • être au moins un membre du rôle de base de données fixe db_owner dans la base de données de distribution ;
  • être membre de la liste d'accès à la publication (PAL) ;
  • avoir les autorisations de lecture sur le partage des fichiers de captures instantanées.
  • disposer d'autorisations d'écriture sur le répertoire d'installation du fournisseur OLE DB pour l'Abonné si l'abonnement est destiné à un Abonné non SQL Server.

Le compte employé pour se connecter à l'Abonné doit disposer au moins du rôle de base de données fixe db_owner dans la base de données d'abonnement ou bien d'autorisations équivalentes si l'abonnement s'adresse à un Abonné non SQL Server.

Agent de distribution pour un abonnement par extraction de données (pull)

Le compte Windows sous lequel s'exécute l'agent est utilisé pour se connecter à l'Abonné. Ce compte doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données d'abonnement.

Le compte servant à se connecter au serveur de distribution doit obligatoirement :

  • être membre de la liste d'accès à la publication (PAL) ;
  • avoir les autorisations de lecture sur le partage des fichiers de captures instantanées.

Agent de fusion pour un abonnement par envoi de données (push)

Le compte Windows sous lequel s'exécute l'agent est utilisé pour se connecter au serveur de publication et au serveur de distribution. Ce compte doit obligatoirement :

  • être au minimum membre du rôle de base de données fixe db_owner dans la base de données de distribution ;
  • être membre de la liste d'accès à la publication (PAL) ;
  • être un compte de connexion associé à un utilisateur enregistré dans la base de données de publication ;
  • avoir les autorisations de lecture sur le partage des fichiers de captures instantanées.

Le compte utilisé pour se connecter à l'Abonné doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données d'abonnement.

Agent de fusion pour un abonnement par extraction de données (pull)

Le compte Windows sous lequel s'exécute l'agent est utilisé pour se connecter à l'Abonné. Ce compte doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données d'abonnement.

Le compte servant à se connecter au serveur de publication et au serveur de distribution doit obligatoirement :

  • être membre de la liste d'accès à la publication (PAL) ;
  • être un compte de connexion associé à un utilisateur enregistré dans la base de données de publication ;
  • être un compte de connexion associé à un utilisateur enregistré dans la base de données de distribution ; l'utilisateur peut être un Guest ;
  • avoir les autorisations de lecture sur le partage des fichiers de captures instantanées.

Agent de lecture de la file d'attente

Le compte Windows sous lequel s'exécute l'agent est utilisé pour se connecter au serveur de distribution. Ce compte doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données de distribution.

Le compte utilisé pour se connecter au serveur de publication doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données de publication.

Le compte utilisé pour se connecter à l'Abonné doit être au minimum membre du rôle de base de données fixe db_owner dans la base de données d'abonnement.

Sécurité de l'Agent dans SQL Server Agent

Lorsque vous configurez la réplication à l'aide de procédures SQL Server Management Studio, Transact-SQL ou RMO, un travail de l'Agent SQL Server est créé par défaut pour chaque agent. Les agents s'exécutent ensuite dans le contexte d'une étape de travail, qu'ils s'exécutent en continu, dans le cadre d'une planification ou à la demande. Vous pouvez afficher ces travaux dans le dossier Jobs de SQL Server Management Studio. Le tableau suivant donne la liste des noms des travaux.

Agent Nom du travail

Agent de capture instantanée

<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<entier>

Agent de capture instantanée pour une partition de publication de fusion

Dyn_<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<GUID>

Agent de lecture du journal

<ServeurPublication>-<BaseDonnéesPublication>-<entier>

Agent de fusion pour abonnements par extraction de données (pull)

<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<Abonné>-<BaseDonnéesAbonnement>-<entier>

Agent de fusion pour abonnements par envoi de données (push)

<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<Abonné>-<entier>

Agent de distribution pour abonnements par envoi de données (push)

<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<Abonné>-<entier>1

Agent de distribution pour abonnements par extraction de données (pull)

<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<Abonné>-<BaseDonnéesAbonnement>-<GUID>2

Agent de distribution des abonnements par envoi de données destinés à des Abonnés non-SQL Server

<ServeurPublication>-<BaseDonnéesPublication>-<Publication>-<Abonné>-<entier>

Agent de lecture de la file d'attente

[<ServeurDistribution>].<entier>

1 Pour les abonnements par envoi de données sur les publications Oracle, le nom de travail est <ServeurPublication>-<ServeurPublication> au lieu de <ServeurPublication>-<BaseDonnéesPublication>.

2 Pour les abonnements par extraction de données sur les publications Oracle, le nom de travail est <ServeurPublication>-<BaseDonnéesDistribution> au lieu de <ServeurPublication>-<BaseDonnéesPublication>.

Lorsque vous configurez la réplication, vous spécifiez les comptes sous lesquels les agents doivent être exécutés. Cependant, toutes les étapes de travail s'exécutent dans le contexte de sécurité d'un proxy ; la réplication effectue donc les mappages suivants en interne pour les comptes d'agent spécifiés :

  • Le compte est d'abord mappé à des informations d'identification à l'aide de l'instruction Transact-SQL CREATE CREDENTIAL. Les proxys d'Agent SQL Server utilisent les informations d'identification pour stocker les informations relatives aux comptes d'utilisateur Windows.
  • La procédure stockée sp_add_proxy est appelée et les informations d'identification sont utilisées pour créer un proxy. Pour plus d'informations sur les proxys, consultez Création de proxys d'Agent SQL Server.
ms151868.note(fr-fr,SQL.90).gifRemarque :
Ces informations sont fournies pour vous aider à comprendre les conséquences de l'exécution d'agents dans le contexte de sécurité approprié. Il ne devrait pas être nécessaire d'interagir directement avec les informations d'identification ou les proxys qui ont été créés.

Voir aussi

Concepts

Méthodes préconisées en matière de sécurité de réplication
Sécurisation du dossier de capture instantanée

Autres ressources

Considérations de sécurité pour la réplication

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Contenu modifié :
  • Ajout d'une note sur les exigences du dossier de captures instantanées spécifiques à Windows Vista.