Bạn kết nối laptop với VNet qua VPN, mở URL của tài khoản Cosmos DB, và yêu cầu vẫn đi ra qua internet công cộng. Đường hầm đã hoàn thành nhiệm vụ. Điều nó chưa làm là tạo điểm cuối riêng tư, công bố bản ghi DNS riêng tư hoặc tắt quyền truy cập công cộng, vì đó là ba thay đổi riêng biệt trên tài khoản chứ không phải thuộc tính của kết nối mạng của bạn. Ví dụ này dùng Azure Cosmos DB cho NoSQL, một điểm cuối riêng tư trong VNet và một laptop kết nối với VNet đó qua VPN, và giữ nguyên địa chỉ của ứng dụng.

Huyền thoại: ở trên VPN khiến cơ sở dữ liệu thành riêng tư

Ở trên VNet chỉ có nghĩa là các gói tin của bạn có thể đến được các địa chỉ riêng tư trong VNet đó. Nó không nói gì về nơi tên tài khoản được phân giải, và cũng không nói gì về việc tài khoản còn chấp nhận lưu lượng công cộng hay không.

Điểm cuối riêng tư là một tài nguyên riêng biệt với địa chỉ riêng, bước phê duyệt riêng và hệ thống dây DNS riêng. Cho đến khi nó tồn tại và được phê duyệt, tên được phân giải đến điểm cuối công cộng và lưu lượng của bạn đi đến đó bất kể đường hầm.

Điều gì thực sự khiến tên được phân giải riêng tư

Giữ điểm cuối tài khoản thông thường của SDK, đại loại như https://ACCOUNT.documents.azure.com. DNS riêng tư phải phân giải tên đó qua chuỗi Private Link đến các địa chỉ riêng tư của điểm cuối. Đừng thay nó bằng URL số và đừng tắt kiểm tra chứng chỉ, vì điều đó đánh đổi vấn đề DNS lấy vấn đề bảo mật.

Example choiceValue
Cosmos APINoSQL
Private endpoint subresourceSql
Private DNS zoneprivatelink.documents.azure.com
SDK connection modeGateway

Những giá trị đó dành riêng cho API NoSQL. Các API Cosmos khác không phải là mục có thể hoán đổi trong cùng ví dụ, và việc sao chép tên tài nguyên con từ API khác tạo ra một điểm cuối không bao giờ được phân giải.

Tạo và phê duyệt điểm cuối thông qua quy trình Azure được ủy quyền, sau đó dùng tích hợp nhóm vùng DNS riêng tư của nó. Laptop cần một trình phân giải có thể trả lời cho vùng đó, trực tiếp hoặc qua chuyển tiếp được phê duyệt, và tuyến ứng dụng VPN đến từng địa chỉ điểm cuối liên quan.

Một điểm cuối riêng tư có thể có nhiều hơn một địa chỉ, bao gồm các mục toàn cầu và khu vực. Duy trì tích hợp DNS khi các khu vực của tài khoản thay đổi thay vì ghim một địa chỉ trong tệp hosts, và nhớ rằng câu trả lời từ một trình phân giải công cộng không liên quan không chứng minh được gì về đường đi riêng tư. Nếu bạn chuyển tiếp DNS qua một hub, hãy xác nhận bộ chuyển tiếp trả lời trước khi gỡ lỗi ứng dụng. Bộ chuyển tiếp cũ trả về câu trả lời công cộng, trông giống hệt một điểm cuối bị thiếu.

Chế độ Gateway và chế độ Direct không thể hoán đổi

Chế độ Gateway gửi yêu cầu dịch vụ qua HTTPS trên TCP 443. Đó là lý do chính sách tường lửa chỉ cho 443 hoạt động với nó và đó là lý do ví dụ này chọn nó một cách có chủ đích.

Chế độ Direct qua Private Link có các yêu cầu kết nối khác, bao gồm dải cổng TCP rộng hơn mà tài liệu tài khoản liệt kê. Chính sách viết cho chế độ Gateway không được âm thầm tái sử dụng cho ứng dụng ở chế độ Direct, nếu không SDK sẽ kết nối rồi bị treo ở thao tác dữ liệu đầu tiên.

Chọn một chế độ, ghi lại cùng tài khoản và làm cho chính sách mạng khớp với nó. Các nhóm chuyển đổi chế độ trong khi khắc phục sự cố thường kết thúc với một bộ quy tắc tường lửa không đáp ứng cả hai.

Tắt quyền truy cập công cộng là một công tắc riêng

Nếu tài khoản chỉ nên riêng tư, hãy tắt quyền truy cập mạng công cộng qua cài đặt được hỗ trợ của tài khoản và xác minh kết quả. Đừng coi sự tồn tại của điểm cuối riêng tư là quyết định truy cập đầy đủ, vì tài khoản có điểm cuối riêng tư và quyền truy cập công cộng được bật vẫn trả lời trên internet.

Xác minh từ bên ngoài VPN cũng như từ bên trong. Yêu cầu từ một mạng lẽ ra phải bị loại trừ là bài kiểm tra chứng minh cài đặt đã có hiệu lực, và đó là bài kiểm tra mà hầu hết các cửa sổ thay đổi bỏ qua.

Khả năng tiếp cận không phải là quyền

Một thao tác SDK được phép từ laptop VPN là bài kiểm tra chấp nhận, dùng URL tài khoản thông thường và danh tính dự định. Khả năng tiếp cận qua VPN không cấp quyền dữ liệu Cosmos; mặt phẳng dữ liệu kiểm tra vai trò hoặc khóa của riêng nó.

Sau đó chạy các lần từ chối: một danh tính khác và một đường mạng không còn nên đến được tài khoản. Nếu một trong hai thành công, ranh giới bạn đã ghi lại không phải là ranh giới bạn đã xây.

Ghi lại bốn sự thật khi hoàn thành: địa chỉ riêng tư của điểm cuối, vùng DNS trả lời cho tên tài khoản, chế độ kết nối với các yêu cầu cổng của nó và liệu quyền truy cập công cộng có bị tắt. Bốn điều này giải thích thiết lập cho người tiếp theo, và mỗi điều trong số chúng thất bại một cách độc lập.

Bài viết liên quan