Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Service Broker-dialoogvensterbeveiliging moet worden geconfigureerd voor gebeurtenismeldingen die berichten verzenden naar een servicebroker op een externe server. Dialoogveiligheid moet handmatig worden geconfigureerd volgens het Service Broker dialoog volledige-beveiligingsmodel. Het model voor volledige beveiliging maakt versleuteling en ontsleuteling mogelijk van berichten die naar en van externe servers worden verzonden. Hoewel gebeurtenismeldingen in één richting worden verzonden, worden andere berichten, zoals fouten, ook in omgekeerde richting geretourneerd.
Dialoogvensterbeveiliging configureren voor gebeurtenismeldingen
Het proces dat nodig is om de dialoogvensterbeveiliging voor gebeurtenismeldingen te implementeren, wordt beschreven in de volgende stappen. Deze stappen omvatten acties die moeten worden uitgevoerd op zowel de bronserver als de doelserver. De bronserver is de server waarop de gebeurtenismelding wordt gemaakt. De doelserver is de server die het meldingsbericht van de gebeurtenis ontvangt. U moet de acties in elke stap voltooien voor zowel de bronserver als de doelserver voordat u doorgaat met de volgende stap.
Belangrijk
Alle certificaten moeten worden gemaakt met geldige begin- en vervaldatums.
Stap 1: stel een TCP-poortnummer en doelservicenaam in.
Stel de TCP-poort in waarop zowel de bronserver als de doelserver berichten ontvangt. U moet ook de naam van de doelgerichte dienst bepalen.
Stap 2: Versleuteling en certificaatdeling configureren voor verificatie op databaseniveau.
Voer de volgende acties uit op de bron- en doelservers.
| Bronserver | Doelserver |
|---|---|
| Kies of maak een database voor het opslaan van de gebeurtenismelding en de hoofdsleutel. | Kies of maak een database voor het opslaan van de hoofdsleutel. |
| Als er geen hoofdsleutel bestaat voor de brondatabase, maakt u een hoofdsleutel. Een hoofdsleutel is vereist voor zowel de bron- als doeldatabase om hun respectieve certificaten te beveiligen. | Als er geen hoofdsleutel bestaat voor de doeldatabase, maakt u een hoofdsleutel. |
| Maak een aanmelding en een bijbehorende gebruiker voor de brondatabase. | Maak een aanmelding en een bijbehorende gebruiker voor de doeldatabase. |
| Maak een certificaat dat eigendom is van de gebruiker van de brondatabase. | Maak een certificaat dat eigendom is van de gebruiker van de doeldatabase. |
| Maak een back-up van het certificaat naar een bestand dat toegankelijk is voor de doelserver. | Maak een back-up van het certificaat naar een bestand dat toegankelijk is voor de bronserver. |
| Maak een gebruiker, waarbij u de gebruiker van de doeldatabase en ZONDER AANMELDING opgeeft. Deze gebruiker is eigenaar van het doeldatabasecertificaat dat moet worden gemaakt op basis van het back-upbestand. De gebruiker hoeft niet toegewezen te worden aan een login, omdat het enige doel van deze gebruiker is om eigenaar te zijn van het certificaat van de doeldatabase dat is gemaakt in stap 3 hieronder. | Maak een gebruiker aan, waarbij u de gebruiker van de brondatabase specificeert, en zonder LOGIN. Deze gebruiker is eigenaar van het brondatabasecertificaat dat moet worden gemaakt op basis van het back-upbestand. De gebruiker hoeft niet te worden gekoppeld aan een aanmelding, omdat het enige doel van deze gebruiker is om eigenaar te zijn van het brondatabasecertificaat dat gemaakt is in stap 3. |
Stap 3: Certificaten delen en machtigingen verlenen voor verificatie op databaseniveau.
Voer de volgende acties uit op de bron- en doelservers.
| Bronserver | Doelserver |
|---|---|
| Maak een certificaat op basis van het back-upbestand van het doelcertificaat en geef de doeldatabasegebruiker op als eigenaar. | Maak een certificaat op basis van het back-upbestand van het broncertificaat, waarbij de gebruiker van de brondatabase als eigenaar wordt opgegeven. |
| Geef toestemming om de gebeurtenismelding te maken voor de brondatabasegebruiker. Zie CREATE EVENT NOTIFICATION (Transact-SQL) voor meer informatie over deze machtiging. | Verleen REFERENTIES toestemming aan de gebruiker van de doeldatabase voor het bestaande Service Broker-contract voor gebeurtenismeldingen: https://schemas.microsoft.com/SQL/Notifications/PostEventNotification. |
| Maak een externe servicebinding met de doelservice en geef de referenties van de doeldatabasegebruiker op. De externe servicebinding garandeert dat de openbare sleutel in het certificaat dat eigendom is van de brondatabasegebruiker berichten verifieert die naar de doelserver worden verzonden. | Verlenen CREATE QUEUE, CREATE SERVICE en CREATE SCHEMA-machtigingen voor de doeldatabasegebruiker. |
| Als u nog niet bent verbonden met de database als doeldatabasegebruiker, doet u dit nu. | |
| Maak een wachtrij om de berichten over gebeurtenismeldingen te ontvangen en maak een service om de berichten te bezorgen. | |
| Verdeel SEND-machtigingen voor de doelservice aan de brondatabasegebruiker. | |
| Geef de servicebroker-id van de brondatabase op voor de doelserver. Deze id kan worden verkregen door een query uit te voeren op de kolom service_broker_guid van de catalogusweergave sys.databases . Gebruik voor een gebeurtenismelding op serverniveau de servicebroker-id van msdb. | Geef de servicebroker-id van de doeldatabase op aan de bronserver. |
Stap 4: Routes maken en verificatie op serverniveau instellen.
Voer de volgende acties uit op de bron- en doelservers.
| Bronserver | Doelserver |
|---|---|
| Maak een route naar de doelservice en geef de servicebroker-id van de doeldatabase en het overeengekomen TCP-poortnummer op. | Maak een route naar de bronservice en geef de servicebroker-id van de brondatabase en het overeengekomen TCP-poortnummer op. Gebruik de volgende geleverde service om de bronservice op te geven: https://schemas.microsoft.com/SQL/Notifications/EventNotificationService |
| Schakel over naar de hoofddatabase om verificatie op serverniveau te configureren. | Schakel over naar de hoofddatabase om verificatie op serverniveau te configureren. |
| Als er geen hoofdsleutel bestaat voor de hoofddatabase , maakt u een hoofdsleutel. | Als er geen hoofdsleutel bestaat voor de hoofddatabase , maakt u een hoofdsleutel. |
| Maak een certificaat waarmee de database wordt geverifieerd. | Maak een certificaat waarmee de database wordt geverifieerd. |
| Maak een back-up van het certificaat naar een bestand dat toegankelijk is voor de doelserver. | Maak een back-up van het certificaat naar een bestand dat toegankelijk is voor de bronserver. |
| Maak een eindpunt en geef het overeengekomen TCP-poortnummer op, FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) en de naam van het verificatiecertificaat. | Maak een eindpunt en geef het overeengekomen TCP-poortnummer OP, FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) en de naam van het verificatiecertificaat. |
| Maak een aanmelding en geef de aanmelding van de doelserver op. | Maak een aanmelding en geef de aanmelding van de bronserver op. |
| Verleent CONNECT-machtiging voor het eindpunt aan de doelauthenticator-login. | Verleen CONNECT-machtiging op het eindpunt aan de bron-verificator-aanmelding. |
| Maak een gebruiker aan en specificeer de aanmelding van de doelauthenticator. | Maak een gebruiker aan en specificeer de inloggegevens van de bronauthenticator. |
Stap 5: Certificaten delen voor verificatie op serverniveau en de gebeurtenismelding maken.
Voer de volgende acties uit op de bron- en doelservers.
| Bronserver | Doelserver |
|---|---|
| Maak een certificaat op basis van het back-upbestand van het doelcertificaat, waarbij de gebruiker van de doelverificator als eigenaar wordt opgegeven. | Maak een certificaat op basis van het back-upbestand van het broncertificaat, waarbij de gebruiker van de bronverificator als eigenaar wordt opgegeven. |
| Schakel over naar de brondatabase waarop u de gebeurtenismelding wilt maken. Als u nog niet bent verbonden als de brondatabasegebruiker, doet u dit nu. | Schakel over naar de doeldatabase om berichten over gebeurtenismeldingen te ontvangen. |
| Maak de gebeurtenismelding en geef de brokerservice en id van de doeldatabase op. |
Zie ook
SUBSIDIE (Transact-SQL)
BACK-UPCERTIFICAAT (Transact-SQL)
sys.databases (Transact-SQL)
Versleutelingshiërarchie
Gebeurtenismeldingen implementeren
MASTERKEY AANMAKEN (Transact-SQL)
AANMELDING MAKEN (Transact-SQL)
GEBRUIKER AANMAKEN (Transact-SQL)
CERTIFICAAT MAKEN (Transact-SQL)
MAAK AFSTANDSSERVICEBINDING AAN (Transact-SQL)
SUBSIDIE (Transact-SQL)
ROUTE AANMAKEN (Transact-SQL)
CREATE QUEUE (Transact-SQL)
CREATE SERVICE (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
GEBEURTENISMELDING MAKEN (Transact-SQL)