2012-11-13 9 views
5

Mam aplikację Azure, która korzysta z różnych baz danych różnych serwerów. Te bazy danych są niezależne, a każdy sektor mojej aplikacji używa tylko jednej bazy danych. Próbuję zrobić filtr IP. Ten filtr musi identyfikować adres IP oskarżyciela i umożliwiać dostęp do każdej bazy danych lub nie zależnie od tego filtru. Daje mi to możliwość uzyskania dostępu do A, a nie B dla IP, dostępu do B, a nie do A dla innego IP, pełnego dostępu dla innego innego IP ... z wykorzystaniem bezpieczeństwa Azure. To jest możliwe?Azure - filtr IP w zależności od bazy danych

Dzięki, czekam na odpowiedź!

PD: przepraszam za mój straszny angielski!

Odpowiedz

0

Zakładając, że odwołujesz się do hostowanych baz danych SQL Azure, możesz użyć ustawień Zapory na poziomie bazy danych, które są udokumentowane here.

Utwórz regułę zapory na poziomie bazy danych za pomocą sp_set_database_firewall_rule procedury przechowywanej. Dodaj nowe ustawienie zapory sieciowej dla połączeń internetowych, podając unikalną nazwę w parametrze nazwy procedury sp_set_database_firewall_rule przechowywanej . Podaj najniższy żądany adres IP w tym zakresie za pomocą parametru start_ip_address i najwyższego żądanego adresu IP w , który będzie obejmował parametr end_ip_address. Parametr name ma wartość typu danych nvarchar, a parametry address_ip_address i end_ip_address to typ danych varchar.

Podobnie można włączyć prób połączeń z Windows Azure przez stosując procedurę sp_set_database_firewall_rule przechowywane z parametrów start_ip_address i end_ip_address równa 0.0.0.0.

+0

Dzięki za odpowiedź! Ale o ile zrozumiałem podstawowe blokowanie poziomu SQL ogranicza dostęp tylko do zewnętrznych aplikacji, które próbują się połączyć. Po zezwoleniu na wszystkie połączenia usług Azure, niezależnie od adresu IP atakowanego na moją aplikację, kontakt IP z bazą danych odbywa się w aplikacji, a nie w kliencie (zawsze z adresem IP z aplikacji). W związku z tym nie wiem ograniczenia tego dostępu. – Esneik

0

Jestem pewien, że znaleźli rozwiązanie tego względu jej kilka miesięcy życia teraz, ale tylko w przypadku, już ...

Zakładając mam zrozumienie poprawnie, trzeba grupa klientów komunikujących się z serwerem aplikacji, które z kolei wysyła zapytanie do jednego z wielu serwerów baz danych. Zapora sieciowa zasugerowana przez mellamokb nie jest opcją, ponieważ klient faktycznie nie trafia do bazy danych, a więc to, co jest potrzebne, musi znajdować się na serwerze aplikacji.

Wybór ciągu połączenia służącego do uzyskiwania dostępu do/bazy danych na podstawie adresu IP klienta jest prawdopodobnie tym, czego szukasz tutaj. Jeśli musisz także zablokować bazę danych przy użyciu jej rodzimych zabezpieczeń, musisz utworzyć nazwane konto użytkownika dla każdego z klientów.

Można również zbadać Federations w bazie danych Azure SQL i użyć adresu IP klienta lub podobnego identyfikatora jako klucza dystrybucji.

Powiązane problemy