Vaš VPN sam po sebi ne čini Cosmos DB privatnim
VPN dovodi vaš laptop na mrežu, a ne unutar baze podataka. Pogledajte šta privatna krajnja tačka, DNS zona, način povezivanja i pristup računu moraju da urade.
Povezujete laptop na VNet putem VPN-a, otvarate URL računa Cosmos DB, a zahtjev i dalje izlazi preko javnog interneta. Tunel je obavio svoj posao. Ono što nije uradio jeste da stvori privatnu krajnju tačku, objavi privatni DNS zapis ili isključi javni pristup, jer su to tri odvojene promjene na računu, a ne svojstva vaše mrežne veze. Ovaj primjer koristi Azure Cosmos DB za NoSQL, privatnu krajnju tačku u VNet-u i laptop povezan na taj VNet putem VPN-a, i zadržava adresu aplikacije nepromijenjenom.
Mit: boravak na VPN-u čini bazu podataka privatnom
Boravak na VNet-u znači samo da vaši paketi mogu dosegnuti privatne adrese u tom VNet-u. To ne govori ništa o tome gdje se ime računa razrješava, niti govori da li račun još prihvata javni saobraćaj.
Privatna krajnja tačka je odvojen resurs sa sopstvenom adresom, sopstvenim korakom odobrenja i sopstvenim DNS ožičenjem. Dok ne postoji i ne bude odobrena, ime se razrješava na javnu krajnju tačku i vaš saobraćaj ide tamo bez obzira na tunel.
Šta zapravo čini da se ime razrješava privatno
Zadržite uobičajenu krajnju tačku računa iz SDK-a, nešto poput https://ACCOUNT.documents.azure.com. Privatni DNS treba da razriješi to ime kroz lanac Private Link do privatnih adresa krajnje tačke. Ne zamjenjujte je numeričkim URL-om i ne isključujte provjere certifikata, jer time mijenjate DNS problem za sigurnosni problem.
| Example choice | Value |
|---|---|
| Cosmos API | NoSQL |
| Private endpoint subresource | Sql |
| Private DNS zone | privatelink.documents.azure.com |
| SDK connection mode | Gateway |
Te vrijednosti su specifične za NoSQL API. Ostali Cosmos API-ji nisu zamjenjivi unosi u istom primjeru, a kopiranje naziva podresursa iz drugog API-ja stvara krajnju tačku koja se nikada ne razrješava.
Kreirajte i odobrite krajnju tačku kroz ovlašteni Azure tok rada, a zatim koristite njenu integraciju sa grupom privatnih DNS zona. Laptopu je potreban razrješivač koji može odgovoriti za tu zonu, bilo direktno ili kroz odobreno prosljeđivanje, i VPN ruta klijenta do svake relevantne adrese krajnje tačke.
Privatna krajnja tačka može imati više od jedne adrese, uključujući globalne i regionalne unose. Održavajte DNS integraciju kada se regije računa promijene, umjesto da prikujete jednu adresu u hosts datoteci, i zapamtite da odgovor nepovezanog javnog razrješivača ništa ne dokazuje o privatnoj putanji. Ako prosljeđujete DNS kroz čvorište, potvrdite da prosljeđivač odgovara prije nego što otklanjate greške na klijentu. Zastario prosljeđivač vraća javni odgovor, što izgleda tačno kao krajnja tačka koja nedostaje.
Gateway i Direct režim nisu zamjenjivi
Gateway režim šalje zahtjeve servisa preko HTTPS-a na TCP 443. Zato za njega radi pravilo firewall-a samo za 443 i zato ga ovaj primjer namjerno bira.
Direct režim preko Private Link-a ima drugačije zahtjeve za povezivanje, uključujući širi raspon TCP portova koji navodi dokumentacija računa. Pravilo napisano za Gateway režim ne smije se tiho ponovo koristiti za klijenta u Direct režimu, inače će se SDK povezati i zatim se zaglaviti na prvoj operaciji s podacima.
Odaberite jedan režim, zapišite ga uz račun i uskladite mrežno pravilo s njim. Timovi koji mijenjaju režime tokom otklanjanja problema obično završe sa skupom firewall pravila koji ne zadovoljava nijedan.
Isključivanje javnog pristupa je odvojen prekidač
Ako račun treba da bude samo privatni, isključite javni mrežni pristup kroz podržanu postavku računa i provjerite rezultat. Ne tretirajte postojanje privatne krajnje tačke kao potpunu odluku o pristupu, jer račun sa privatnom krajnjom tačkom i uključenim javnim pristupom i dalje odgovara na internetu.
Provjerite izvan VPN-a kao i unutra. Zahtjev sa mreže koja bi trebalo da bude isključena je test koji dokazuje da je postavka stupila na snagu, i to je test koji većina prozora za promjene preskoči.
Dostupnost nije dozvola
Dozvoljena SDK operacija sa VPN laptopa je prihvatni test, koristeći uobičajeni URL računa i predviđeni identitet. Dostupnost preko VPN-a ne daje Cosmos dozvole za podatke; ravan podataka provjerava sopstvene uloge ili ključeve.
Zatim pokrenite odbijanja: drugačiji identitet i mrežnu putanju koja više ne bi trebalo da dosegne račun. Ako bilo koje uspije, granica koju ste dokumentovali nije granica koju ste izgradili.
Zapišite četiri činjenice kada završite: privatne adrese krajnje tačke, DNS zonu koja odgovara za ime računa, način povezivanja sa zahtjevima za portove i da li je javni pristup isključen. Te četiri objašnjavaju postavku sljedećoj osobi, i svaka od njih pada nezavisno.