Повезујете лаптоп на 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. Зато за њега ради firewall политика само за 443 и зато га овај пример свесно бира.

Режим Direct преко Private Link-а има другачије захтеве за повезивање, укључујући шири опсег TCP портова који наводи документација налога. Политика написана за режим Gateway не сме тихо поново да се користи за клијента у режиму Direct, иначе ће се SDK повезати и затим заглавити на првој операцији са подацима.

Изаберите један режим, запишите га уз налог и ускладите мрежну политику са њим. Тимови који мењају режим током отклањања проблема обично заврше са скупом firewall правила који не задовољава ниједан.

Искључивање јавног приступа је одвојен прекидач

Ако налог треба да буде само приватан, искључите јавни мрежни приступ кроз подржану поставку налога и проверите резултат. Не третирајте постојање приватне крајње тачке као потпуну одлуку о приступу, јер налог са приватном крајњом тачком и укљученим јавним приступом и даље одговара на интернету.

Проверите изван VPN-а као и изнутра. Захтев са мреже која би требало да буде искључена је тест који доказује да је поставка ступила на снагу, и то је тест који већина прозора за промене прескочи.

Доступност није дозвола

Дозвољена SDK операција са лаптопа на VPN-у је прихватни тест, користећи уобичајени URL налога и предвиђени идентитет. Доступност преко VPN-а не даје Cosmos дозволе за податке; раван података проверава сопствене улоге или кључеве.

Затим покрените одбијања: други идентитет и мрежну путању која више не би требало да достигне налог. Ако било које успе, граница коју сте документовали није граница коју сте изградили.

Запишите четири чињенице када завршите: приватне адресе крајње тачке, DNS зону која одговара за име налога, режим повезивања са његовим захтевима за портове и да ли је јавни приступ искључен. Ове четири објашњавају поставку следећој особи, и свака од њих независно пада.

Повезани чланци