Firwat deng iPhone-App de System-VPN net an- oder ausschalte kann
Eng ëffentlech App kann de System-VPN net ëmschalten, säi Status net liesen oder eng Verbindung erzwingen. On Demand-Reegelen, Always On-Profiler op iwwerwaachten Apparater an MDM sinn d’Optiounen.
E Produktmanager freet no engem Knäppchen, deen d’Firma-VPN uschalt, an d’Ufro kléngt trivial. Op iOS ass dat keng kleng Funktioun; se steet baussent dem ëffentlechen Kontrakt, an all Ëmwee entweder feelt an der Revisioun oder brécht an der nächster Versioun. Fuert d’Ufro duerch dat, wat d’Plattform tatsächlech erlaabt, an den Design schreift sech gréisstendeels selwer. Eng App kann eng VPN-Konfiguratioun besëtzen an se starten. Eng App kann de System-Schalter net erreechen, kann de Status vun engem Profil net liesen, deen se net erstallt huet, an kann e Benotzer net géint säi Wëllen verbonne halen.
Fänkt mat deenen dräi Saachen un, déi de Benotzer mengt
Trennt d’Bedeitungen, ier Dir d’APIen trennt. Heiansdo wëll de Benotzer den Tunnel vun Ärer App verbonnen, heiansdo wëll hien de Schalter an den Astellungen fir ee Profil ëmschalten, deen een aneren installéiert huet, an heiansdo wëll hien, datt den Telefon ouni den Tunnel net ka browsen. Dat entsprécht dräi verschiddene Mechanishen, an nëmmen deen éischten ass fir eng gewéinlech App op.
Déi zweet Bedeitung ass déi, déi d’Stack Overflow-Froe mécht, an et gëtt keng ënnerstëtzt Äntwert drop. De Schalter an den Astellungen gehéiert dem Benotzer an, op geréierten Apparater, dem Profil. Keng ëffentlech API zielt VPN-Konfiguratiounen op, mellt ob den System-Tunnel ugeet oder schalt en ëm.
Wat eng App tatsächlech ka schafen
NetworkExtension gëtt enger App hir eege Konfiguratioun duerch NEVPNManager. Mat dem Personal VPN-Recht an der Zoustëmmung vum Benotzer späichert d’App eng Konfiguratioun, déi an den Astellungen ënner hirem eegenen Numm erschéngt, an se kann déi eng Verbindung starten oder stoppen. Dat ass eng richteg, iwwerpréifbar Fäegkeet, an et ass och de ganzen Ëmfang: de Manager liest a schreift nëmmen dat, wat hien erstallt huet.
D’Recht ass net automatesch. Dir freet et bei Apple un a begrënnt, firwat d’App iwwerhaapt en Tunnel brauch, an e Client, deem säin eenzegt Zil et ass, dem aneren säi Profil unzeschalten, huet keng gutt Äntwert. Paket-Tunnel-Provideren follegen der selwechter Regel mat enger anerer Klass: NETunnelProviderManager besëtzt Provider-baséiert Konfiguratiounen, déi d’App selwer installéiert huet. Keen vun den zwee Weeër erreecht e Profil, deen MDM geliwwert huet.
D’Zoustëmmung gëllt och beim Späicheren. Eng Konfiguratioun schreiwen freet de Benotzer, an déi Fro ass net eppes, wat eng App fir Komfort ënnerdrécke kann.
De Status liesen stéisst op déiselwecht Mauer
De Status gesäit frëndlecher aus wéi d’Kontroll an ass grad esou zou. NEVPNStatus mellt ongülteg, getrennt, verbannen, verbonnen, nei bestätegen oder trennen fir d’App hir eegen Konfiguratioun, an bei all Ännerung geet eng Notifikatioun eraus. Et seet näischt iwwer en Tunnel, deen e Verwaltungsprofil installéiert huet, an dat ass just de Status, deen en Helpdesk wëll gesinn.
Netzwierkpad-Monitoring an Interface-Ännerungen ginn an Design-Revisiounen als Ersatz ugebueden. Si beschreiwen de Pad, deen den Trafik vun der App hëlt, an deen ännert sech aus Grënn, déi näischt mam VPN-Status ze dinn hunn, an se als VPN-Ablesung ze benotze gëtt eng Interface, déi a béide Richtungen lügt.
On Demand an Always On sinn déi richteg Hiewelen
Déi ënnerstëtzt Hiewelen liewen am Profil an net an der App. On Demand-Reegelen soen dem System, wéini et sech verbannen soll: eng geuerdent Lëscht vu Konditiounen mat Aktiounen, déi vum Betribssystem ausgewäert gëtt, net vun Ärem Code. Eng Regel, déi op all Interface verbënnt, schaaft e Gefill vu ëmmer-verbonnen ouni enger App Kontroll ze ginn.
Always On VPN ass de Mëttel fir duerchzesetzen, an et ass un d’Iwwerwaachung gebonnen. Op engem iwwerwaachten Apparat installéiert MDM e Profil, deen den Tunnel uewen hält; op engem privaten Telefon ouni Iwwerwaachung ginn déiselwecht Schlësselen net déiselwecht Verhalen. Déi Asymmetrie ass bewosst, an eng Kombinatioun vu Payload-Schlëssele kann se net ophiewen. Wann d’Fuerderung wierklech ass, datt de VPN muss u sinn, ass d’Fuerderung tatsächlech, datt den Apparat muss geréiert ginn.
Tëschent béide sëtzt dee méi schwaache Cousin: eng Regel, déi sech erëm verbënnt, nodeems de Benotzer sech getrennt huet. Se verbënnt sech, wann d’Regel dat nächste Kéier ausgewäert gëtt, wat net datselwecht ass wéi direkt, an e Benotzer, deen sech bewosst getrennt huet, wäert den Ënnerscheed bemierken. Design d’Interface ronderëm déi Lück, amplaz e Schlass ze verspriechen.
Liwwert deen ënnerstëtzte Wee
Véier Froe bestëmmen de Mechanismus, ier et iergendeen Code gëtt: wien den Apparat besëtzt, ob en iwwerwaacht ass, wéi e Client den Tunnel fäerdeg mécht a wou de Profil hierkënnt. Wann ee vun deene onbekannt ass, ass d’Funktiounsufro net prett fir ze schätzen.
Eng privat API, déi am System-VPN wullt, kënnt duerch eng Demo a fält an der Revisioun, a wann se anescht geliwwert gëtt, brécht se an der nächster iOS-Versioun. Et gëtt keng Versioun vun deem Tausch, déi fir ee Schalter wäert ass.
Verwaltungs-Telemetrie ass en eegene Kanal: se mellt, datt e Profil installéiert ass an ob den Apparat konform ass, wat Berichterstattung ass an net eng Kontrollfläch pro App. Test de Floss op engem richtegen Apparat no all Update, well dat ënnerstëtzt Verhalen am Betribssystem lieft an de Betribssystem sech beweegt.