Wêrom’t jo iPhone-app de systeem-VPN net oan of út kin sette
In publike app kin de systeem-VPN net omsette, de status net lêze of in ferbining ôftwinge. On Demand-regels, Always On-profylen op tafersjochte apparaten en MDM binne de opsjes.
In produkmanager freget om in knop dy’t de bedriuws-VPN oansette, en it fersyk klinkt triviaal. Op iOS is dat gjin lytse funksje; it stiet bûten it publike kontrakt, en elke omwei slagget net by de beoardieling of brekt yn ’e folgjende ferzje. Lis it fersyk troch wat it platfoarm echt tastiet, en it ûntwerp skriuwt himsels foar in grut part. In app kin in VPN-konfiguraasje besitte en dy starte. In app kin de systeemskeakel net berikke, kin de status fan in profyl dat er net makke hat net lêze, en kin in brûker net tsjin syn wil ferbûn hâlde.
Begjin by de trije dingen dy’t de brûker bedoelt
Skied de betsjuttings foardat jo de API’s skiede. Soms wol de brûker dat de tunnel fan jo app ferbûn is, soms wol er de skeakel yn Ynstellings omsette foar in profyl dat immen oars ynstallearre hat, en soms wol er dat de tillefoan net sûnder tunnel browze kin. Dy trije mape op trije ferskillende meganismen, en allinnich de earste is iepen foar in gewoane app.
De twadde betsjutting is dy’t de Stack Overflow-fragen genereart, en dêr is gjin stipe antwurd foar. De skeakel yn Ynstellings heart by de brûker en, op behearde apparaten, by it profyl. Gjin publike API listet VPN-konfiguraasjes op, rapportearret oft de systeemtunnel oan is, of set dy om.
Wat in app echt meitsje kin
NetworkExtension jout in app in eigen konfiguraasje fia NEVPNManager. Mei it Personal VPN-rjocht en de tastimming fan de brûker bewarret de app in konfiguraasje dy’t yn Ynstellings ûnder syn eigen namme ferskynt, en it kin dy iene ferbining starte of stopje. Dat is in echte, beoardielbere mooglikheid, en it is ek de hiele omfang: de behearder lêst en skriuwt allinnich wat er sels makke hat.
It rjocht is net automatysk. Jo freegje it by Apple oan en ûnderbouwe wêrom’t de app oeral in tunnel nedich hat, en in klant waans iennichste doel is om it profyl fan in oar oan te setten hat gjin goed antwurd. Pakkettunnelproviders folgje deselde regel mei in oare klasse: NETunnelProviderManager besit provider-basearre konfiguraasjes dy’t de app sels ynstallearre hat. Gjin fan beide paden berikt in profyl dat MDM levere hat.
Tastimming jildt ek op it momint fan bewarjen. It skriuwen fan in konfiguraasje freget de brûker, en dy fraach is net eat dat in app foar gemak ûnderdrukke kin.
It lêzen fan de status rint tsjin deselde muorre
Status liket freonliker as kontrôle en is like sletten. NEVPNStatus rapportearret ûnjildich, ôfskeakele, ferbine, ferbûn, opnij befêstigje of ôfbrekke foar de eigen konfiguraasje fan ’e app, en by elke feroaring giet in notifikaasje ôf. It seit neat oer in tunnel dy’t troch in behearprofyl ynstallearre is, en dat is krekt de status dy’t in helpdesk sjen wol.
Netwurkpaadmonitoring en ynterfaceferoaringen wurde by ûntwerpreviews as ferfangers oanbean. Se beskriuwe it paad dat it ferkear fan de app nimt, dat feroaret om redenen dy’t neat mei de VPN-status te krijen hawwe, en se as VPN-lêzing brûke jout in ynterface dat yn beide rjochtingen liedt.
On Demand en Always On binne de echte hefbomen
De stipe hefbomen libje yn it profyl ynstee fan yn ’e app. On Demand-regels fertelle it systeem wannear’t it ferbine moat: in oardere list fan betingsten mei aksjes, beoardiele troch it bestjoeringssysteem, net troch jo koade. In regel dy’t op elk ynterface ferbynt, makket in altyd-ferbûn-gefoel sûnder in app kontrôle te jaan.
Always On VPN is it twingmeganisme, en it is bûn oan tafersjoch. Op in tafersjochte apparaat ynstallearret MDM in profyl dat de tunnel oanhâldt; op in persoanlike tillefoan sûnder tafersjoch jouwe deselde kaaien net itselde gedrach. Dy asymmetry is bewust, en gjin kombinaasje fan ladingkaaien hellet dy fuort. As de eask echt is dat de VPN oan moat, is de eask eins dat it apparaat beheard wurde moat.
Tusken de beide sit de swakkere neef: in regel dy’t wer ferbynt neidat de brûker ôfskeakele hat. Hy ferbynt by de folgjende beoardieling fan de regel, wat net itselde is as fuortdaliks, en in brûker dy’t mei opsetsin ôfskeakele hat sil it ferskil fernimme. Untwerp de ynterface om dat gat hinne ynstee fan in slot te ûnthjitten.
Leverje it stipe paad
Fjau fragen bepale it meganisme foardat der koade is: wa’t it apparaat besit, oft it ûnder tafersjoch stiet, hokker klant de tunnel einigeet, en wêr’t it profyl wei komt. As ien fan dy ûnbekend is, is it funksjefersyk net klear om te skatten.
In privee-API dy’t oan de systeem-VPN pielt, slagget foar in demo en falt by de beoardieling, en as it fia in oare wei ferstjoerd wurdt, brekt it yn ’e folgjende iOS-ferzje. Der is gjin ferzje fan dy ruil dy’t foar in skeakel de muoite wurdich is.
Beheartelemetrie is in apart kanaal: it rapportearret dat in profyl ynstallearre is en oft it apparaat foldocht, wat rapportaazje is en gjin kontrôle-oerflak per app. Test it stream op in echt apparaat nei elke update, want it stipe gedrach libbet yn it bestjoeringssysteem en it bestjoeringssysteem beweecht.