Пландалган тапшырма же адамдын кирүүсү: API кайсы инсанды көрүшү керек?
cron тапшырмасы менен кирүү сурамынын алдындагы адам ар башка субъектилер. Автоматташтыруудан мурун тармак жолун, колдонмо инсанын жана өкүлчүлүктү салыштырыңыз.
Пландалган тапшырма жана кирүү сурамынын алдында турган адам бир эле API-ге ар башка күбөлүктөр, ар башка жашоо мөөнөтү жана ар башка ээлер менен кайрылышат. Тапшырмага тармак жолу, колдонмо инсаны жана уруксаттар топтому керек; адамга кирүү, экинчи фактор жана сессия керек. Экөөнү аралаштыруу адамдын сырсөзү өзгөргөн сайын бузулуучу автоматташтырууну же cron тапшырмасын тирүү кармоо үчүн так ошончолук алсыратылган көп факторлуу саясатты жаратат.
Бирдей көрүнгөн үч дарбаза
Булак дарегинин эрежеси сурам кайдан келгенин сурайт. Аутентификация ким чалып жатканын жана кандай далилдер көрсөтүлгөнүн сурайт. Авторизация бул субъект бул операцияны аткара алабы деп сурайт. VPN үчөөнүн биринчисин гана өзгөртөт жана аны тапшырмага гана эмес, хосттогу ар бир процесске өзгөртөт, ошондуктан окуя жазуусунда үч байкоону бөлүк кармаңыз.
Ошондуктан чыгуу түйүнүн алмаштыруу булак дарегине байланыштуу баш тартууну оңдоп, жараксыз токенди тийбестен калтырышы мүмкүн. Ошондуктан жарактуу API токени ага жолу жок тапшырмадан жеке акыркы чекитти жеткиликтүү кылбайт.
Интерактивдүү жол — автоматташтыруунун начар үлгүсү
Адамдын кирүүсүн скриптке айландыруу азгырыктуу, анткени ал бир жолу иштейт. Скрипт сырсөздү, балким бир жолку сырсөз уругун сактайт, анан адамды талап кылууга арналган чакырыкка көз каранды болот. OAuth коопсуздугунун учурдагы мыкты тажрыйбасы, RFC 9700, resource-owner-password-credentials грантына тыюу салат жана анын эки факторлуу жана көп баскычтуу аутентификацияга эмне үчүн начар туура келерин түшүндүрөт.
Колдоого алынган балама адатта купуя кардар агымы болуп саналат, анда авторизация сервери колдонмону аутентификациялайт жана токен берет. RFC 6749-дун 4.4 бөлүмүндөгү client-credentials гранты ошого бир мисал. Анын болушу ар бир API аны кабыл алат дегенди билдирбейт, же колдонуучу өкүлчүлүк берген тапшырманы аны менен алмаштырууга болот дегенди билдирбейт, анткени бул кызмат ээсине берилүүчү суроолор. Код жазуудан мурун кызмат кайсы көзөмөлсүз моделди колдойт деп сураңыз.
VPN дагы эмнеге ылайыктуу
VPN жеке API талап кылган тармак жолун камсыздай алат, жана бул мыйзамдуу рол. Ал тапшырманы колдонмо алдында аутентификациялабайт жана тапшырма эмне кыла аларынын чегин аныктабайт. Жалпы чыгуу дареги да тапшырманы эмес, хостту аныктайт, ошондуктан ошол дарек үчүн уруксат тизмесиндеги жазуу анын үстүндө иштеген ар бир процессти өткөрөт.
Эгер тапшырма жалпы runner-де иштесе, бул айырма азыраак эмес, көбүрөөк маанилүү. Ошол хосттогу башка жумуш агымы маршрутту жана даректи мураска алат, жана API экөөнү ажырата албайт. Бул жалпы сырсөз менен бирдей алсыздык, бир катмар ылдый жылдырылган. Чектөөнү колдонмо аткара ала турган жерге коюңуз, ал эми уруксат тизмесин куушураак кыла албасаңыз, runnerди обочолонтуңуз.
Эки долбоорду чынчылдык менен салыштырыңыз
Адамдын кирүүсү сизге чыныгы адамды, чыныгы экинчи факторду жана текшерилүүчү сессияны берет, жана ал көзөмөлсүз иштей албайт. Колдонмо инсаны сизге көзөмөлсүз аткарууну, каралуучу чөйрөнү жана айландырууга боло турган күбөлүктү берет, жана ал эч нерсе өкүлчүлүк бербеген колдонуучунун атынан иштей албайт. Экөөнүн бири экинчисинин алсыз версиясы эмес; алар ар башка суроолорго жооп берет. Тапшырма эч ким жок иштеши керекпи жана операция белгилүү бир колдонуучуга таандык болушу керекпи деп сурап тандаңыз.
Эгер эки жооп тең ооба болсо, долбоорго карызга алынган сырсөз эмес, өкүлчүлүк модели керек. Бул чечимди кийинки тейлөөчү таба турган жерге жазыңыз.
Өткөрүп берүүнүн алдында эмнени текшерүү керек
Чыныгы жумушчудан бир уруксат берилген операцияны жана бир милдеттүү баш тартууну аткарып, эки натыйжаны тең сактаңыз. Анан мөөнөтү өткөн күбөлүктү жана тармак жолу жеткиликсиз болгондогу жүрүм-турумду текшериңиз, анткени бул түнкүсүн бирөөнү ойготон эки бузулуу.
curl -sS -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer TOKEN" https://api.example.com/v1/records
Субъектини, чөйрөнү, айландыруу ээсин жана аткаруу чөйрөсүн ошол натыйжанын жанына жазыңыз. Так ошол жазуу кийинки айландырууну окуя эмес, күнүмдүк иш кылат. Ал ошондой эле аудитор сураган бөлүк.