SQL Practice Blog – SQL Server, BizTalk und .NET Erfahrungen

SQL Azure: Firewall konfigurieren

leave a comment »

Wer SQL Azure zum ersten mal einsetzt, wird bemerken das er von seinem Rechner aus nicht auf den SQL Azure Server connecten kann. Was ist der Grund? SQL Azure hat eine Firewall integriert welche Standardmäßig alles blockt was nicht aus der Windows Azure Welt kommt.

Wie funktioniert die SQL Azure Firewall?azure_firewall

Auf den SQL Azure Server verbindet man sich mit zwei Arten von Verbindungen.

Die erste Möglichkeit ist die Verbindung zu SQL Azure über eine Windows Azure Anwendung, quasi eine Verbindung innerhalb der Cloud.

Die andere Möglichkeit wäre eine Verbindung von außerhalb, also über das Internet.
Damit nun nicht jeder darauf zugreifen kann, ist dem SQL Azure Server eine SQL Azure Firewall vorgeschalten. Diese Firewall prüft die Adresse des Consumers, vergleicht diese mit der hinterlegten Liste von erlaubten Adressen und erlaubt bzw. verbietet daraufhin den Zugang zu dem SQL Azure Server.

Unter Adressen, versteht man hier die IPv4 Adresse welche man von seinem ISP zugewiesen bekommen hat. Wie man schon erkennen kann, führt dies bei dynamischer IP Vergabe zu einer Menge Arbeit für IT Pros. Tools wie DynDNS werden von der Firewall noch nicht unterstützt.

Die Ausnahme bildet hier die Windows Azure Anwendung, diese darf auf den SQL Azure Server zugreifen wenn die IP Range 0.0.0.0 – 0.0.0.0 in der Firewall eingerichtet ist. Entfernt man die Range 0.0.0.0 – 0.0.0.0, so können Windows Azure Anwendungen nicht mehr auf den SQL Azure Server zugreifen.

Wie konfiguriert man die SQL Azure Firewall?

Hier gibt es im wesentlichen zwei Wege. Der erste Weg führt über das SQL Azure Portal und ist denkbar einfach über eine Liste möglich, deshalb werde ich hier nicht weiter darauf eingehen. Die zweite Möglichkeit funktioniert via T-SQL Script, was das ganze dynamischer und flexibler wirken lässt.

Hier gibt es drei Objekte denen man Beachtung schenken sollte:

sys.firewall_rules: Ist eine Systemsicht die in der master Datenbank zu finden ist und alle gesetzten Firewalleinstellungen auflistet.

sp_set_firewall_rule: Eine Stored Procedure mit welcher Firewall Rules gesetzt werden können.

sp_delete_firewall_rule: Eine Stored Procedure mit welcher Firewall Rules gelöscht werden können.

Beispielscript:

— view firewall settings
SELECT
    id, name, start_ip_address,
    end_ip_address, create_date,
    modify_date
FROM sys.firewall_rules
GO

— create or update firewall setting for IP 192.168.0.1
EXEC sp_set_firewall_rule N’Test‘, ‚192.168.0.1‘, ‚192.168.0.1’
GO

— Remove example firewall setting
EXEC sp_delete_firewall_rule N’Test‘
GO

Written by Robert Meyer

Januar 4, 2010 um 14:04

Veröffentlicht in SQL Azure

Tagged with , , , ,

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: