2012-11-13 4 views
5

다른 서버의 다른 데이터베이스를 사용하는 Azure 응용 프로그램이 있습니다. 이 데이터베이스는 독립적이며 내 응용 프로그램의 각 섹터는 하나의 데이터베이스 만 사용합니다. IP 필터를 만들려고합니다. 이 필터는 요청자의 IP를 식별하고이 필터에 따라 각 데이터베이스에 대한 액세스를 허용하거나 허용하지 않아야합니다. 이것은 나에게 A에 대한 액세스 허용과 B에 대한 IP 액세스, B에 대한 액세스 및 다른 IP에 대한 액세스 금지, 다른 IP에 대한 전체 액세스 ... Azure의 보안 사용을 제공합니다. 이것이 가능합니까?Azure - 데이터베이스에 따른 IP 필터

감사합니다. 대답을 기다립니다.

PD : 내 끔찍한 영어에 대한 미안!

답변

0

SQL Azure에서 호스팅하는 데이터베이스를 나타내는 것으로 가정하면 데이터베이스 수준 방화벽 설정 (here)을 사용할 수 있습니다.

sp_set_database_firewall_rule 저장 프로 시저를 사용하여 데이터베이스 수준 방화벽 규칙을 만듭니다. 에 고유 이름을 지정하여 sp_set_database_firewall_rule의 이름 매개 변수 절차를 저장하여 인터넷 기반 연결에 대해 새 방화벽 설정을 추가하십시오. 해당 범위에서 가장 낮은 원하는 IP 주소를 start_ip_address 매개 변수로 지정하고 가장 높은 원하는 IP 주소는 범위의 end_ip_address 매개 변수로 지정하십시오. name 매개 변수는 이며 nvarchar 데이터 형식이고 start_ip_address 및 end_ip_address 매개 변수는 varchar 데이터 형식입니다.

마찬가지로, 당신은 매개 변수 start_ip_address 및 0.0.0.0에 end_ip_address 동일로 sp_set_database_firewall_rule 저장 프로 시저를 사용 으로 윈도우 Azure의 연결 시도를 활성화 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 지금까지 기본 수준 잠금 SQL은 연결을 시도하는 외부 응용 프로그램에 대한 액세스 만 제한한다는 것을 이해했습니다. 모든 연결 Azure 서비스를 허용함으로써, 내 애플리케이션에서 공격하는 IP가 무엇이든, IP는 데이터베이스와 접촉하며 클라이언트는 애플리케이션이 아니라 (항상 애플리케이션의 IP를 사용합니다). 따라서이 액세스를 제한하는 것은 알 수 없습니다. – Esneik

0

난 당신이 이미이에 대한 해결책은 지금 오래된 달의 몇 가지를 제공하지만, 그냥-경우 찾을 거라고 확신 ...

내가 제대로 이해하고있어 가정하면, 당신은 많은 데이터베이스 서버 중 하나를 쿼리하는 응용 프로그램 서버와 통신하는 많은 클라이언트. mellamokb에서 제안한 방화벽은 클라이언트가 실제로 데이터베이스를 공격하지 않기 때문에 옵션이 아니므로 필요한 것은 응용 프로그램 서버에 있어야합니다.

클라이언트의 IP 주소를 기반으로/데이터베이스에 액세스하는 데 사용되는 연결 문자열을 선택하면 아마도 여기에있는 것입니다. 네이티브 보안을 사용하여 데이터베이스를 잠글 필요가있는 경우 각 클라이언트에 대해 명명 된 사용자 계정을 만들어야합니다.

또는 Azure SQL 데이터베이스에서 Federations을 조사하고 클라이언트의 IP 주소 나 유사한 식별자를 배포 키로 사용할 수 있습니다.

관련 문제