2012-11-13 11 views
5

Tôi có một ứng dụng Azure sử dụng các cơ sở dữ liệu khác nhau của các máy chủ khác nhau. Cơ sở dữ liệu này là độc lập và mỗi ngành trong ứng dụng của tôi chỉ sử dụng một cơ sở dữ liệu. Tôi thử tạo bộ lọc IP. Bộ lọc này phải xác định ip của người mời và cho phép truy cập từng cơ sở dữ liệu hoặc không phụ thuộc vào bộ lọc này. Điều này cho tôi một cách để cho phép truy cập vào A và không cho B cho một IP, truy cập vào B và không để A cho IP khác, truy cập đầy đủ cho một IP khác ... bằng cách sử dụng bảo mật của Azure. Điều này có khả thi không?Azure - Bộ lọc IP tùy thuộc vào cơ sở dữ liệu

Cảm ơn, tôi chờ đợi câu trả lời!

PD: xin lỗi vì tiếng anh khủng khiếp của tôi!

Trả lời

0

Giả sử bạn đang đề cập đến cơ sở dữ liệu được lưu trữ SQL Azure, bạn có thể sử dụng cài đặt Tường lửa cấp cơ sở dữ liệu, được ghi thành tài liệu here.

Tạo quy tắc tường lửa cấp cơ sở dữ liệu bằng cách sử dụng thủ tục được lưu trữ sp_set_database_firewall_rule. Thêm cài đặt tường lửa mới cho kết nối dựa trên Internet bằng cách chỉ định tên duy nhất trong thông số tên của thủ tục sp_set_database_firewall_rule được lưu trữ . Chỉ định địa chỉ IP mong muốn thấp nhất trong phạm vi đó với thông số start_ip_address và địa chỉ IP mong muốn cao nhất trong phạm vi đó với thông số end_ip_address. Tham số tên là loại dữ liệu nvarchar và tham số start_ip_address và end_ip_address là loại dữ liệu varchar.

Tương tự, bạn có thể bật nỗ lực kết nối từ Windows Azure bằng cách bằng cách sử dụng thủ tục được lưu trữ sp_set_database_firewall_rule với thông số start_ip_address và end_ip_address bằng 0.0.0.0.

+0

Cảm ơn bạn đã trả lời! Nhưng đến nay tôi đã hiểu SQL khóa mức cơ bản chỉ giới hạn quyền truy cập vào các ứng dụng bên ngoài cố gắng kết nối. Bằng cách cho phép tất cả các kết nối dịch vụ Azure, bất kể IP nào tấn công vào ứng dụng của tôi, việc liên hệ IP với cơ sở dữ liệu là của ứng dụng, không phải là ứng dụng khách (luôn luôn có IP từ ứng dụng). Vì vậy, tôi không biết hạn chế quyền truy cập này. – Esneik

0

tôi chắc chắn bạn sẽ phải đã tìm thấy một giải pháp này được đưa ra một vài của tháng tuổi bây giờ, nhưng chỉ trong hợp cụ thể ...

Giả sử tôi hiểu biết một cách chính xác, bạn có một loạt các khách hàng giao tiếp với máy chủ ứng dụng của bạn, mà lần lượt truy vấn một trong nhiều máy chủ cơ sở dữ liệu. Tường lửa được đề xuất bởi mellamokb không phải là một tùy chọn vì máy khách không thực sự nhấn vào cơ sở dữ liệu, và vì vậy những gì cần thiết phải nằm trên máy chủ ứng dụng.

Chọn chuỗi kết nối được sử dụng để truy cập vào/cơ sở dữ liệu dựa trên địa chỉ IP của khách hàng có thể là những gì bạn đang ở đây. Nếu bạn cũng cần khóa cơ sở dữ liệu bằng cách sử dụng bảo mật riêng của nó, bạn sẽ cần phải tạo một tài khoản người dùng có tên cho từng khách hàng của bạn.

Ngoài ra, bạn có thể điều tra Federations trên Cơ sở dữ liệu SQL Azure và sử dụng địa chỉ IP của máy khách hoặc mã định danh tương tự làm khóa phân phối.

Các vấn đề liên quan