Definitu VPN eragiketa APIak alderatu aurretik
Konexioen kontrola, profileen hornidura, erabiltzaileen administrazioa eta behaketa API desberdinak dira. Izendatu lehenik objektua, ekintza eta arrakasta-baldintza.
Produktu-orri batek dio API bat duela, eta integrazio-bilerak bigarren galderan trabatzen da. Zein eragiketa, zein objekturen gainean, nork deituta eta zer zenbatzen da arrakastatzat? Lau horiei produktuak alderatu aurretik erantzuteak normalean hautagaien erdia ezabatzen du. Gainerako alderaketa proba batek erabaki dezakeen zerbait bihurtzen du gainera.
Ordeztu API bat duela dioen baieztapena eragiketa bakarrarekin
APIa garraioa da, ez gaitasuna. REST mutur-puntu bat, tokiko socket bat eta komando-lerroko bilgarri bat API dei daitezke guztiak, eta ez dituzte eragiketa baliokideak eskaintzen.
Idatzi eragiketa esaldi gisa dokumentazioa ireki aurretik.
Tokiko konexio bat abiatzea bezero-aldeko ekintza da, erabiltzaile bat aurrean duela. Gailu-profil bat jaulkitzea hornidura-ekintza da, inbentario bat atzean duela. Erabiltzaile baten sarbidea desgaitzea administrazio-ekintza da, auditoria-arrasto bat duela. Hiru horiek osagai desberdinetan bizi ohi dira, talde desberdinen jabetzakoak, autoritate desberdinarekin.
Kontratua probagarri egiten duten lau eremu
Bete lau eremu eragiketa bakoitzeko: objektua, ekintza, deitzailea eta arrakasta-baldintza. Eremu bat falta zaion kontratua desioa da.
Taula da lan-orri osoa:
| Field | Question | Example |
|---|---|---|
| Object | What is being acted on? | One enrolled device |
| Action | Observe, create, change, start, stop, or revoke? | Revoke |
| Caller | Which identity calls it? | Deployment service |
| Success | What observable state proves it? | Future sign-in denied |
Arrakasta-baldintza jendeak saltatzen duen eremua da, eta hark erabakitzen du integrazioa funtzionatzen duen. Gordetako ezarpena ez da tunel aktiboa, eta desgaitutako kontua ez da amaitutako saioa.
Bi eragiketak deitzaile desberdinak behar badituzte, bi integrazio dira. Zerbitzu-kontu bakarrean biltzeak normalean bietako edozeinek behar duena baino autoritate gehiago ematea esan nahi du.
Egokitu interfazea bere benetako geruzara
OpenVPNen komunitateko kudeaketa-interfazeak daemon batekin hitz egiten du TCP edo Unix socket baten bidez. Bere komandoek egoera-behaketak eta daemonari seinaleak barne hartzen dituzte.
Horrek daemonaren kontrol-kanal bihurtzen du, ez ostaturiko harpidetza-API bat ezta erabiltzaileen erregistro-zerbitzu bat ere. Bere dokumentazioa arretaz irakurtzeak objektua ez duen geruza baten kontra eraikitzea saihesten du.
Dokumentazio berak dio protokoloak ez duela berezko zifratzerik. Socketera iristeko gai denak daemona kontrola dezake, beraz, trata ezazu kontrol sentikor gisa, ez metrika-jario gisa. Lotu loopback-era edo Unix socket batera, eta jarri murriztutako antolamendu baten atzean deitzaile urrunak behar badu. Eroso egoteko interneten agerian uzteak kontrol-kanala gertakari bihurtzen du.
Zehaztu deialdiaren osteko portaera
Onespena ez da osatzea bezalakoa. Daemona tunela altxatu aurretik itzul daiteke, beraz, itxaron dokumentatutako osatze- edo hutsegite-gertaeraren zain, eta lotu bidalitako eskaerari.
Erabaki zer egiten duen deitzaileak erantzuna galtzen bada. Sorkuntza edo berrurkonexio bat itsu-itsuan errepikatzea ez da lehen eskaerak jada eragin duen egiaztatzearen berdina.
Sarbidea kentzea gutxienez hiru ekintza desberdin dira: etorkizuneko saio-hasiera blokeatzea, martxan dagoen saioa amaitzea eta kredentziala baliogabetzea. Eskatu politikak benetan eskatzen dituenak, eta esan kontratuan zein den zein. Ez etiketatu kontu-eguneratze arrakastatsu bat erabateko baliogabetzat frogarik gabe. Aldeak garrantzia du gertakari batean, erlojua martxan dagoenean.
Egiaztatu kontratua pilotu batekin
Onartutako pilotu txiki batek arrakasta, ukapena, etenaldia eta berrsaiolehen saiakera estali beharko lituzke, eta gero baimendu edo ukatu beharreko aplikazio-eragiketa.
Daemon mailako interfaze baterako, bi komandok behaketa eta seinale bat praktikatzen dituzte:
echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505Eman eragiketak behar duen autoritatea soilik. Mantendu sekretuak errutinazko erregistroetatik kanpo, eta erregistratu nahikoa xehetasun pribatu zein helburu kaltetu den eta nola amaitu den esateko.
Idatzi berreskuratze-bidea kontrol-APIa bera behera dagoen kasurako. Aukeratu objektua eta haren bizi-zikloa dituen interfazea; produktu-orriko automatizazio-aldarrikapenak ez dira ordezko.