Jy verbind die skootrekenaar deur 'n VPN aan die VNet, maak die Cosmos DB-rekening-URL oop, en die versoek verlaat steeds oor die publieke internet. Die tonnel het sy werk gedoen. Wat dit nie gedoen het nie, is om 'n private endpoint te skep, die private DNS-rekord te publiseer of publieke toegang af te skakel, want dit is drie afsonderlike veranderinge aan die rekening eerder as eienskappe van jou netwerkverbinding. Hierdie voorbeeld gebruik Azure Cosmos DB vir NoSQL, 'n private endpoint in 'n VNet, en 'n skootrekenaar wat per VPN aan daardie VNet gekoppel is, en dit hou die toepassing se adres onveranderd.

Die mite: om op die VPN te wees maak die databasis privaat

Om op die VNet te wees beteken net dat jou pakkette private adresse in daardie VNet kan bereik. Dit sê niks oor waar die rekeningnaam oplos nie, en dit sê niks oor of die rekening steeds publieke verkeer aanvaar nie.

'n Private endpoint is 'n aparte hulpbron met sy eie adres, sy eie goedkeuringsstap en sy eie DNS-bekabeling. Totdat dit bestaan en goedgekeur is, los die naam na die publieke endpoint op en jou verkeer gaan daarheen ongeag die tonnel.

Wat die naam eintlik privaat laat oplos

Hou die SDK se normale rekening-endpoint, iets soos https://ACCOUNT.documents.azure.com. Private DNS behoort daardie naam deur die Private Link-ketting na die endpoint se private adresse op te los. Moenie dit met 'n numeriese URL vervang en sertifikaatkontroles afskakel nie, want dit ruil 'n DNS-probleem vir 'n sekuriteitsprobleem.

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

Daardie waardes is spesifiek aan die NoSQL API. Ander Cosmos API's is nie uitruilbare inskrywings in dieselfde voorbeeld nie, en om die subresource-naam van 'n ander API te kopieer lewer 'n endpoint wat nooit oplos nie.

Skep en keur die endpoint deur die gemagtigde Azure-werkvloei goed, en gebruik dan sy private DNS-sonegroep-integrasie. Die skootrekenaar het 'n oplosser nodig wat daardie sone kan antwoord, hetsy direk of deur goedgekeurde aansturing, en 'n VPN-kliëntroete na elke relevante endpoint-adres.

'n Private endpoint kan meer as een adres hê, insluitend globale en streeksinskrywings. Onderhou die DNS-integrasie wanneer die rekening se streke verander, eerder as om 'n enkele adres in 'n hosts-lêer vas te pen, en onthou dat 'n antwoord van 'n onverwante publieke oplosser niks oor die private pad bewys nie. As jy DNS deur 'n hub aanstuur, bevestig dat die aanstuurder antwoord voordat jy die kliënt ontfout. 'n Verouderde aanstuurder gee die publieke antwoord terug, wat presies soos 'n ontbrekende endpoint lyk.

Gateway-modus en Direct-modus is nie uitruilbaar nie

Gateway-modus stuur diensversoeke oor HTTPS op TCP 443. Dit is waarom 'n firewallbeleid wat net 443 toelaat daarvoor werk en waarom hierdie voorbeeld dit doelbewus kies.

Direct-modus oor Private Link het ander verbindingsvereistes, insluitend 'n wyer TCP-poortreeks wat die rekeningdokumentasie lys. 'n Beleid wat vir Gateway-modus geskryf is, moenie stilweg vir 'n Direct-modus-kliënt hergebruik word nie, anders sal die SDK verbind en dan by die eerste data-operasie hang.

Kies een modus, skryf dit saam met die rekening neer, en maak die netwerkbeleid daarby pas. Span ne wat tydens probleemoplossing van modus verander, eindig gewoonlik met 'n firewallreëlstel wat nie een van die twee bevredig nie.

Om publieke toegang af te skakel is 'n aparte skakelaar

As die rekening slegs privaat moet wees, skakel publieke netwerktoegang deur die rekening se ondersteunde instelling af en verifieer die resultaat. Moenie die bestaan van 'n private endpoint as die volledige toegangsbesluit beskou nie, want 'n rekening met 'n private endpoint en publieke toegang geaktiveer antwoord steeds op die internet.

Verifieer van buite die VPN sowel as binne. 'n Versoek van 'n netwerk wat uitgesluit behoort te wees, is die toets wat bewys die instelling het in werking getree, en dit is die toets wat die meeste veranderingsvensters oorslaan.

Bereikbaarheid is nie toestemming nie

'n Toegelate SDK-operasie vanaf die VPN-skootrekenaar is die aanvaardingstoets, met die normale rekening-URL en die beoogde identiteit. VPN-bereikbaarheid verleen nie Cosmos-datatoestemmings nie; die datavlak kontroleer sy eie rolle of sleutels.

Voer dan die weierings uit: 'n ander identiteit, en 'n netwerkpad wat nie meer die rekening behoort te bereik nie. As enige een slaag, is die grens wat jy gedokumenteer het nie die grens wat jy gebou het nie.

Skryf vier feite neer wanneer jy klaarmaak: die endpoint se private adresse, die DNS-sone wat vir die rekeningnaam antwoord, die verbindingsmodus met sy poortvereistes, en of publieke toegang afgeskakel is. Daardie vier verduidelik die opstelling aan die volgende persoon, en elkeen faal onafhanklik.

Verwante artikels