Vaše VPN sama o sobě Cosmos DB privátní neudělá
VPN dostane váš notebook do sítě, ne dovnitř databáze. Podívejte se, co musí udělat privátní koncový bod, zóna DNS, režim připojení a přístup k účtu.
Připojíte notebook k VNet přes VPN, otevřete URL účtu Cosmos DB a požadavek přesto odchází přes veřejný internet. Tunel udělal svou práci. Co neudělal, je vytvoření privátního koncového bodu, publikování privátního záznamu DNS nebo vypnutí veřejného přístupu, protože to jsou tři samostatné změny účtu, nikoli vlastnosti vašeho síťového připojení. Tento příklad používá Azure Cosmos DB pro NoSQL, privátní koncový bod ve VNet a notebook připojený k této VNet přes VPN a ponechává adresu aplikace nezměněnou.
Mýtus: být na VPN dělá databázi privátní
Být na VNet znamená jen to, že vaše pakety dosáhnou na privátní adresy v této VNet. Nic to neříká o tom, kde se jméno účtu překládá, a nic to neříká o tom, zda účet stále přijímá veřejný provoz.
Privátní koncový bod je samostatný prostředek s vlastní adresou, vlastním krokem schválení a vlastním zapojením DNS. Dokud neexistuje a není schválen, jméno se překládá na veřejný koncový bod a váš provoz tam jde bez ohledu na tunel.
Co vlastně způsobí, že se jméno přeloží privátně
Ponechte obvyklý koncový bod účtu z SDK, něco jako https://ACCOUNT.documents.azure.com. Privátní DNS má toto jméno přeložit přes řetězec Private Link na privátní adresy koncového bodu. Nahrazovat ho číselnou URL a vypínat kontroly certifikátů nedělejte, protože tím měníte 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 |
Tyto hodnoty jsou specifické pro rozhraní NoSQL API. Ostatní rozhraní Cosmos API nejsou v tomto příkladu zaměnitelné položky a kopírování názvu podzdroje z jiného rozhraní API vytvoří koncový bod, který se nikdy nepřeloží.
Vytvořte a schvalte koncový bod pomocí autorizovaného pracovního postupu Azure a poté použijte jeho integraci se skupinou privátních zón DNS. Notebook potřebuje překladač, který dokáže pro tuto zónu odpovědět, buď přímo, nebo přes schválené předávání, a trasu klienta VPN ke každé příslušné adrese koncového bodu.
Privátní koncový bod může mít více než jednu adresu, včetně globálních a regionálních položek. Udržujte integraci DNS, když se oblasti účtu změní, místo abyste připíchli jednu adresu do souboru hosts, a pamatujte, že odpověď nesouvisejícího veřejného překladače nic nedokazuje o privátní cestě. Pokud DNS předáváte přes hub, potvrďte, že předávající odpovídá, než začnete ladit klienta. Zastaralý předávající vrací veřejnou odpověď, což vypadá přesně jako chybějící koncový bod.
Režim Gateway a režim Direct nejsou zaměnitelné
Režim Gateway odesílá požadavky služby přes HTTPS na TCP 443. Proto pro něj funguje pravidlo firewallu pouze pro 443 a proto jej tento příklad záměrně volí.
Režim Direct přes Private Link má jiné požadavky na připojení, včetně širšího rozsahu portů TCP, který uvádí dokumentace účtu. Pravidlo napsané pro režim Gateway se nesmí tiše znovu použít pro klienta v režimu Direct, jinak se SDK připojí a poté se zasekne při první datové operaci.
Vyberte jeden režim, zapište ho k účtu a sluďte síťové pravidlo s ním. Týmy, které během řešení problémů přepínají režimy, obvykle skončí se sadou pravidel firewallu, která nevyhovuje ani jednomu.
Vypnutí veřejného přístupu je samostatný přepínač
Pokud má být účet pouze privátní, vypněte veřejný síťový přístup pomocí podporovaného nastavení účtu a ověřte výsledek. Nepovažujte existenci privátního koncového bodu za úplné rozhodnutí o přístupu, protože účet s privátním koncovým bodem a zapnutým veřejným přístupem stále odpovídá na internetu.
Ověřte to zvenčí VPN i zevnitř. Požadavek ze sítě, která má být vyloučena, je test, který dokazuje, že nastavení nabylo účinnosti, a je to test, který většina změnových oken vynechá.
Dostupnost není oprávnění
Povolená operace SDK z notebooku na VPN je akceptační test s obvyklou URL účtu a zamýšlenou identitou. Dostupnost přes VPN neuděluje oprávnění k datům Cosmos; datová rovina kontroluje své vlastní role nebo klíče.
Poté spusťte odmítnutí: jinou identitu a síťovou cestu, která už k účtu nemá dosáhnout. Pokud některé uspěje, hranice, kterou jste zdokumentovali, není hranice, kterou jste postavili.
Na konci si zapište čtyři skutečnosti: privátní adresy koncového bodu, zónu DNS, která odpovídá za jméno účtu, režim připojení s jeho požadavky na porty a zda je veřejný přístup vypnutý. Tyto čtyři vysvětlí nastavení dalšímu člověku a každá z nich selhává nezávisle.