Beveiliging beheren (Service Broker)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Service Broker biedt een flexibel beveiligingsframework voor het beveiligen van uw toepassingen. In dit onderwerp worden overwegingen beschreven voor het beheren van Service Broker-beveiliging.

Beveiliging plannen

Elke toepassing heeft unieke beveiligingsvereisten. Een onderdeel van het beheren van beveiliging is het zorgvuldig plannen van de vereisten voor uw toepassing. Transportbeveiliging, dialoogvensterbeveiliging en de beveiligingsinfrastructuur die in SQL Server is ingebouwd, werken samen om u te helpen uw toepassing te beveiligen.

Alle toepassingen gebruiken de beveiligingsinfrastructuur die is ingebouwd in SQL Server. Elke bewerking in SQL Server vindt plaats in een specifieke beveiligingscontext. In de meeste gevallen maakt u sql Server-database-principals specifiek voor de toepassing. Dit helpt u ervoor te zorgen dat elke stap in de toepassing wordt uitgevoerd in een beveiligingscontext met alleen de bevoegdheden die nodig zijn voor die stap. De principal die u opgeeft voor interne activering moet bijvoorbeeld machtigingen uitvoeren voor de opgeslagen procedure die Service Broker activeert. De opgeslagen procedure zelf kan een gebruiker vervangen die RECEIVE toestemming heeft voor de wachtrij en UPDATE toestemming heeft voor een bepaalde tabel. U ontwerpt uw toepassing zodat in elke fase de beveiligingscontext voor de toepassing niet gemachtigd is om onverwachte bewerkingen uit te voeren.

Toepassingen die berichten tussen SQL Server-exemplaren verzenden, kunnen transportbeveiliging, dialoogvensterbeveiliging of beide gebruiken. Transportbeveiliging en dialoogvensterbeveiliging bieden duidelijk verschillende beveiligingen.

Service Broker-dialoogvensterbeveiliging biedt end-to-end versleuteling en autorisatie voor gesprekken tussen specifieke services. Daarom helpt dialogbeveiliging om gegevens te beschermen tegen inspectie of wijziging tijdens de overdracht. Toepassingen die vertrouwelijke of gevoelige gegevens verzenden, of die berichten verzenden via niet-vertrouwde netwerken, moeten dialoogvensterbeveiliging gebruiken. Met gespreksbeveiliging kan een deelnemer in het gesprek de andere deelnemer identificeren.

Omdat de beveiliging van dialoogvensters van toepassing is op specifieke services, moet u de beveiliging van dialoogvensters configureren voor elke service die gebruikmaakt van de beveiliging van dialoogvensters. Een exemplaar kan echter dialoogvensterbeveiliging gebruiken voor sommige gesprekken en toestaan dat andere gesprekken niet-versleuteld worden verzonden. Gesprekken met een service die klantgegevens bijwerkt, kunnen bijvoorbeeld dialoogvensterbeveiliging gebruiken, terwijl gesprekken die eenvoudigweg informatie over onderdeelnummers opzoeken, mogelijk geen dialoogvensterbeveiliging vereisen.

Service Broker maakt gebruik van de externe servicebindingen in de database waarmee het gesprek wordt gestart om de beveiliging voor het gesprek te bepalen. Service Broker gebruikt daarom de servicenaam om de beveiliging voor de service te bepalen. In gevallen waarin meer dan één exemplaar van dezelfde doelservice bestaat, moet routering voor de initiërende services zorgvuldig worden beheerd, zodat het initiëren van services alleen communiceert met doelservices die overeenkomende certificaten bevatten. Alle services met dezelfde naam moeten worden geconfigureerd met hetzelfde certificaat.

Service Broker-transportbeveiliging voorkomt niet-geautoriseerde netwerkverbindingen met Service Broker-eindpunten, detecteert wijzigingen in berichten die onderweg zijn en biedt eventueel punt-naar-punt-versleuteling. Hiermee kunt u uw database beschermen tegen het ontvangen van ongewenste berichten. Omdat transportbeveiliging van toepassing is op netwerkverbindingen, is transportbeveiliging automatisch van toepassing op alle gesprekken tussen de SQL Server-exemplaren. Transportbeveiliging biedt echter geen end-to-end-versleuteling en biedt geen verificatie voor afzonderlijke gesprekken.

Beveiliging behouden

Het onderhouden van beveiliging voor Service Broker-toepassingen bestaat uit twee hoofdtaken: het controleren van de toepassingsconfiguratie en het vervangen van de certificaten die door de toepassing worden gebruikt.

Controleer regelmatig de toepassing om te bepalen of de beveiligingsconfiguratie ongewijzigd is en of de beveiligingsconfiguratie voldoet aan de bedrijfsbehoeften voor de toepassing.

De beveiliging van dialoogvensters is afhankelijk van certificaten voor verificatie en versleuteling. Transportbeveiliging kan ook gebruikmaken van certificaten. Een certificaat heeft een opgegeven tijd waarin het certificaat geldig is. Het certificaat is niet geldig voordat deze tijd begint of nadat deze tijd is verlopen. Service Broker gebruikt geen certificaten die momenteel niet geldig zijn. Daarnaast bevat SQL Server de ACTIVE FOR BEGIN_DIALOG optie om een certificaat beschikbaar te maken voor Service Broker. Als u certificaten wilt bijwerken, maakt of laadt u nieuwe certificaten met de actieve optie voor het starten van het dialoogvenster ingesteld op OFF. Zodra alle certificaten zijn geladen, wijzigt u de huidige certificaten in alle databases om de certificaten niet beschikbaar te maken voor Service Broker en wijzigt u de nieuwe certificaten door de ACTIVE FOR BEGIN_DIALOG optie in te stellen zodat deze certificaten beschikbaar zijn voor Service Broker.

Zie Certificaten en Service Broker enCREATE CERTIFICATE voor meer informatie over certificaten.