Ang nakaiskedyul na trabaho at ang taong nakatayo sa prompt ng pag-login ay tumatawag sa parehong API na may magkaibang kredensyal, magkaibang haba ng buhay at magkaibang may-ari. Kailangan ng trabaho ang landas ng network, pagkakakilanlan ng aplikasyon at isang hanay ng mga pahintulot; kailangan ng tao ang pag-login, ikalawang salik at sesyon. Ang paghahalo ng dalawa ay gumagawa ng automasyon na nasisira tuwing nagbabago ang password ng tao, o patakarang multi-factor na pinahina nang tumpak upang manatiling buhay ang cron job.

Tatlong tarangkahan na mukhang isa

Ang tuntunin ng source address ay nagtatanong kung saan galing ang kahilingan. Ang pagpapatunay ay nagtatanong kung sino ang tumatawag at anong ebidensiya ang iniharap. Ang awtorisasyon ay nagtatanong kung maaaring isagawa ng principal na ito ang operasyong ito. Ang VPN ay nagbabago lamang ng una sa tatlo, at binabago ito para sa bawat proseso sa host at hindi lamang para sa trabaho, kaya panatilihing hiwalay ang tatlong obserbasyon sa talaan ng insidente.

Iyon ang dahilan kung bakit ang pagpapalit ng exit node ay maaaring mag-ayos ng pagtanggi dahil sa source address at iwanang hindi nagalaw ang isang di-wastong token. Iyon din ang dahilan kung bakit ang wastong token ng API ay hindi nagpapagawa sa isang pribadong endpoint na maabot mula sa trabahong walang ruta patungo rito.

Ang interaktibong landas ay mahinang template para sa automasyon

Ang pag-script ng pag-login ng tao ay kaakit-akit dahil gumagana ito minsan. Iniimbak ng script ang isang password, marahil isang binhi ng one-time password, at pagkatapos ay umaasa sa isang hamon na dinisenyo upang mangailangan ng tao. Ang kasalukuyang pinakamahusay na kasanayan sa seguridad para sa OAuth, ang RFC 9700, ay nagbabawal sa grant na resource-owner-password-credentials at nagpapaliwanag kung bakit hindi ito umaangkop sa two-factor at multi-step na pagpapatunay.

Ang sinusuportahang alternatibo ay karaniwang daloy ng kompidensiyal na kliyente kung saan pinapatunayan ng authorization server ang aplikasyon at naglalabas ng token. Ang grant na client-credentials sa RFC 6749 seksyon 4.4 ay isang halimbawa. Hindi ibig sabihin ng pag-iral nito na tinatanggap ito ng bawat API, o na ang gawaing idinelegado ng isang user ay maaaring palitan nito, dahil mga tanong iyon para sa may-ari ng serbisyo. Itanong kung anong modelong walang pangangasiwa ang sinusuportahan ng serbisyo bago magsulat ng code.

Saan pa ba nababagay ang VPN

Ang VPN ay maaaring magbigay ng landas ng network na kailangan ng pribadong API, at iyon ay lehitimong papel. Hindi nito pinapatunayan ang trabaho sa aplikasyon, at hindi nito nililimitahan kung ano ang maaaring gawin ng trabaho. Ang pinagsasaluhang exit address ay kinikilala rin ang host at hindi ang trabaho, kaya ang isang entry sa allowlist para sa address na iyon ay tumatanggap sa bawat prosesong tumatakbo rito.

Kung tumatakbo ang trabaho sa pinagsasaluhang runner, mas mahalaga ang pagkakaibang iyon kaysa hindi. Ang isa pang workflow sa parehong host ay nagmamana ng ruta at address, at hindi ito kayang paghiwalayin ng API. Ito ang parehong kahinaan ng pinagsasaluhang password, inilipat isang layer pababa. Ilagay ang paghihigpit kung saan maipatutupad ito ng aplikasyon, at ihiwalay ang runner kung hindi mo mapapaliit pa ang allowlist.

Ihambing ang dalawang disenyo nang tapat

Ang pag-login ng tao ay nagbibigay sa iyo ng tunay na tao, tunay na ikalawang salik at sesyong maaaring i-audit, at hindi ito makakatakbo nang walang pangangasiwa. Ang pagkakakilanlan ng aplikasyon ay nagbibigay sa iyo ng pagpapatakbo nang walang pangangasiwa, nasusuring saklaw at kredensyal na maaari mong paikutin, at hindi ito makakagawi para sa user na walang idinelegado. Wala sa kanila ang mas mahinang bersyon ng isa; sumasagot sila sa magkaibang tanong. Pumili sa pamamagitan ng pagtatanong kung dapat bang tumakbo ang gawain nang walang sinumang naroroon, at kung dapat bang iugnay ang operasyon sa isang partikular na user.

Kung parehong oo ang sagot, kailangan ng disenyo ng modelo ng delegasyon at hindi ng hiram na password. Isulat ang desisyong iyon kung saan ito makikita ng susunod na maintainer.

Ano ang dapat i-verify bago ang turnover

Magpatakbo ng isang pinapayagang operasyon at isang kinakailangang pagtanggi mula sa aktuwal na worker, at itago ang parehong resulta. Pagkatapos ay subukan ang nag-expire na kredensyal at ang pag-uugali kapag hindi available ang landas ng network, dahil iyon ang dalawang pagkabigo na gumigising sa isang tao sa gabi.

curl -sS -o /dev/null -w '%{http_code}\n' \
  -H "Authorization: Bearer TOKEN" https://api.example.com/v1/records

Itala ang principal, saklaw, may-ari ng rotasyon at kapaligiran ng pagpapatupad sa tabi ng resultang iyon. Ang talang iyon ang gumagawa sa susunod na rotasyon na gawain-araw-araw at hindi insidente. Ito rin ang bahaging hinihingi ng isang auditor.

Kaugnay na mga artikulo