Tôi có một ứng dụng web SPA được triển khai trên Bộ lưu trữ Azure Blob có URL công khai. Ví dụ. https://example.z23.web.core.windows.net/
Tôi muốn sử dụng Azure Front Door với WAF để tăng cường bảo mật. Có cách nào để chặn truy cập trực tiếp tại URL blob không? Tôi đã googled nó và tìm thấy nhiều câu trả lời ở đó, một trong số đó là chỉ cho phép AzureFrontDoor.Backend
IP tại cấu hình mạng Tài khoản lưu trữ. Tôi đã thử và nó đã hoạt động.
Tuy nhiên, phương pháp này vẫn có một sơ hở là bất kỳ ai cũng có thể chỉ cần tạo Cửa trước và trỏ đến URL blob của tôi (nếu họ tình cờ phát hiện ra nó bằng cách nào đó).
(Điều này nghe có vẻ ngu ngốc): ví dụ: nếu tôi tiếp tục với phương pháp này và đặt tên cho tài khoản lưu trữ của mình một cách ngẫu nhiên, hãy sử dụng GUID ngẫu nhiên đã được rút gọn. (https://6c4a89d5dba04b8fbe1ed7f.z23.web.core.windows.net/) Điều này có thể làm giảm khả năng ai đó có thể phát hiện ra URL của tôi và bỏ qua bảo mật không?
Một phương pháp khác mà Azure đề xuất là để kiểm tra X-Azure-FDID
tiêu đề bao gồm ID của phiên bản Cửa trước cụ thể của tôi và loại bỏ các yêu cầu không chứa tiêu đề này. Tôi đã hỏi nhà phát triển của mình liệu điều này có thể thực hiện được trên ứng dụng web Vue hay không và anh ấy nói rằng chúng tôi sẽ cần đưa ID Cửa trước vào mã chạy ở phía máy khách, do đó dù sao thì ID cũng sẽ hiển thị công khai. (Đây không phải là Stack Overflow nhưng nếu ai đó có thể đề xuất bất cứ điều gì về vấn đề này thì thật tuyệt)
Một cách khác tôi tìm thấy là sử dụng SKU Azure Front Door Premium hỗ trợ kết nối với Tài khoản lưu trữ bằng Liên kết riêng. Điều này là hoàn hảo, nhưng nó có giá khổng lồ 165 đô la mỗi tháng. Thay vào đó, tôi muốn triển khai mã của mình trên Dịch vụ ứng dụng vì mã này vốn dĩ chỉ có thể hạn chế quyền truy cập từ Cửa trước.
Có ai có thể đề xuất bất kỳ phương pháp nào về cách đạt được điều này không?
Cảm ơn.