Bou of koop auth: die rekening wat jy nie sien kom nie
Stawing is die kenmerk wat elke ingenieur seker is hy kan in 'n naweek bou, en hy is reg. Jy kan 'n aanmeldvorm, 'n gebruikerstabel, en 'n wagwoordherstel-e-pos teen Sondagaand bou. Die naweek is werklik. Die naweek is ook nie die koste nie. Die koste is alles wat daarna kom, volgens 'n skedule wat jy nie bepaal nie, vir 'n stelsel wat jy nooit kan afskakel nie.
Die deel wat jy dink die werk is
E-pos en wagwoord. 'n Sessietabel. 'n "wagwoord vergeet"-skakel wat 'n token e-pos. Sosiale aanmelding as jy deeglik wil wees. Dit is werklik 'n naweek, en as dit die hele werk was, behoort jy dit beslis te bou. Dit is nie die hele werk nie, en jy weet dit is nie, en daarom lees jy 'n bou-teenoor-koop-artikel in plaas daarvan om dit net te bou.
Die rekening wat jy nie sien kom nie
Jy besit nou 'n sekuriteitsoppervlak, permanent. Wagwoord-hashing, en die herhashing van elke gebruiker die dag wanneer jy besef jou bcrypt-kostefaktor was vir 2019-hardeware ingestel. Tempobeperking en rekeningvergrendeling. Credential stuffing, want jou aanmeld-eindpunt sluit by elke skending-herspeel-lys aan binne 'n maand ná bekendstelling. En die groot een: aanspreeklikheid. Die dag wanneer jy geloofsbriewe stoor, word jy 'n teiken, en 'n skending hou op om 'n abstrakte risiko in iemand anders se prysaanbieding te wees. Dit is jou voorval, jou openbaarmakings-e-pos, jou klante se vertroue, en moontlik jou reguleerder.
Die protokolwerk land op die oomblik wanneer jy aan enigiemand ernstig verkoop. Enterprise-SSO beteken SAML, en SAML beteken XML-handtekeningverifikasie, wat sy eie genre van CVE is (jy wil regtig nie handtekeningomvouing in produksie teëkom nie; meer daaroor hier). SCIM beteken die bou van provisionering en de-provisionering, en de-provisionering is 'n sekuriteitskontrole: kry dit verkeerd en 'n afgedankte werknemer behou sy toegang. MFA beteken inskrywing, herstelkodes, en die ondersteuningstou wanneer iemand sy foon verloor. Ouditlogboeke beteken behoud en peuter-bewysbaarheid, want die klant se SOC 2-ouditeur sal vra, en "ons log na 'n lêer êrens" is nie 'n antwoord nie.
Die operasionele stert eindig nooit. Sleutelrotasie en JWKS. Sessie-invalidasie wat werklik oor toestelle heen werk. Token-herroeping. En wagdiens, vir die een stelsel in jou stapel wat, wanneer dit af is, alles saam met dit afvat: niemand meld aan nie, geen API-oproep staaf nie, jou hele produk is 'n 500-bladsy. Auth is vlak nul. Jy teken aan om 'n vlak-nul-sekuriteitstelsel vir ewig aan die gang te hou, met dieselfde personeelgetal wat jy aan jou werklike produk sou spandeer.
Die nakomingstert is jaarliks. SOC 2, ISO 27001, 'n voornemende klant se sekuriteitsvraelys: elkeen vra, in detail, oor elke item hierbo. Ouditeurs is nie bekoor deur "ons het ons eie gerol" nie. Om auth te koop laat jou wys na 'n verskaffer se beheermaatreëls; om dit te bou maak daardie beheermaatreëls joune om te dokumenteer, te bewys, en te verdedig, elke jaar.
Wanneer bou werklik die regte keuse is
Dit is nie 'n "koop, altyd"-pleidooi nie, want dit sou oneerlik wees en jy sou dwarsdeur dit sien. Bou jou eie auth wanneer:
- Dit is 'n klein interne hulpmiddel agter 'n VPN, 'n handjievol gebruikers, geen nakomingsoppervlak nie. Die naweek is werklik die hele werk.
- Auth is jou produk. As jy 'n identiteitsmaatskappy bou, bou identiteit. Dit is jou onderskeider, nie jou oorhoofse koste nie.
- Jy het werklik ongewone vereistes wat geen verskaffer pas nie, en 'n toegewyde sekuriteitspan wat die resultaat vir sy hele lewe sal besit. Let op albei helftes van daardie sin. Die span is die duur helfte.
Buite daardie gevalle is die wiskunde eenvoudiger as wat dit lyk. Die koste van "bou" was nog nooit die eerste naweek nie. Dit is die ewigdurende eienaarskap van 'n sekuriteitskritiese stelsel wat jou produk geensins beter maak nie, net meer joune.
Die eerlike herformulering
Om auth te bou maak jou produk nie meer waardevol vir 'n enkele klant nie. Niemand het ooit jou sagteware gekoop omdat jy die SAML-handtekeningkontrole self gerol het nie. Dit verander auth net van iemand anders se probleem in joune, vir ewig, en spandeer die ingenieurswerk wat jy kon ingesit het in die ding waarvoor mense werklik betaal.
Die gewone beswaar teen koop, dat auth-verskaffers 'n fortuin vra om die enterprise-kenmerke aan te skakel, is werklik. Maar dit is 'n argument oor watter verskaffer, nie oor bou teenoor koop nie. 'n Groot deel van daardie rekening is 'n kenmerkbelasting wat jy nie hoef te betaal nie. Koop auth wat SSO, SCIM, MFA en ouditlogboeke insluit sonder die per-verbinding-tolhek, en die bou-teenoor-koop-vraag beantwoord meestal homself.
Voordat jy 'n sprint aan 'n aanmeldstelsel spandeer, is dit die moeite werd om presies te sien wat enterprise-klante daarvan sal eis. Hier is wat ingesluit is, op elke plan.