Procedura: Autorizzazione di accesso alla rete per Service Broker mediante certificati (Transact-SQL)
Per consentire a un'altra istanza l'invio di messaggi mediante la protezione del trasporto di Service Broker basata sui certificati, creare un utente e installare il certificato per l'altra istanza.
Per consentire l'accesso da un'altra istanza mediante certificati
Ottenere il certificato per l'altra istanza da una fonte attendibile. In genere, questo comporta l'invio del certificato mediante un messaggio di posta elettronica crittografato o il trasferimento del certificato per mezzo di un supporto fisico, ad esempio un disco floppy.
Nota sulla protezione: Installare i certificati solo da fonti attendibili. Creare un account di accesso.
Creare un utente per l'account di accesso nel database master.
Installare il certificato per l'altra istanza nel database master. L'utente creato nel passaggio 3 è il proprietario del certificato.
Concedere l'accesso CONNECT per l'endpoint di Service Broker all'account di accesso.
Eseguire il dump del certificato utilizzato per la protezione del trasporto di Service Broker nell'istanza locale.
Nota sulla protezione: Eseguire solo il dump del certificato utilizzato per la protezione del trasporto. Non eseguire il dump né distribuire la chiave privata associata al certificato. Fornire il certificato all'amministratore dell'altro database. L'amministratore del database remoto installerà il certificato seguendo i passaggi da 1 a 4 precedenti.
Dopo la configurazione dell'accesso in ogni istanza, per le comunicazioni tra le due istanze verrà utilizzata la protezione del trasporto di Service Broker se per gli endpoint di entrambe le istanze è configurata la protezione del trasporto.
Esempio
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
Vedere anche
Attività
Procedura: Creazione di certificati per la protezione del trasporto di Service Broker (Transact-SQL)
Altre risorse
CREATE CERTIFICATE (Transact-SQL)
CREATE LOGIN (Transact-SQL)
CREATE USER (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)