Procedure: Service Broker-netwerktoegang toestaan met behulp van certificaten (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Als u wilt toestaan dat een ander exemplaar berichten verzendt met behulp van transportbeveiliging op basis van certificaten, maakt u een gebruiker voor het andere exemplaar en installeert u het certificaat voor het andere exemplaar.

Toegang vanaf een ander exemplaar toestaan met behulp van certificaten

  1. Haal het certificaat voor het andere exemplaar op bij een vertrouwde bron. Dit omvat meestal het verzenden van het certificaat met versleutelde e-mail of het overdragen van het certificaat op fysieke media, zoals een diskette.

    Opmerking

    Installeer alleen certificaten van vertrouwde bronnen.

  2. Maak een aanmelding.

  3. Maak een gebruiker voor de aanmelding in de master database.

  4. Installeer het certificaat voor het andere exemplaar in de master database. De gebruiker die in stap 3 is gemaakt, is eigenaar van het certificaat.

  5. Ververleent de aanmelding CONNECT toegang tot het Service Broker-eindpunt.

  6. Dump het certificaat dat wordt gebruikt voor Service Broker-transportbeveiliging in het lokale exemplaar.

    Opmerking

    Dump alleen het certificaat dat wordt gebruikt voor transportbeveiliging. Dump of distribueer de persoonlijke sleutel die is gekoppeld aan het certificaat niet.

  7. Geef het certificaat op aan de beheerder van de andere database. De beheerder van de externe database installeert dit certificaat met behulp van de vorige stappen 1 - 4.

Zodra de toegang in elk exemplaar is geconfigureerd, gebruikt de communicatie tussen de twee exemplaren Service Broker-transportbeveiliging wanneer de eindpunten voor beide exemplaren zijn geconfigureerd om transportbeveiliging mogelijk te maken.

Voorbeelden

USE master;
GO

-- Create a login for the remote instance.
CREATE LOGIN RemoteInstanceLogin WITH PASSWORD = '<password>';
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