Tukuyin ang operasyon ng VPN bago ihambing ang mga API
Ang kontrol ng koneksyon, paghahanda ng profile, pangangasiwa ng user at pagmamasid ay magkakaibang API. Pangalanan muna ang bagay, aksyon at kondisyon ng tagumpay.
Sinasabi ng isang pahina ng produkto na mayroon itong API, at ang pulong ng integrasyon ay natigil sa ikalawang tanong. Aling operasyon, sa aling bagay, tinatawag ng sino, at ano ang itinuturing na tagumpay? Ang pagsagot sa apat na iyon bago ihambing ang mga produkto ay karaniwang nag-aalis ng kalahati ng mga kandidato. Ginagawa rin nitong isang bagay na masusolusyunan ng isang test ang natitirang paghahambing.
Palitan ang «may API» ng isang operasyon
Ang API ay isang transportasyon, hindi kakayahan. Ang REST endpoint, lokal na socket at wrapper ng command line ay maaaring tawaging API, at hindi sila nag-aalok ng pantay na operasyon.
Isulat ang operasyon bilang isang pangungusap bago tingnan ang dokumentasyon.
Ang pagsisimula ng lokal na koneksyon ay aksyon sa panig ng kliyente na may user sa harap nito. Ang pag-isyu ng profile ng device ay aksyong paghahanda na may imbentaryo sa likod nito. Ang pag-disable ng access ng user ay administratibong aksyon na may bakas ng audit. Ang tatlong ito ay karaniwang nasa magkakaibang bahagi, pag-aari ng magkakaibang team, na may magkakaibang awtoridad.
Apat na field na nagpapagawang masubok ang kontrata
Punan ang apat na field para sa bawat operasyon: ang bagay, ang aksyon, ang tumatawag at ang kondisyon ng tagumpay. Ang kontratang may kulang na field ay isang hiling lamang.
Ang talahanayan ang buong worksheet:
| 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 |
Ang kondisyon ng tagumpay ang field na nilalaktawan ng mga tao, at iyon ang nagpapasya kung gumagana ang integrasyon. Ang naka-save na setting ay hindi aktibong tunnel, at ang na-disable na account ay hindi tapos na session.
Kung ang dalawang operasyon ay nangangailangan ng magkakaibang tumatawag, dalawang integrasyon ang mga iyon. Ang pagsasama sa isang service account ay karaniwang nangangahulugan ng pagbibigay ng mas maraming awtoridad kaysa kailangan ng alinman sa kanila.
Itugma ang interface sa layer na talagang pag-aari nito
Ang interface ng pamamahala ng komunidad ng OpenVPN ay nakikipag-usap sa isang daemon sa pamamagitan ng TCP o Unix socket. Kasama sa mga utos nito ang pagmamasid ng estado at mga senyales sa daemon.
Ginagawa nitong control channel ng daemon, hindi hosted subscription API o serbisyo ng pagpaparehistro ng user. Ang maingat na pagbasa ng dokumentasyon nito ay nagliligtas sa iyo mula sa pagbuo laban sa isang layer na hindi nagmamay-ari ng bagay.
Sinasabi rin ng dokumentasyong iyon na ang protocol ay walang sariling encryption. Sinumang makarating sa socket ay makokontrol ang daemon, kaya ituring itong sensitibong kontrol, hindi feed ng metrics. Itali ito sa loopback o Unix socket, at ilagay sa likod ng limitadong kaayusan kung kailangan ito ng malayong tumatawag. Ang paglalantad nito sa internet para sa kaginhawahan ay ginagawang insidente ang isang control channel.
Tukuyin ang pag-uugali pagkatapos ng tawag
Ang pagtanggap ay hindi katulad ng pagkumpleto. Maaaring bumalik ang daemon bago bumangon ang tunnel, kaya hintayin ang dokumentadong kaganapan ng pagkumpleto o pagkabigo at iugnay ito sa kahilingang ipinadala mo.
Magpasya kung ano ang gagawin ng tumatawag kung mawala ang tugon. Ang bulag na pag-uulit ng paglikha o muling pagkonekta ay hindi katulad ng pagsuri kung may epekto na ang unang kahilingan.
Ang pag-alis ng access ay hindi bababa sa tatlong magkakaibang aksyon: harangan ang hinaharap na pag-sign in, tapusin ang aktibong session at bawiin ang kredensyal. Hilingin ang mga talagang kailangan ng patakaran, at sabihin sa kontrata kung alin ang alin. Huwag lagyan ng label ang isang matagumpay na pag-update ng account bilang kumpletong pagbawi nang walang ebidensya. Mahalaga ang pagkakaiba sa panahon ng insidente, kapag tumatakbo ang orasan.
Suriin ang kontrata sa isang pilot
Ang maliit na aprubadong pilot ay dapat masakop ang tagumpay, pagtanggi, pagkagambala at muling pagsubok, na sinusundan ng operasyon ng aplikasyon na dapat payagan o tanggihan.
Para sa interface sa antas ng daemon, dalawang utos ang nagsasanay ng pagmamasid at senyales:
echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505Magbigay lamang ng awtoridad na kailangan ng operasyon. Ilayo ang mga sikreto sa karaniwang log, at mag-log ng sapat na pribadong detalye upang sabihin kung aling target ang naapektuhan at paano ito natapos.
Isulat ang daan ng pagbawi para sa kaso kung ang control API mismo ay down. Piliin ang interface na nagmamay-ari ng bagay at ng lifecycle nito; ang mga pag-aangkin ng automation sa pahina ng produkto ay hindi kapalit.