Procédure : autoriser l'accès au réseau Service Broker par le biais de certificats (Transact-SQL)

Pour permettre à une autre instance d'envoyer des messages en utilisant la sécurité du transport Service Broker, créez un utilisateur pour cette autre instance et installez son certificat.

Pour autoriser l'accès depuis une autre instance à l'aide de certificats

  1. Procurez-vous le certificat pour cette autre instance auprès d'une source fiable. Cette opération implique généralement l'envoi du certificat au moyen d'un courrier électronique chiffré ou son transfert via un support physique tel qu'une disquette.

    ms166077.security(fr-fr,SQL.90).gifRemarque relative à la sécurité :
    Installez uniquement des certificats provenant de sources fiables.
  2. Créez une connexion.

  3. Créez un utilisateur pour cette connexion dans la base de données master.

  4. Installez le certificat pour l'autre instance dans la base de données master. L'utilisateur créé à l'étape 3 est propriétaire du certificat.

  5. Accordez à la connexion l'accès CONNECT sur le point de terminaison Service Broker.

  6. Sauvegardez le certificat utilisé pour la sécurité du transport Service Broker dans l'instance locale.

    ms166077.security(fr-fr,SQL.90).gifRemarque relative à la sécurité :
    Conservez uniquement le certificat utilisé pour la sécurité du transport. N'effectuez ni sauvegarde ni distribution de la clé privée associée au certificat.
  7. Fournissez le certificat à l'administrateur de l'autre base de données. L'administrateur de la base de données distante installe ce certificat en suivant les étapes 1 à 4 décrites plus haut.

Une fois l'accès configuré dans chaque instance, les communications entre ces deux instances utilisent la sécurité du transport Service Broker dès que leurs points de terminaison sont configurés pour autoriser la sécurité du transport.

Exemple

USE master ;
GO

-- Create a login for the remote instance.

CREATE LOGIN RemoteInstanceLogin
    WITH PASSWORD = '#gh!3A%!1@f' ;
GO

-- Create a user for the login in the master database.

CREATE USER RemoteInstanceUser
    FOR LOGIN RemoteInstanceLogin ;
GO

-- Load the certificate from the file system. Notice that
-- the login owns the certificate.

CREATE CERTIFICATE RemoteInstanceCertificate
    AUTHORIZATION RemoteInstanceUser
    FROM FILE='C:\Certificates\AceBikeComponentsCertificate.cer' ;
GO
GRANT CONNECT ON ENDPOINT::ThisInstanceEndpoint to RemoteInstanceLogin ;
GO
-- Write the certificate from this instance
-- to the file system. This command assumes
-- that the certificate used by the Service Broker
-- endpoint is named TransportSecurity.

BACKUP CERTIFICATE TransportSecurity
    TO FILE = 'C:\Certificates\ThisInstanceCertificate.cer' ;
GO

Voir aussi

Tâches

Procédure : créer des certificats pour la sécurité du transport Service Broker (Transact SQL)

Autres ressources

CREATE CERTIFICATE (Transact-SQL)
CREATE LOGIN (Transact-SQL)
CREATE USER (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005