Vaša VPN sama o sebe Cosmos DB privátnym neurobí
VPN dostane váš notebook do siete, nie dovnútra databázy. Pozrite sa, čo musia urobiť privátny koncový bod, zóna DNS, režim pripojenia a prístup ku kontu.
Pripojíte notebook k sieti VNet cez VPN, otvoríte URL účtu Cosmos DB a požiadavka stále odchádza cez verejný internet. Tunel urobil svoju prácu. Čo neurobil, je vytvorenie privátneho koncového bodu, publikovanie privátneho záznamu DNS alebo vypnutie verejného prístupu, pretože to sú tri samostatné zmeny účtu, nie vlastnosti vášho sieťového pripojenia. Tento príklad používa Azure Cosmos DB pre NoSQL, privátny koncový bod vo VNet a notebook pripojený k tejto VNet cez VPN a ponecháva adresu aplikácie nezmenenú.
Mýtus: byť na VPN robí databázu privátnou
Byť na VNet znamená len to, že vaše pakety dosiahnu privátne adresy v tejto VNet. Nič to nehovorí o tom, kde sa prekladá názov účtu, a nič to nehovorí o tom, či účet stále prijíma verejnú prevádzku.
Privátny koncový bod je samostatný prostriedok s vlastnou adresou, vlastným krokom schválenia a vlastným zapojením DNS. Kým neexistuje a nie je schválený, názov sa prekladá na verejný koncový bod a vaša prevádzka tam ide bez ohľadu na tunel.
Čo vlastne spôsobuje, že sa názov prekladá privátne
Ponechajte obvyklý koncový bod účtu z SDK, niečo ako https://ACCOUNT.documents.azure.com. Privátny DNS by mal tento názov preložiť cez reťazec Private Link na privátne adresy koncového bodu. Nenahrádzajte ho číselnou URL a nevypínajte kontroly certifikátov, pretože to mení problém DNS za bezpečnostný problém.
| Example choice | Value |
|---|---|
| Cosmos API | NoSQL |
| Private endpoint subresource | Sql |
| Private DNS zone | privatelink.documents.azure.com |
| SDK connection mode | Gateway |
Tieto hodnoty sú špecifické pre rozhranie NoSQL API. Ostatné rozhrania Cosmos API nie sú v tomto príklade zameniteľné položky a kopírovanie názvu podprostriedku z iného rozhrania API vytvorí koncový bod, ktorý sa nikdy nepreloží.
Vytvorte a schváľte koncový bod pomocou autorizovaného pracovného postupu Azure a potom použite jeho integráciu so skupinou privátnych zón DNS. Notebook potrebuje prekladač, ktorý dokáže pre túto zónu odpovedať, buď priamo, alebo cez schválené preposielanie, a trasu klienta VPN ku každé príslušnej adrese koncového bodu.
Privátny koncový bod môže mať viac ako jednu adresu, vrátane globálnych a regionálnych položiek. Udržujte integráciu DNS, keď sa regióny účtu zmenia, namiesto pripnutia jednej adresy do súboru hosts, a pamätajte, že odpoveď nesúvisiaceho verejného prekladača nič nedokazuje o privátnej ceste. Ak preposielate DNS cez hub, potvrďte, že preposielač odpovedá, predtým ako budete ladiť klienta. Zastaraný preposielač vracia verejnú odpoveď, ktorá vyzerá presne ako chýbajúci koncový bod.
Režim Gateway a režim Direct nie sú zameniteľné
Režim Gateway odosiela požiadavky služby cez HTTPS na TCP 443. Preto preň funguje pravidlo firewallu iba pre 443 a preto ho tento príklad zámerne volí.
Režim Direct cez Private Link má iné požiadavky na pripojenie, vrátane širšieho rozsahu portov TCP, ktorý uvádza dokumentácia účtu. Pravidlo napísané pre režim Gateway sa nesmie potichu znovu použiť pre klienta v režime Direct, inak sa SDK pripojí a potom sa zasekne pri prvej dátovej operácii.
Vyberte jeden režim, zapíšte ho k účtu a zlaďte sieťové pravidlo s ním. Tímy, ktoré počas riešenia problémov prepínajú režimy, zvyčajne skončia so sadou pravidiel firewallu, ktorá nevyhovuje ani jednému.
Vypnutie verejného prístupu je samostatný prepínač
Ak má byť účet iba privátny, vypnite verejný sieťový prístup pomocou podporovaného nastavenia účtu a overte výsledok. Nepovažujte existenciu privátneho koncového bodu za úplné rozhodnutie o prístupe, pretože účet s privátnym koncovým bodom a zapnutým verejným prístupom stále odpovedá na internete.
Overte to zvonku VPN aj zvnútra. Požiadavka zo siete, ktorá má byť vylúčená, je test, ktorý dokazuje, že nastavenie nadobudlo účinnosť, a je to test, ktorý väčšina okien zmien vynechá.
Dostupnosť nie je oprávnenie
Povolená operácia SDK z notebooku na VPN je akceptačný test, s obvyklou URL účtu a zamýšľanou identitou. Dostupnosť cez VPN neudeľuje oprávnenia na údaje Cosmos; dátová rovina kontroluje svoje vlastné roly alebo kľúče.
Potom spustite odmietnutia: inú identitu a sieťovú cestu, ktorá už k účtu nemá dosiahnuť. Ak niektoré uspeje, hranica, ktorú ste zdokumentovali, nie je hranica, ktorú ste postavili.
Na konci si zapíšte štyri skutočnosti: privátne adresy koncového bodu, zónu DNS, ktorá odpovedá za názov účtu, režim pripojenia s jeho požiadavkami na porty a či je verejný prístup vypnutý. Tieto štyri vysvetlia nastavenie ďalšiemu človeku a každá z nich zlyháva nezávisle.