La teva VPN no fa privada Cosmos DB per si sola
Una VPN porta el portàtil a la xarxa, no dins de la base de dades. Mira què han de fer el punt de connexió privat, la zona DNS, el mode de connexió i l'accés al compte.
Connectes el portàtil a la VNet mitjançant una VPN, obres l'URL del compte de Cosmos DB i la sol·licitud continua sortint per la internet pública. El túnel ha fet la seva feina. El que no ha fet és crear un punt de connexió privat, publicar el registre DNS privat o desactivar l'accés públic, perquè aquests són tres canvis separats al compte i no propietats de la teva connexió de xarxa. Aquest exemple utilitza Azure Cosmos DB per a NoSQL, un punt de connexió privat en una VNet i un portàtil connectat a aquesta VNet per VPN, i manté l'adreça de l'aplicació sense canvis.
El mite: estar a la VPN fa privada la base de dades
Estar a la VNet només significa que els teus paquets poden arribar a adreces privades d'aquesta VNet. No diu res sobre on es resol el nom del compte, ni diu res sobre si el compte encara accepta trànsit públic.
Un punt de connexió privat és un recurs separat amb la seva pròpia adreça, el seu propi pas d'aprovació i el seu propi cablejat DNS. Fins que no existeixi i s'aprovi, el nom es resol al punt de connexió públic i el teu trànsit hi va independentment del túnel.
Què fa que el nom es resolgui de manera privada
Mantén el punt de connexió habitual del compte de l'SDK, una cosa com https://ACCOUNT.documents.azure.com. El DNS privat ha de resoldre aquest nom a través de la cadena de Private Link fins a les adreces privades del punt de connexió. No el substitueixis per un URL numèric ni desactivis les comprovacions de certificats, perquè això canvia un problema de DNS per un problema de seguretat.
| Example choice | Value |
|---|---|
| Cosmos API | NoSQL |
| Private endpoint subresource | Sql |
| Private DNS zone | privatelink.documents.azure.com |
| SDK connection mode | Gateway |
Aquests valors són específics de l'API NoSQL. Les altres API de Cosmos no són entrades intercanviables en el mateix exemple, i copiar el nom del subrecurs d'una altra API produeix un punt de connexió que no es resol mai.
Crea i aprova el punt de connexió mitjançant el flux de treball autoritzat d'Azure i després utilitza la seva integració amb el grup de zones DNS privades. El portàtil necessita un resolutor que pugui respondre per a aquesta zona, ja sigui directament o mitjançant un reenviament aprovat, i una ruta de client VPN a cada adreça rellevant del punt de connexió.
Un punt de connexió privat pot tenir més d'una adreça, incloent-hi entrades globals i regionals. Mantén la integració DNS quan canviïn les regions del compte en lloc de fixar una sola adreça en un fitxer hosts, i recorda que una resposta d'un resolutor públic no relacionat no demostra res sobre el camí privat. Si reenvies DNS a través d'un concentrador, confirma que el reenviador respon abans de depurar el client. Un reenviador obsolet retorna la resposta pública, que sembla exactament un punt de connexió que falta.
El mode Gateway i el mode Direct no són intercanviables
El mode Gateway envia les sol·licituds del servei per HTTPS sobre TCP 443. Per això una política de tallafoc només per al 443 hi funciona i per això aquest exemple el tria deliberadament.
El mode Direct sobre Private Link té requisits de connectivitat diferents, incloent-hi un rang de ports TCP més ampli que la documentació del compte enumera. Una política escrita per al mode Gateway no s'ha de reutilitzar silenciosament per a un client en mode Direct, o l'SDK es connectarà i després es penjarà en la primera operació de dades.
Tria un mode, escriu-lo amb el compte i fes que la política de xarxa hi coincideixi. Els equips que canvien de mode durant la resolució de problemes solen acabar amb un conjunt de regles de tallafoc que no satisfà cap dels dos.
Desactivar l'accés públic és un interruptor a part
Si el compte ha de ser només privat, desactiva l'accés a la xarxa pública mitjançant la configuració compatible del compte i verifica el resultat. No tractis l'existència d'un punt de connexió privat com la decisió completa d'accés, perquè un compte amb un punt de connexió privat i accés públic activat encara respon a internet.
Verifica-ho des de fora de la VPN i també des de dins. Una sol·licitud des d'una xarxa que hauria d'estar exclosa és la prova que demostra que la configuració ha pres efecte, i és la prova que la majoria de finestres de canvi s'estalvien.
L'abastabilitat no és permís
Una operació SDK permesa des del portàtil de la VPN és la prova d'acceptació, amb l'URL habitual del compte i la identitat prevista. L'abastabilitat per VPN no atorga permisos de dades de Cosmos; el pla de dades comprova els seus propis rols o claus.
Després executa les denegacions: una identitat diferent i un camí de xarxa que ja no hauria d'arribar al compte. Si qualsevol de les dues té èxit, la frontera que has documentat no és la frontera que has construït.
Anota quatre fets en acabar: les adreces privades del punt de connexió, la zona DNS que respon pel nom del compte, el mode de connexió amb els seus requisits de ports i si l'accés públic està desactivat. Aquests quatre expliquen la configuració a la persona següent, i cadascun falla de manera independent.