Produkta lapa apgalvo, ka tam ir API, un integrācijas sanāksme iestrēgst pie otrā jautājuma. Kura operācija, uz kura objekta, kas to izsauc un kas tiek uzskatīts par veiksmi? Atbildot uz šiem četriem pirms produktu salīdzināšanas, parasti izkrīt puse kandidātu. Tas arī pārvērš atlikušo salīdzinājumu kaut kā tādā, ko var izšķirt tests.

Aizstājiet apgalvojumu par API ar vienu operāciju

API ir transports, nevis spēja. REST galapunkts, lokāla ligzda un komandrindas ietvars visi var tikt saukti par API, un tie nepiedāvā līdzvērtīgas operācijas.

Pierakstiet operāciju kā teikumu pirms dokumentācijas atvēršanas.

Lokāla savienojuma sākšana ir klienta puses darbība, kuras priekšā ir lietotājs. Ierīces profila izsniegšana ir nodrošināšanas darbība, aiz kuras ir inventārs. Lietotāja piekļuves atslēgšana ir administratīva darbība ar audita pēdām. Šīs trīs parasti dzīvo dažādos komponentos, dažādu komandu īpašumā, ar atšķirīgām pilnvarām.

Četri lauki, kas padara līgumu pārbaudāmu

Aizpildiet četrus laukus katrai operācijai: objektu, darbību, izsaucēju un veiksmes nosacījumu. Līgums ar trūkstošu lauku ir vēlēšanās.

Tabula ir viss darba lapa:

FieldQuestionExample
ObjectWhat is being acted on?One enrolled device
ActionObserve, create, change, start, stop, or revoke?Revoke
CallerWhich identity calls it?Deployment service
SuccessWhat observable state proves it?Future sign-in denied

Veiksmes nosacījums ir lauks, ko cilvēki izlaiž, un tieši tas izšķir, vai integrācija strādā. Saglabāts iestatījums nav aktīvs tunelis, un atslēgts konts nav beigusies sesija.

Ja divām operācijām vajadzīgi dažādi izsaucēji, tās ir divas integrācijas. To apvienošana vienā servisa kontā parasti nozīmē piešķirt vairāk pilnvaru, nekā vajag katrai no tām.

Saskaņojiet saskarni ar tās faktisko slāni

OpenVPN kopienas pārvaldības saskarne sazinās ar dēmonu pa TCP vai Unix ligzdu. Tās komandās ietilpst stāvokļa novērošana un signāli dēmonam.

Tas to padara par dēmona vadības kanālu, nevis mitinātu abonementa API vai lietotāju reģistrācijas pakalpojumu. Rūpīga tās dokumentācijas lasīšana pasargā no būvēšanas uz slāņa, kam objekts nepieder.

Tā pati dokumentācija saka, ka protokolam nav sava šifrējuma. Ikviens, kas sasniedz ligzdu, var kontrolēt dēmonu, tāpēc uztveriet to kā sensitīvu vadību, nevis metrikas plūsmu. Piesieniet to pie loopback vai Unix ligzdas un, ja attālinātam izsaucējam tas vajadzīgs, novietojiet aiz ierobežotas kārtības. Tā atklāšana internetā ērtības dēļ pārvērš vadības kanālu incidentā.

Norādiet uzvedību pēc izsaukuma

Pieņemšana nav tas pats, kas pabeigšana. Dēmons var atgriezties pirms tuneļa pacelšanas, tāpēc gaidiet dokumentēto pabeigšanas vai kļūmes notikumu un saistiet to ar nosūtīto pieprasījumu.

Izlemiet, ko izsaucējs dara, ja atbilde pazūd. Akli atkārtot izveidi vai atkārtotu savienojumu nav tas pats, kas pārbaudīt, vai pirmais pieprasījums jau ir iedarbojies.

Piekļuves noņemšana ir vismaz trīs dažādas darbības: bloķēt turpmāku pierakstīšanos, izbeigt aktīvu sesiju un atsaukt akreditācijas datus. Pieprasiet tos, ko politika patiešām prasa, un līgumā pasakiet, kurš ir kurš. Neapzīmējiet vienu veiksmīgu konta atjauninājumu kā pilnīgu atsaukšanu bez pierādījumiem. Atšķirība ir svarīga incidenta laikā, kad pulkstenis iet.

Pārbaudiet līgumu ar pilotu

Mazam apstiprinātam pilotam jāaptver veiksme, noraidījums, pārtraukums un atkārtots mēģinājums, un pēc tam lietojumprogrammas operācija, kurai jābūt atļautai vai aizliegtai.

Dēmona līmeņa saskarnei divas komandas trenē novērošanu un signālu:

echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505

Piešķiriet tikai tās pilnvaras, ko prasa operācija. Turiet noslēpumus ārpus ikdienas žurnāliem un reģistrējiet pietiekami daudz privātu detaļu, lai pateiktu, kurš mērķis tika skarts un kā tas beidzās.

Pierakstiet atjaunošanas ceļu gadījumam, kad pati vadības API nav pieejama. Izvēlieties saskarni, kurai pieder objekts un tā dzīves cikls; automatizācijas apgalvojumi produkta lapā nav aizstājējs.

Saistītie raksti