Шэсць рашэнняў, якія трэба запісаць у кантракт доступу ад воблака да бэкенда
Тунэль дае воблачнай працоўнай нагрузцы шлях, а не мэту. Вырашыце аперацыі, ідэнтычнасць працоўнай нагрузкі, апрацоўку даных і выдаленне, перш чым выбіраць злучальнік.
Вазьміце сэрвіс справаздач у воблачным акаўнце, якому патрэбныя зацверджаныя зводкі з унутранай сістэмы кліента. VPN або аўтэнтыфікаванае злучэнне праграмы абараняе шлях і не вырашае нічога іншага. Ён не вырашае, ці можа працоўная нагрузка справаздач чытаць непатрэбныя запісы, змяняць бэкенд або захоўваць тое, што атрымала. Запішыце пагадненне аб доступе ў тэрмінах аперацый і даных, перш чым выбраць злучальнік, бо злучальнік — самая танна змяняемая частка потым і самая простая, каб памыліцца першай.
Вырашыце аперацыі перад злучальнікам
Першае рашэнне — што працоўнай нагрузцы дазволена рабіць, названае як аперацыі, а не як сеткавы дыяпазон. Для выпадку справаздач вузкі API справаздач можа задаволіць патрэбу, не даючы адміністраванне базы даных воблачнай працоўнай нагрузцы.
Аддзяляйце даныя, патрэбныя справаздачы, ад даных, якія проста дасягальныя. Запішыце дазволеныя аперацыі як канчатковыя пункты і дзеясловы ў тым жа дакуменце, што і рашэнне аб ідэнтычнасці. Гэтае размежаванне — розніца паміж інтэграцыяй, якая праходзіць аўдыт, і той, якую даводзіцца тлумачыць кожны год, і яно здымае спрэчкі потым без чарговай нарады.
Вырашыце ідэнтычнасць працоўнай нагрузкі і прызначце ёй уладальніка
Задачы без нагляду не могуць адказаць на запыт, таму каманды бяруць шырокі акаўнт чалавека і потым забываюць пра яго. Выкарыстоўвайце сэрвісны акаўнт або машынныя ўліковыя даныя, якія бэкенд сапраўды прымае, і запішыце, хто імі валодае, дзе яны захоўваюцца і як яны змяняюцца.
Тры ўмовы павінны схіліць рашэнне да выдзеленай ідэнтычнасці: задача выконваецца без чалавека побач, уліковыя даныя жывуць даўжэй за адно разгортванне, і больш за аднаго чалавека павінны ведаць пра іх існаванне. Калі ўсе тры слушныя, агульны чалавечы акаўнт — не хуткі шлях, а пастаяннае выключэнне, якое ніхто не можа чыста адклікаць.
Аддавайце перавагу ўліковым даным, якія платформа можа выдаць і змяніць для працоўнай нагрузкі, напрыклад токен ідэнтычнасці працоўнай нагрузкі, які правярае бэкенд, а не статычнай тайне, устаўленай у канфігурацыю. Статычныя тайны ў наладах праграмы — прычына таго, што змены ператвараюцца ў прастоі.
Вырашыце сеткавы ахоп, ведаючы, што гэта не дазвол
Укажыце, які бок ініцыюе злучэнне, падтрымоўваны транспарт і задзейнічаныя канчатковыя пункты. Трымайце праверкі ідэнтычнасці партнёра ўключанымі і пакідайце непатрэбныя прызначэнні бэкенда недасягальнымі, а не проста аб'яўленымі.
Вузкі маршрут тунэля — карысны ахоп, але ён не можа замяніць аўтарызацыю на ўзроўні аперацый. Бэкенд павінен выконваць кантракт праз свае ўласныя сродкі, бо сетка ахвотна перанясе любы запыт, які дасягае дасягальнага порта. Правярайце ўласныя ролі і дазволы бэкенда, а не табліцу маршрутаў. Маршрут, які дасягае сервера, усё адно пакідае рашэнне за серверам, і менавіта там кантракт або выконваецца, або ігнаруецца.
Люстэрка таксама слушнае: сапраўдныя ўліковыя даныя сэрвісу не апраўдваюць публікацыю слухача для кожнай крыніцы. Патрэбныя абодва сродкі, і ні адзін не замяняе іншы.
Вырашыце апрацоўку даных і падзел адказнасці
Запішыце, што пакідае асяроддзе кліента, дзе праграма гэта апрацоўвае, і рэальныя ўмовы захоўвання, рэзервовых копій, доступу і захавання. Захаванне — гэта частка, якую выяўляюць позна, звычайна калі хтосьці пытаецца, ці яшчэ існуе копія мінулага квартала ў бакеце, якога ніхто не дакументаваў.
Трымайце бакі адасобленымі. Аператар праграмы, пастаўшчык праграмнага забеспячэння і хост інфраструктуры могуць несці розную адказнасць, і мадэль сэрвісу вызначае, хто ёсць хто. Чытайце фактычнае пагадненне, а не мяркуйце, што ўсе трое маюць аднолькавы доступ або зусім яго не маюць.
Вырашыце збой, выдаленне і тое, як вы гэта прымеце
Прызначце адказнасць за выпадкі збою да таго, як яны адбудуцца. Калі злучальнік ламаецца або ёсць падазрэнне на кампраметацыю ідэнтычнасці, рэакцыя не павінна быць імправізаваным неабмежаваным сеткавым выключэннем, якое жыве даўжэй за інцыдэнт.
Выдаленне заслугоўвае такой жа дакладнасці, як і наладжванне. Вызначце, як адклікаецца аўтарызацыя, як актыўны доступ сканчаецца ў межах падтрымоўваных паводзін прадукту і што адбываецца з захаванымі копіямі, калі адносіны сканчаюцца.
Прымайце інтэграцыю з рэпрэзентатыўнымі дазволенымі аперацыямі і адмовамі, якіх патрабуе кантракт, усё пад меркаванай ідэнтычнасцю працоўнай нагрузкі. Пацвердзіце шлях запыту і фактычна дастаўленыя даныя, затым рэальна праверце замену ўліковых даных і выдаленне. Падключаны тунэль даказвае існаванне шляху; кантракт — гэта тое, што дае гэтаму шляху мяжу.