Geplangte Job oder mënschlech Umeldung: wéi eng Identitéit soll d’API gesinn?
E Cron-Job an eng Persoun bei enger Umeldungsufro sinn ënnerschiddlech Sujete. Vergläicht Netzwierkwee, Applikatiounsidentitéit an Delegatioun, ier Dir automatiséiert.
E geplangte Job an eng Persoun bei enger Umeldungsufro ruffen déiselwecht API mat ënnerschiddlechen Zertifizéierungen, ënnerschiddlecher Liewensdauer an ënnerschiddlechen Eegentümer un. De Job brauch en Netzwierkwee, eng Applikatiounsidentitéit an eng Rei Berechtegungen; d’Persoun brauch eng Umeldung, en zweete Faktor an eng Sëtzung. Béides ze vermëschen erstellt eng Automatiséierung, déi all Kéier brécht, wann d’Passwuert vun der Persoun sech ännert, oder eng Multifaktor-Politik, déi just sou vill ofgeschwächt gëtt, dass e Cron-Job lieweg bleift.
Dräi Paarten, déi wéi eng ausgesinn
Eng Quelladressregel freet, wou d’Ufro hierkënnt. D’Authentifizéierung freet, wien urufft a wéi eng Beweiser virgeluecht goufen. D’Autoriséierung freet, ob dëse Sujet dës Operatioun däerf ausféieren. Eng VPN ännert just déi éischt vun den dräi, an se ännert se fir all Prozess um Host an net just fir de Job, dofir haalt déi dräi Observatiounen am Incidentrapport getrennt.
Dofir kann en aneren Ausgangsknäppchen eng Ofleenung wéinst der Quelladress behiewen an en ongëltege Token onberéiert loossen. Dofir mécht en gëltegen API-Token en private Endpunkt net erreechbar vun engem Job, dee keng Route dohinner huet.
Den interaktive Wee ass eng schlecht Schabloun fir Automatiséierung
D’Umeldung vun enger Persoun ze schreiwen ass verlockend, well et eng Kéier funktionéiert. D’Skript späichert e Passwuert, vläicht e Somen fir en Eenmolpasswuert, an hänkt du vu enger Erausfuerderung of, déi geduecht ass, e Mënsch ze verlaangen. Déi aktuell bescht Sécherheetspraxis fir OAuth, RFC 9700, verbitt de resource-owner-password-credentials-Grant an erkläert, firwat en schlecht zu Zwei-Faktor- a méischrëttegen Authentifizéierung passt.
Déi ënnerstëtzt Alternativ ass meeschtens e vertrauleche Client-Flow, an deem den Autorisatiounsserver d’Applikatioun authentifizéiert an en Token ausgëtt. De client-credentials-Grant an RFC 6749 Abschnitt 4.4 ass e Beispill. Säi Bestoe bedeit net, datt all API en akzeptéiert, oder datt eng vum Benotzer delegéiert Aufgab duerch en ersat ka ginn, well dat Froen un den Déngschtebsëtzer sinn. Freet, wéi en onbewaacht Modell den Déngscht ënnerstëtzt, ier Dir Code schreift.
Wou d’VPN nach ëmmer higehéiert
Eng VPN kann den Netzwierkwee liwweren, deen eng privat API erfuerdert, an dat ass eng legitim Roll. Se authentifizéiert de Job net vis-à-vis vun der Applikatioun, an se begrenzt net, wat de Job däerf maachen. Eng gedeelt Ausgangsadress identifizéiert och den Host an net de Job, dofir léisst en Agang an der Erlaabnislëscht fir déi Adress all Prozess erduerch, deen drop leeft.
Wann de Job op engem gedeelte Runner leeft, ass dës Ënnerscheedung éischter méi wichteg wéi manner. En anere Workflow um selwechten Host ierft d’Route an d’Adress, an d’API kann déi zwee net ënnerscheeden. Et ass déiselwecht Schwächt wéi e gedeelt Passwuert, eng Schicht méi déif geréckelt. Setzt d’Restriktioun do, wou d’Applikatioun se duerchsetze kann, an isoléiert de Runner, wann Dir d’Erlaabnislëscht net méi enk kritt.
Vergläicht déi zwee Designen éierlech
Eng mënschlech Umeldung gëtt Iech eng richteg Persoun, e richtege zweete Faktor an eng auditbar Sëtzung, an se kann net onbewaacht lafen. Eng Applikatiounsidentitéit gëtt Iech onbewaacht Ausféierung, en iwwerpréifbare Beräich an eng Zertifizéierung, déi Dir rotéiere kënnt, an se kann net fir e Benotzer handelen, deen näischt delegéiert huet. Weder dat eng ass eng méi schwaach Versioun vun der anerer; se beäntweren ënnerschiddlech Froen. Wielt, andeems Dir freet, ob d’Aufgab ouni een Aweesege lafe muss, an ob d’Operatioun engem bestëmmte Benotzer zougeschriwwe gëtt.
Wann béid Äntwerten jo sinn, brauch den Design e Delegatiounsmodell an net e geléint Passwuert. Schreift déi Entscheedung do op, wou den nächsten Betreiwer se fënnt.
Wat virun der Iwwerreechung ze iwwerpréiwen ass
Fouert eng erlaabten Operatioun an eng erfuerdert Ofleenung vum tatsächleche Worker aus, a behält béid Resultater. Test dann eng ofgelaf Zertifizéierung an d’Verhalen, wann den Netzwierkwee net disponibel ass, well dat sinn déi zwou Feeler, déi een nuets erwächen.
curl -sS -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer TOKEN" https://api.example.com/v1/records
Notéiert den Sujet, de Beräich, den Eegentümer vun der Rotatioun an d’Ausféierungsëmfeld nieft deem Resultat. Dee Rapport ass et, deen déi nächst Rotatioun zu enger Routine an net zu engem Incident mécht. Et ass och deen Deel, no deem en Auditeur freet.