Вы падключаеце ноўтбук да VNet праз VPN, адкрываеце URL уліковага запісу Cosmos DB, а запыт усё яшчэ выходзіць праз публічны інтэрнэт. Тунэль зрабіў сваю справу. Чаго ён не зрабіў — не стварыў прыватную канчатковую кропку, не апублікаваў прыватны запіс DNS і не адключыў публічны доступ, бо гэта тры асобныя змены ўліковага запісу, а не ўласцівасці вашага сеткавага злучэння. Гэты прыклад выкарыстоўвае Azure Cosmos DB для NoSQL, прыватную канчатковую кропку ў VNet і ноўтбук, падключаны да гэтай VNet праз VPN, і пакідае адрас праграмы нязменным.

Міф: знаходжанне ў VPN робіць базу даных прыватнай

Знаходжанне ў VNet азначае толькі тое, што вашыя пакеты могуць дасягнуць прыватных адрасоў у гэтай VNet. Гэта нічога не кажа пра тое, дзе развязавецца імя ўліковага запісу, і нічога не кажа пра тое, ці ўліковы запіс па-ранейшаму прымае публічны трафік.

Прыватная канчатковая кропка — гэта асобны рэсурс з уласным адрасам, уласным крокам зацвярджэння і ўласнай праводкай DNS. Пакуль яна не існуе і не зацверджана, імя развязавецца ў публічную канчатковую кропку, і ваш трафік ідзе туды незалежна ад тунэлю.

Што насамрэч прымушае імя развязацца прыватна

Пакіньце звычайную канчатковую кропку ўліковага запісу SDK, нешта накшталт https://ACCOUNT.documents.azure.com. Прыватны DNS павінен развязаць гэтае імя праз ланцуг Private Link у прыватныя адрасы канчатковай кропкі. Не замяняйце яго лічбавым URL і не адключайце праверкі сертыфікатаў, бо гэта абменьвае праблему DNS на праблему бяспекі.

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

Гэтыя значэнні спецыфічныя для NoSQL API. Іншыя Cosmos API не з'яўляюцца ўзаемазаменнымі запісамі ў тым жа прыкладзе, а капіраванне імя субрэсурсу з іншага API стварае канчатковую кропку, якая ніколі не развяжацца.

Стварыце і зацвердзіце канчатковую кропку праз аўтарызаваны працэс Azure, затым выкарыстайце яе інтэграцыю з групай зон прыватнага DNS. Ноўтбуку патрэбны развязальнік, які можа адказаць для гэтай зоны, альбо напрамую, альбо праз зацверджанае перанакіраванне, і маршрут VPN-кліента да кожнага адпаведнага адрасу канчатковай кропкі.

Прыватная канчатковая кропка можа мець больш за адзін адрас, уключаючы глабальныя і рэгіянальныя запісы. Падтрымлівайце інтэграцыю DNS, калі рэгіёны ўліковага запісу змяняюцца, замест таго каб замацоўваць адзін адрас у файле hosts, і памятайце, што адказ ад незвязанага публічнага развязальніка нічога не даказвае пра прыватны шлях. Калі вы перанакіроўваеце DNS праз канцэнтратар, пацвердзіце, што перанакіравальнік адказвае, перш чым адладжваць кліента. Састарэлы перанакіравальнік вяртае публічны адказ, які выглядае гэтак жа, як адсутная канчатковая кропка.

Рэжым Gateway і рэжым Direct не ўзаемазаменныя

Рэжым Gateway адпраўляе запыты да службы праз HTTPS на TCP 443. Менавіта таму палітыка файрвола, якая дазваляе толькі 443, працуе для яго, і таму гэты прыклад свядома выбірае яго.

Рэжым Direct праз Private Link мае іншыя патрабаванні да злучэння, уключаючы шырэйшы дыяпазон партоў TCP, які пералічаны ў дакументацыі ўліковага запісу. Палітыку, напісаную для рэжыму Gateway, нельга моўчкі паўторна выкарыстоўваць для кліента ў рэжыме Direct, інакш SDK падключыцца і затым завісне на першай аперацыі з данымі.

Выберыце адзін рэжым, запішыце яго разам з уліковым запісам і прывядзіце сеткавую палітыку ў адпаведнасць з ім. Каманды, якія пераключаюць рэжымы падчас пошуку няспраўнасцей, звычайна атрымліваюць набор правілаў файрвола, які не задавальняе ні адзін, ні другі.

Адключэнне публічнага доступу — асобны перамыкач

Калі ўліковы запіс павінен быць толькі прыватным, адключыце доступ да публічнай сеткі праз падтрымоўваную наладу ўліковага запісу і праверце вынік. Не лічыце наяўнасць прыватнай канчатковай кропкі поўным рашэннем аб доступе, бо ўліковы запіс з прыватнай канчатковай кропкай і ўключаным публічным доступам усё яшчэ адказвае ў інтэрнэце.

Праверце знутры VPN і звонку. Запыт з сеткі, якая павінна быць выключана, — гэта тэст, які даказвае, што налада ўступіла ў сілу, і гэта тэст, які прапускаюць большасць вокнаў змен.

Дасягальнасць — не дазвол

Дазволеная аперацыя SDK з ноўтбука ў VPN — гэта прыёмачны тэст з выкарыстаннем звычайнага URL уліковага запісу і меркаванай ідэнтычнасці. Дасягальнасць праз VPN не дае правоў доступу да даных Cosmos; плоскасць даных правярае свае ўласныя ролі або ключы.

Затым выканайце адмовы: іншая ідэнтычнасць і сеткавы шлях, які больш не павінен дасягаць уліковага запісу. Калі хоць адзін удаецца, мяжа, якую вы задокументавалі, — не тая мяжа, якую вы пабудавалі.

Запішыце чатыры факты пасля завяршэння: прыватныя адрасы канчатковай кропкі, зона DNS, якая адказвае за імя ўліковага запісу, рэжым злучэння з яго патрабаваннямі да партоў і ці адключаны публічны доступ. Гэтыя чатыры тлумачаць наладку наступнаму чалавеку, і кожны з іх можа адмовіць незалежна.

Падобныя артыкулы