2012-11-13 4 views
5

Ich habe eine Azure-Anwendung, die verschiedene Datenbanken verschiedener Server verwenden. Diese Datenbanken sind unabhängig und jeder Sektor meiner Anwendung verwendet nur eine Datenbank. Ich versuche, einen IP-Filter zu machen. Dieser Filter muss die IP des Anbieters identifizieren und den Zugriff auf jede Datenbank erlauben oder nicht abhängig von diesem Filter. Dies gibt mir eine Möglichkeit für den Zugriff auf A und nicht auf B für eine IP, den Zugriff auf B und nicht auf A für eine andere IP, den vollen Zugriff auf eine andere IP ... mit der Sicherheit von Azure. Ist das möglich?Azure - IP-Filter in Abhängigkeit von der Datenbank

Danke, ich warte eine Antwort!

PD: Entschuldigung für mein schreckliches Englisch!

Antwort

0

Angenommen, Sie beziehen sich auf von SQL Azure gehostete Datenbanken, können Sie Firewalleinstellungen auf Datenbankebene verwenden, die dokumentiert sind here.

Erstellen Sie eine Firewallregel auf Datenbankebene, indem Sie die gespeicherte Prozedur sp_set_database_firewall_ruleverwenden. Fügen Sie eine neue Firewall Einstellung für Internet-basierte Verbindungen hinzu, indem Sie einen eindeutigen Namen in den Namensparameter der sp_set_database_firewall_rule gespeicherten Prozedur angeben. Geben Sie die niedrigste gewünschte IP-Adresse in diesem Bereich mit den Parameter start_ip_address und die höchste gewünschte IP-Adresse in diesen Bereich mit dem Parameter end_ip_address ein. Der Name-Parameter lautet Der Datentyp nvarchar und die Parameter start_ip_address und end_ip_address haben den Datentyp varchar.

Ebenso können Sie Verbindungsversuche von Windows Azure von mit der sp_set_database_firewall_rule gespeicherte Prozedur mit den Parametern start_ip_address und end_ip_address gleich 0.0.0.0 ermöglichen.

+0

Danke für die Antwort! Aber soweit ich verstanden habe die grundlegende Ebene sperren SQL nur den Zugriff auf externe Anwendungen beschränken, die versuchen, eine Verbindung herzustellen. Durch das Zulassen aller Azure-Verbindungen, unabhängig von der IP-Adresse, die meine Anwendung angreift, ist die IP-Kontaktierung der Datenbank die der Anwendung, nicht der Client (immer mit IP aus der Anwendung). Daher kann ich diesen Zugriff nicht beschränken. – Esneik

0

Ich bin sicher, dass Sie bereits jetzt gefunden, eine Lösung für diesen alten sein ein paar Monate gegeben haben werden, aber nur in case ...

Unter der Annahme, verstehe ich richtig, Sie haben Eine Reihe von Clients kommuniziert mit Ihrem Anwendungsserver, der wiederum einen von vielen Datenbankservern abfragt. Die Firewall, die von mellamokb vorgeschlagen wird, ist keine Option, da der Client nicht wirklich auf die Datenbank trifft, und so muss der Benutzer auf dem Anwendungsserver sitzen.

Die Auswahl der Verbindungszeichenfolge, die für den Zugriff auf die/a-Datenbank basierend auf der IP-Adresse des Clients verwendet wird, ist wahrscheinlich das, wonach Sie suchen. Wenn Sie die Datenbank mithilfe der systemeigenen Sicherheit ebenfalls sperren müssen, müssen Sie für jeden Ihrer Clients ein Benutzerkonto mit einem Namen erstellen.

Alternativ können Sie Federations in der Azure SQL-Datenbank untersuchen und entweder die IP-Adresse des Clients oder eine ähnliche Kennung als Verteilungsschlüssel verwenden.

Verwandte Themen