Der einfachste Weg Zugriffe auf einen Azure SQL Server zu ermöglichen ist es, den Schalter „Azure-Dienste und -Ressourcen auf diesen Server zugreifen zulassen“ auf „yes“ zu stellen. Aber wenn das Kontrollkästchen „Azure-Dienste und -Ressourcen auf diesen Server zugreifen zulassen“ auf „Ja“ festgelegt ist, haben alle Azure-Ressourcen aus allen Zelten, allen Abonnements, allen Kunden in Azure Netzwerkzugriff auf Ihren SQL-Server.
Das ist sehr unsicher!
Um den Zugriff auf den SQL-Server zu sichern, sollte „Azure-Dienste und -Ressourcen für den Zugriff auf diesen Server zulassen“ immer auf „Nein“ festgelegt werden. Die Regeln für das virtuelle Netzwerk können dann verwendet werden, um den Zugriff auf einzelne Subnetze in Ihrem eigenen Azure-Mandanten speziell zu ermöglichen.
Damit dies funktioniert, müssen so genannte Dienstendpunkte in den Ziel-Vnet Service-Endpunkten erstellt werden, um sicherzustellen, dass der Datenverkehr in Azure für den Zugriff auf Azure-Ressourcen nicht über das Internet, sondern nur über das Azure-Backbone weitergeleitet wird.
Das Erstellen eines Dienstendpunkts ist recht einfach
.https://docs.microsoft.com/de-de/azure/virtual-network/virtual-network-service-endpoints-overview
Nachdem der Dienstendpunkt erstellt wurde, kann eine Vnet-Regel in der Azure SQL Firewall für das Zielnetzwerk erstellt werden.
Nun kann das Ziel zusätzlich mit einer Netzwerksicherheitsgruppe gesichert werden. Das Ziel benötigt keinen Zugriff mehr auf das Internet, da ein Dienstendpunkt eingerichtet wurde. Im Screenshot gibt es eine andere Regel, die oberste für RDP, da ich das Beispiel mit einer VM erstellt habe. Die VM hat keinen Zugriff auf das Internet, aber auf den SQL-Server kann über den Dienstendpunkt zugegriffen werden.
Dies bedeutet, dass der SQL-Server weiterhin im Internet veröffentlicht wird, der Zugriff jedoch durch die Firewall verhindert wird. Um den öffentlichen Endpunkt des SQL-Servers zu deaktivieren und ihn nur in Ihrem eigenen Azure-Mandanten verfügbar zu machen, ist ein „privater Endpunkt“ erforderlich.
Die Konfiguration mit einem private endpoint erläuterte ich in einem anderen Artikel .